Image3D
詳細とオプション
- Image3Dは,ボリューム画像あるいは3Dボリュームとしても知られるもので,MRIあるいはCTスキャンから取得した連続する2D画像からのボクセルの通常の3D格子である.
- Image3Dはノートブック中に描画された立体として表示される.
- Image3D[data]では,デフォルトで,最初の3つの次元がそれぞれ3D画像のスライス,行,列に相当する.スライスは上から下へ,行は後ろから前へ,列は左から右へ列挙される.
- ImageDimensionsが{width,depth,height}であるImage3Dオブジェクトは,標準的な画像の座標系で与えられる位置{x,y,z}で x が0から width まで,y が0から depth まで,z が0から height までになるように,3D空間に置かれる.位置{0,0,0}は左下前面のコーナーに相当する.
- Image3D[{image1,image2,…,imageheight}]は{width,depth,height}のImageDimensionsを持つ.ただし,ImageDimensions[imagej]は上から下に積み重ねられた各2D画像の{width,depth}である. »
- Image3D[data]では,data の各要素は任意数のチャンネルの値を指定することができる.
- data の要素は次のいずれか1つでよい.
-
v 0から1までのグレーレベル {r,g,b} 0から1までの赤,緑,青の値 {c1,c2,c3,…} 等間隔の色相で表されるチャンネル値 color 特定の色 - 入力配列 data は,List,NumericArray,SparseArray等で与えられる.
- Image3D[data]は,デフォルトで,任意の範囲の値を取ることができるが,表示するのは0から1までの値のみである.
- Image3D[data,"type"]を使って指定されたデータ型の3D画像を作ることができる.data の値は丸めや切り捨てによって強制的に指定された型にされる.デフォルトで,"Real32"が仮定される.
- "type"の可能な設定には以下がある.
-
"Bit" 0か1の整数 "Byte" 0から255までの整数 "Bit16" 0から65535までの整数 "Real32" 単精度実数(32ビット) "Real64" 倍精度実数(64ビット) - Image3D[image,"type"]を使って型を変換することができる.
- Image3D[{i1,i2,…}]はすべての画像を入力画像中の最大の型に変換する.
- Image3D[{i1,i2,…},"type"]はすべての画像を指定型に変換する.
- Image3Dのオプション
-
ColorSpace Automatic データにどの色空間を想定するか ImageResolution Automatic エキスポートする際に使用する解像度 ImageSize Automatic 立体を表示するときのデフォルトのサイズ Interleaving True チャンネルがインターリーブされていると想定するかどうか Magnification Automatic 表示された立体をどのように拡大するか MetaInformation {} 立体に関連付けられたメタ情報 - Image3Dには次のRaster3Dオプションを使うことができる.
-
ClipRange None ビューから矩形領域を切り取る ColorFunction Automatic データ値をどのように色に変換するか Method Automatic カラーセルの描画方法のオプション - Image3Dには次のGraphics3Dオプションも使うことができる.
-
AlignmentPoint Center 整列の基準となるグラフィックス内のデフォルトの点 Axes False 軸を描くかどうか AxesEdge Automatic 軸をどの辺に置くか AxesLabel None 軸のラベル AxesOrigin Automatic 軸がどこで交差すべきか AxesStyle {} 軸のスタイルを指定するグラフィックス指示子 Background None Image3Dの背景色 BaselinePosition Automatic 周囲のテキストのベースラインとどのように整列させるか Boxed False 境界ボックスを描くかどうか BoxRatios Automatic 3D境界ボックス比 BoxStyle {} ボックスのスタイル指定 ClipPlanes None 平面の切取り ClipPlanesStyle Automatic 平面切取りのスタイル指定 RotationAction "Fit" インタラクティブな回転の後でどのように描画するか SphericalRegion False 最終的な表示領域に外接球をフィットさせるかどうか ViewAngle Automatic 表示フィールドの角度 ViewCenter Automatic 中心に表示する点 ViewMatrix Automatic 明示的な変換行列 ViewPoint {1.3,-2.4,2.} 視点 ViewRange All 含むべき視距離の範囲 ViewVector Automatic 擬似カメラの位置と方向 ViewVertical {0,0,1} 垂直にする方向 - BoxRatios->{sx,sy,sz}と設定すると,Image3Dは指定された側長比のボックス内に描画される.
- ColorFunction->cf とすることで,各ボクセルの色と不透明度を指定することができる.Image3Dコンテキストメニュー(右クリック)でインタラクティブな色関数のエディタが表示される.
- ColorSpace->"space" はデータ中の値を特定の色空間の座標として解釈するように指定する.ColorSpace->Automaticは値を任意のチャンネル強度として扱う.
- ビット画像のColorSpaceは常にAutomaticに設定されている.
- ColorSpace->"RGB"と設定すると,{r,g,b,a}として与えられたデータは不透明度 a を含むと解釈される.
- デフォルト設定のInterleaving->Trueでは,Image3D[data,…]は data がチャンネル値のリスト{c1,c2,…}の3D配列であると解釈する.
- Interleaving->Falseとすると,Image3D[data,…]は data が各チャンネルの値の3D配列のリスト{v1,v2, …}であると解釈する.
- ImageSizeに明示的な値を設定すると,Image3Dを表示する際の絶対サイズが決まる.
- ImageSize->Automaticでは,3D画像が表示されるサイズはMagnificationの設定値で決まる.
- Magnification->m の設定は,表示されたImage3Dの各ボクセルが m 倍に拡大されるように指定する.
- Magnification->Automaticとすると,小さい3D画像は一般に大きい拡大率で表示され,大きい3D画像は使用中のノートブックあるいは他の表示エリアに収まるように縮小される.
- Image3D[Image3D[…],opts]は事実上Image3Dのオプションをリセットする.
- ImageDimensions,ImageChannels,ImageTypeで3D画像の構造についての情報を得ることができる.
- Image3D[Raster3D[…]]は,Raster3Dオブジェクトを3D画像に変換する.
- 直接画像に,Log,Plus,Mean等の算術および統計演算を使うことができる.
- Image3DについてのInformationは以下の特性を含むことがある.
-
"Channels" 画像チャンネルの数 "ColorSpace" データに仮定する色空間 "DataType" もとになっているデータタイプ "ImageDimensions" 画素次元 "Interleaving" データがインターリーブされて保存されているかどうか "Transparency" 画像に透明性(アルファ)チャンネルがあるかどうか
予備知識
- Image3Dは,さまざまなデジタル3D画像形式の統一された記号表現を提供する.特に,Image3Dオブジェクトには,3Dラスタ画像を表す値の三次元配列(または値のリスト)が含まれる.3D画像は,医療画像,地理的マッピング,科学的可視化等によく見られる.
- 3D画像内のデータは,画像がバイナリ画像か,グレースケールか,RGBか等によってさまざまな値を取る.Image3Dの最初の3つの次元は,それぞれスライス,行,列に相当する.スライスは上から下に,行は後ろから前に,列は左から右に列挙される.
- Image3Dオブジェクトは,離散的にサンプルを取られた3Dデータ値の投影を描画する,全体として立体描画として知られる技術の集合を使って可視化される.規則的な立体グリッドを持つImage3Dでは,各立体要素はボクセルとして知られ,単一の値(あるいは値のリスト)で表される.
- 出力では,3D画像は画像の投影図(値の3D配列ではない)としてフォーマットされる.Image3Dオブジェクトは,Exportを使ってさまざまな標準的画像形式にエキスポートすることができる.また,数多くのフォーマットの画像をImportを使ってImage3Dオブジェクトとしてインンポートすることができる.3D画像のスライスは,別々の画像ファイル形式として,あるいは複数のフレームをサポートするファイル形式(TIFF,DICOM等)の別々のフレームとして保存することができる.
- 2D画像のリストにImage3Dを適用すると3D画像が得られる.関数Showを使ってImage3Dオブジェクトを持つ3Dベクトル画像を組み合せることができる.Raster3Dグラフィックス式に関数Image3Dを適用し,これを3D画像に変換することもできることがある.
- 3D画像中の画素値の配列はImageDataを使って得ることができる.ImageDimensionsはImage3Dオブジェクトに関連するラスタの画素次元を与える.ImageTypeは,3D画像の各画素を内部的に表すために使われるナンバータイプを表すラベルを与える.ImageChannelsは3D画像が含むチャンネル数を与える.
- Image3Dオブジェクトで役に立つオプションには,ColorSpace,Interleaving,ImageSize.Magnificationがある.3D描画で役に立つオプションには,BoxRatios,ColorFunction,ColorFunctionScaling,Backgroundがある.
例題
すべて開く すべて閉じる例 (4)
Image3D[RandomReal[1, {5, 10, 10}]]Image3D[RandomReal[1, {5, 10, 10, 3}]]Image3D[{[image], [image], [image]}]Import["ExampleData/CTengine.tiff", "Image3D"]スコープ (4)
3D画像の作成 (2)
RegionImage[KnotData["Trefoil", "Region"]]everest = [image];
data = ImageData[ImageReflect[everest, Top -> Bottom]];
data3D = Map[# Table[UnitStep[50 # - k], {k, 50}]&, data, {-1}];Image3D[Reverse@Transpose[data3D, {3, 2, 1}], ColorFunction -> "DarkTerrainOpacity"]算術演算と統計演算 (2)
[image]×[image]i = Import["ExampleData/CTengine.tiff", "Image3D"]stats = {Total, Min, Max, Mean, Median, StandardDeviation};Dataset[AssociationThread[Text /@ stats -> Through[stats[i]]]]オプション (3)
Background (1)
BoxRatios (1)
ColorFunction (1)
engine = ExampleData[{"TestImage3D", "CTengine"}]グレースケールでの立体描画には,線形の不透明度のある灰色の色関数が一般に使われる:
Image3D[engine, ColorFunction -> "GrayLevelOpacity"]Image3D[engine, ColorFunction -> (GrayLevel[#, .005]&)]Labeled[Image3D[engine, ColorFunction -> #], #]& /@ {"XRay", "HighRange", "LowRange", "WhiteBlackOpacity", "SunsetColorsOpacity", "RainbowOpacity"}Image3D[engine, ColorFunction -> (Append[Blend[{LightBlue, Blue, Orange}, #], #]&)]完全に不透明な色関数を使うとボックスの表面しか見えなくなる:
Image3D[engine, ColorFunction -> GrayLevel]アプリケーション (1)
時間次元でアニメーションをぼかすことで,運動形式を表示する:
anim = {[image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image]};アニメーションのフレームをImage3Dオブジェクトに変換する:
image3D = Image3D[anim, ColorFunction -> "GrayLevelOpacity", BoxRatios -> {1, 1, 1 / 4}]Image3DSlices[Blur[image3D, {3, 0, 0}], {10}][[1]]特性と関係 (2)
Showを使って3DベクトルグラフィックスとImage3Dオブジェクトを組み合せる:
i = [image];
{w, d, h} = ImageDimensions[i];
s = 20;
Show[i, Graphics3D[{RGBColor[0, 0, 1, 0.2], Polygon[{{0, 0, s}, {0, d, s}, {w, d, s}, {w, 0, s}}]}]]ArrayPlot3Dはデータを離散要素として表示する:
ca = CellularAutomaton[
<|"GrowthCases" -> {1}, "Dimension" -> 3, "Neighborhood" -> 7|>, {{{{1}}}, 0}, {{{5}}}];{Image3D[ca], ArrayPlot3D[ca]}考えられる問題 (2)
グレースケールの画像をImage3Dオブジェクト内に置くと,全体的な見え方が変わる:
i = [image];Image3D[{i}]GrayLevel色関数を使って同じような灰色の値が見えるようにする:
Image3D[{i}, ColorFunction -> GrayLevel]白い背景は灰色の色関数でバイナリ画像を描画するのには不適である:
Image3D[DiskMatrix[{10, 10, 10}], "Bit", ColorFunction -> "GrayLevelOpacity"]Image3D[DiskMatrix[{10, 10, 10}], "Bit", ColorFunction -> "GrayLevelOpacity", Background -> Black]ボックスを加えることも3Dオブジェクトを見やすくすることに役立つ:
Image3D[DiskMatrix[{10, 10, 10}], "Bit", ColorFunction -> "GrayLevelOpacity", Background -> Black, Boxed -> True]おもしろい例題 (3)
Image3D[#, ImageSize -> 150] & /@
CellularAutomaton[{14, {2, 1}, {1, 1, 1}}, {{{{1}}}, 0}, 8]Image3D[CellularAutomaton[{224, {2, {{2, 2, 2}, {2, 1, 2}, {2, 2, 2}}}, {1, 1}}, {SeedRandom[1];RandomInteger[1, {15, 15}], 0}, 50]]連続領域での拡散過程を思わせる離散2Dセルオートマトンのぼやけた進化:
Blur[Image3D[CellularAutomaton[{52212111133224, {3, {{2, 2, 2}, {2, 1, 2}, {2, 2, 2}}}, {1, 1}}, {SeedRandom[1];RandomInteger[1, {15, 15}], 0}, 150], ImageSize -> 100], 3]関連するガイド
-
▪
- 3D画像 ▪
- 画像の処理と解析 ▪
- 画像の表現 ▪
- 画像の作成とインポート ▪
- 顕微鏡検査のための画像計算
テキスト
Wolfram Research (2012), Image3D, Wolfram言語関数, https://reference.wolfram.com/language/ref/Image3D.html (2019年に更新).
CMS
Wolfram Language. 2012. "Image3D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/Image3D.html.
APA
Wolfram Language. (2012). Image3D. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Image3D.html
BibTeX
@misc{reference.wolfram_2026_image3d, author="Wolfram Research", title="{Image3D}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/Image3D.html}", note=[Accessed: 01-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_image3d, organization={Wolfram Research}, title={Image3D}, year={2019}, url={https://reference.wolfram.com/language/ref/Image3D.html}, note=[Accessed: 01-November-2026]}