立体描画と処理
Wolfram言語は3Dデータ集合の立体描画と処理の組込みサポートを提供する.画素操作,局所フィルタリング,分割形態学的操作を含む多数の組込みの画像処理アルゴリズムを3Dデータ集合に適用することができる.
3Dデータは1つのファイルあるいは一連のファイルからインポートすることができる.通常スライスは2D画像のスタックとして保存され,それを組み合せて3D画像を生成することができる.3D画像は三次元または四次元のデータ配列から生成することもできる.ここで最初の3つの次元は,デフォルトでは3D画像のスライス,行,列に対応する.
Image3D | データの配列あるいは画像のスライスのリストから立体を生成する |
Import | ファイルからデータをインポートする |
RandomImage | 画素値の擬似乱数配列から立体を生成する |
データの四次元配列からマルチチャンネルのImage3Dを生成する:
TIFFファイルで保存された画像のスタックをImage3Dとしてインポートする:
立体の内部を表すには,3Dの立体の2Dスライスを表示すると便利である.Image3DSlicesは,指定された次元の立体の2Dスライスを抽出する.
Image3DSlices | 指定された次元で3Dデータ集合をスライスする |
ImageDimensions[image] | image に関連付けられたラスタの画素次元を与える |
ImageChannels[image] | image に対してデータに存在するチャンネル数を与える |
ImageColorSpace[image] | image に関連付けられた色空間を与える |
ImageType[image] | image の各画素要素に使われる値の型を与える |
ImageData[image] | image の画素値の配列 |
ImageMeasurements[image] | 画像データの測定 |
Options[symbol] | 記号に割り当てられたデフォルトオプションのリストを与える |
ColorFunction | データ値を色に変換する方法 |
ClipRange | ビューから長方形領域を切り取る |
Background | Image3Dオブジェクトの背景色 |
BoxRatios | 境界の3Dボックス比 |
ColorFunction(伝達関数)
立体描画では,伝達関数がボクセル値を対応する不透明度や色の値に変換する.Wolfram言語では,伝達関数はColorFunctionオプションを使って指定することができる.
ClipRange
立体の内部を見るためには,通常立体の一部を切り取らなければならない.ClipRangeオプションはビューから切り取る長方形を指定するのに使うことができる.
Background
BoxRatios
データが立方体のボクセルを示さない場合,立体を埋め込むボックスの比はBoxRatiosオプションを使って指定することができる.
データ埋込み
これを覚えるには,3D空間に本を置いた場合を考えるとよい.本のページは画像のスライス(上から下)に対応し,各ページ(画像のスライス)に対応するデータは行が後ろから前に,左から右に並ぶように配列される.
生成されたリストを3つの立方体構造に変形し,Image3Dオブジェクトを生成する:
指標座標
画像とデータ配列の両方に作用するWolfram言語コマンドは,指標座標系に従う.3Dではこれらのコマンドはまず,上から下に走る垂直のスライス座標を参照するパラメータをリストし,後ろから前の行座標をリストし,左から右の列座標をリストする.
画像座標
2つ目の座標系はデータに備わってはおらず,埋込み空間に付随している.Graphics3D座標系のような連続画像座標系は画像の下,左,前の角に原点があり, 座標は左から右に, 座標は前から後ろに, 座標は下から上に伸びている.画像領域は3Dの区間××をカバーする.
任意の配列に適用可能な画像処理コマンドは,標準的な画像座標に結果を描画する.これらの標準的な画像座標はGraphics3Dプリミティブで使うことができる.