Image3D

Image3D[data]

表示由阵列 data 给出的像素值组成的三维图像.

Image3D[{image1,image2,}]

从二维图像列表创建三维图像.

Image3D[obj,"type"]

创建具有指定数据类型的三维图像.

更多信息和选项

  • Image3D,亦称为体积图像或 3D 体积,是常规的三维体素网格,通常由 MRI 或 CT 扫描仪采集的 2D 图像序列生成.
  • Image3D 在笔记本中以渲染的立体形式显示.
  • Image3D[data] 中,默认情况下,三维分别对应于三维图像的切片(slice)、行和列. 切片从顶部到底部依次给出,行从后到前,列从左到右.
  • ImageDimensions{width,depth,height}Image3D 对象位于三维空间内,并满足下列条件:位于标准图像坐标系统的位置 {x,y,z} 上,x 位于从 0width 的范围内,y 位于从 0depth 的范围内,而 z 位于从 0 到 height 的范围内. 位置 {0,0,0} 对应于左下前角.
  • Image3D[{image1,image2,,imageheight}]ImageDimensions 值为 {width,depth,height},其中ImageDimensions[imagej] 对每个二维图像大小是 {width,depth},这些二维图像从顶部到底部依次存储在堆栈中. »
  • Image3D[data] 中,data 的每个元素可以指定任意数目的通道值.
  • data 的元素可以是下面之一:
  • v渲染为灰度级,从 0(黑) 到 1(白)
    {r,g,b}渲染为红、绿、蓝值,从 0 到 1
    {c1,c2,c3,}由等间距灰度表示的通道值
    color指定颜色
  • 输入数组 data 可以是 ListNumericArraySparseArray 等.
  • Image3D[data] 默认情况下允许任何范围的值,但是只显示位于 0 到 1 之间的值.
  • Image3D[data,"type"] 可用于创建指定数据类型的三维图像. Values in data 中的值通过舍入或裁剪强加给指定的类型. 默认情况下,假设 "Real32".
  • Possible settings for "type" include:
  • "Bit"整数 0 或者 1
    "Byte"整数从 0 到 255
    "Bit16"整数从 0 到 65535
    "Real32"单精度实数(32 位)
    "Real64"双精度实数(64 位)
  • Image3D[image,"type"] 可被用于在类型之间转换.
  • Image3D[{i1,i2,}] 把所有图像转换为输入图像中的最大类型.
  • Image3D[{i1,i2,},"type"] 把所有图像转换为指定类型.
  • Image3D 可以有下列选项:
  • ColorSpaceAutomatic对数据假设什么颜色空间
    ImageResolutionAutomatic当导出时使用的分辨率
    ImageSizeAutomatic立体图像的显示尺寸
    InterleavingTrue是否假定通道是交错的
    MagnificationAutomatic如何放大显示的立体图像
    MetaInformation{}和立体图像相关联的元信息
  • Image3D 也接受下列 Raster3D 选项:
  • ClipRangeNone从视窗剪掉一个矩形区域
    ColorFunction Automatic如何把数据值转化为颜色
    MethodAutomatic渲染彩色单元的选项
  • Image3D 也接受下列 Graphics3D 选项:
  • AlignmentPointCenter图形中要对齐的默认点
    AxesFalse是否绘制轴
    AxesEdgeAutomatic在哪条边上放置轴
    AxesLabelNone轴标签
    AxesOriginAutomatic轴该在哪里交叉
    AxesStyle{}指定轴样式的图形指令
    BackgroundNoneImage3D 的背景颜色
    BaselinePositionAutomatic如何对齐周围的文本基线
    BoxedFalse是否绘制边界框盒
    BoxRatiosAutomatic边界三维框盒比例
    BoxStyle{}框盒的样式规范
    ClipPlanesNone裁剪平面
    ClipPlanesStyleAutomatic裁剪平面的样式规范
    RotationAction"Fit"在交互式旋转后如何渲染
    SphericalRegionFalse是否使外接球恰好放入最终的显示区域内
    ViewAngleAutomatic视窗场的角度
    ViewCenterAutomatic在中心显示的点
    ViewMatrixAutomatic显式的变换矩阵
    ViewPoint{1.3,-2.4,2.}观察位置
    ViewRangeAll包含的查看距离的范围
    ViewVectorAutomatic模拟摄像头的位置和方向
    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,} 构成的三维数组.
  • 设置 Interleaving->False 下,Image3D[data,] 使用 data 是一个由每个通道的值组成的三维数组构成的列表 {v1,v2, }.
  • ImageSize 的显式设置确定了 Image3D 应该显示的绝对尺寸.
  • 设置 ImageSize->Automatic 下,三维图像应该显示的尺寸由 Magnification 的设置决定.
  • 设置 Magnification->m 指定 Image3D 中显示的每个三维像素按因子 m 放大.
  • 设置 Magnification->Automatic 下,尺寸较小的三维图像通常用较大的放大率显示,而尺寸较大的三维图像会被减小以适应可用的笔记本或者其他显示区域.
  • Image3D[Image3D[],opts] 实际上重设了 Image3D 的选项.
  • ImageDimensionsImageChannelsImageType 能找出三维图像的结构信息.
  • Image3D[Raster3D[]] 将一个 Raster3D 对象转化为三维图像.
  • LogPlusMean 这样的算术和统计运算可直接用于图像.
  • Image3DInformation 可包括以下属性:
  • "Channels"图像通道
    "ColorSpace"为数据假设的颜色空间
    "DataType"基本数据类型
    "ImageDimensions"像素维度
    "Interleaving"数据是否交错存储
    "Transparency"图像是否有透明 (alpha) 通道

背景

  • Image3D 为各种数字三维图像格式提供了统一的符号表示. 特别的,Image3D 对象包含了表示三维位图的值(或者值列表)的三维阵列. 三维图像经常出现在医疗成像、地理测绘以及科学可视化中.
  • 三维图像中的数据可能有各种不同的值,这取决于依据图像是否是黑白的、灰度的,RGB 的等等. Image3D 的前三维分别对应三维图像的切片、行和列. 切片从顶部到底部依次给出,行从后到前,而列从左到右.
  • Image3D 对象使用了一组被统称为立体渲染的技术来进行可视化,显示的是离散采样的三维数据值的投影. 对给定的包含常规体积网格的 Image3D,每个体积元素被称为体素且由单个值(或一组值)表示.
  • 在输出中,三维图像格式是作为图像(而不是作为值的三维阵列)的投影的图像. Image3D 对象可以用 Export 输出成各种标准图像格式,用 Import 则可以导入许多格式的图像为 Image3D 对象. 三维图像的切片可存储为单独的图像文件格式或存储为支持多帧图像的文件格式的各帧(例如 TIFF、DICOM 等等).
  • Image3D 应用于一组二维图像则可以创建三维图像. 函数 Show 可被用于把三维向量图形和 Image3D 对象组合在一起. Raster3D 图形表达式可被转换为三维图像,只要对它使用 Image3D 函数即可.
  • 三维图像的像素值阵列可用 ImageData 得到. ImageDimensions 会给出与 Image3D 对象相关的位图的像素尺寸. ImageType 会给出一个标签,表示三维图像内部每个像素使用的数的类型. ImageChannels 则会给出三维图像包含的通道数量.
  • Image3D 对象中有用的选项包括 ColorSpaceInterleavingImageSizeMagnification. 其它对三维渲染有用的选项包括 BoxRatiosColorFunctionColorFunctionScalingBackground.

范例

打开所有单元关闭所有单元

基本范例  (4)

从范围在 0 到 1 之间的数创建一个实值三维图像:

创建一个三通道三维图像:

从图像堆栈创建一个三维图像:

导入图像列表作为三维图像:

范围  (4)

创建三维图像  (2)

从三维区域创建:

从海拔地图创建三维立体:

算术和统计运算  (2)

把两个实体相乘以突出显示感兴趣的区域:

计算图像的统计量:

选项  (3)

Background  (1)

使用黑色作为立体渲染的背景:

BoxRatios  (1)

默认情况下 BoxRatios 被设置为三维立体的实际比率:

BoxRatios 设置为对象的比率:

ColorFunction  (1)

灰度级立体图形的默认渲染:

对于灰度级立体图形的渲染,通常使用具有线性透明度的灰色颜色函数:

使用具有常量透明度的灰色颜色函数:

使用某个预定义的颜色函数:

使用自定义颜色函数:

在完全不透明的颜色函数下,只有框型表面是可见的:

应用  (1)

通过在时间维度中模糊动画来显示运动模式:

将动画框架转换为 Image3D 对象:

对各个切片进行模糊处理以获得时间插值:

属性和关系  (2)

使用 Show 来合并三维向量图形和 Image3D 对象:

ArrayPlot3D 将数据显示为离散的元素:

可能存在的问题  (2)

把灰度级图像放入 Image3D 对象将改变整体可视性:

使用 GrayLevel 颜色函数来看到相似灰度数值:

当使用灰色颜色函数渲染二值图像时,白色背景并不合适:

使用黑色背景:

添加一个框将使三维对象的可见度更好:

巧妙范例  (3)

三维元胞自动机的演变:

生命游戏元胞自动机的演变:

离散二维元胞自动机的模糊演变,在连续域中扩散过程的追溯:

Wolfram Research (2012),Image3D,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Image3D.html (更新于 2019 年).

文本

Wolfram Research (2012),Image3D,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Image3D.html (更新于 2019 年).

CMS

Wolfram 语言. 2012. "Image3D." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2019. https://reference.wolfram.com/language/ref/Image3D.html.

APA

Wolfram 语言. (2012). Image3D. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Image3D.html 年

BibTeX

@misc{reference.wolfram_2024_image3d, author="Wolfram Research", title="{Image3D}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/Image3D.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_image3d, organization={Wolfram Research}, title={Image3D}, year={2019}, url={https://reference.wolfram.com/language/ref/Image3D.html}, note=[Accessed: 21-November-2024 ]}