Engee 文档

卷数

该页面正在翻译中。

volume(volume_data)
volume(x, y, z, volume_data)

用可选的物理尺寸绘制体积 x,y,z. 可用的算法有:

  • :iso =>IsoValue

  • :吸收 =>吸收

  • :mip [医]最大值

  • :吸收率 =>吸收rgba

  • :添加剂 =>AdditiveRGBA

  • :索引吸收 [医]索引

绘图类型

绘图类型别名 卷数 功能是 卷数.

例子:

基于值的算法(:吸收,:mip,:iso,计数器)

基于值的算法示例使用卷数据中的值对颜色表进行采样。 </无翻译>

using GLMakie
r = LinRange(-1, 1, 100)
cube = [(x.^2 + y.^2 + z.^2) for x = r, y = r, z = r]
contour(cube, alpha=0.5)
2a2d4c9

</无翻译>

cube_with_holes = cube .* (cube .> 1.4)
volume(cube_with_holes, algorithm = :iso, isorange = 0.05, isovalue = 1.7)
6a19753

</无翻译>

using GLMakie
using NIfTI
brain = niread(Makie.assetpath("brain.nii.gz")).raw
mini, maxi = extrema(brain)
normed = Float32.((brain .- mini) ./ (maxi - mini))

fig = Figure(size=(1000, 450))
# Make a colormap, with the first value being transparent
colormap = to_colormap(:plasma)
colormap[1] = RGBAf(0,0,0,0)
volume(fig[1, 1], normed, algorithm = :absorption, absorption=4f0, colormap=colormap, axis=(type=Axis3, title = "Absorption"))
volume(fig[1, 2], normed, algorithm = :mip, colormap=colormap, axis=(type=Axis3, title="Maximum Intensity Projection"))
fig
d26068e

RGB(A)算法(:absorptionrgba,:additive)

RGBA算法直接从给定的体积数据中采样颜色. 如果数据包含的维度少于4个,则剩下的维度将填充为绿色和蓝色通道的0,填充为alpha通道的1。 </无翻译>

using GLMakie
using LinearAlgebra
# Signed distance field for a chain Link (generates distance values from the
# surface of the shape with negative values being inside)
# based on https://iquilezles.org/articles/distfunctions/ "Link"
# (x,y,z) sample position, length between ends, shape radius, tube radius
function sdf(x, y, z, le, r1, r2)
    x, y, z = Vec3f(x, max(abs(y) - le, 0.0), z);
    return norm(Vec2f(sqrt(x*x + y*y) - r1, z)) - r2;
end

r = range(-5, 5, length=31)
data = map([(x,y,z) for x in r, y in r, z in r]) do (x,y,z)
    r = max(-sdf(x,y,z, 1.5, 2, 1), 0)
    g = max(-sdf(y,z,x, 1.5, 2, 1), 0)
    b = max(-sdf(z,x,y, 1.5, 2, 1), 0)
    # RGBAf(1+r, 1+g, 1+b, max(r, g, b) - 0.1)
    RGBAf(r, g, b, max(r, g, b))
end

f = Figure(backgroundcolor = :black, size = (700, 400))
volume(f[1, 1], data, algorithm = :absorptionrgba, absorption = 20)
volume(f[1, 2], data, algorithm = :additive)
f
f2f5a5b

索引算法(:indexedabsorption)

索引算法将从卷数据读取的值解释为颜色表中的索引。 如此有效地读取 idx=round(Int,get(data,sample_pos)) 及用途 颜色表[idx] 作为样品的颜色。 请注意,您仍然可以在这里使用float数据,并且没有 插值=错误 它将被插值。 </无翻译>

using GLMakie
r = -5:5
data = map([(x,y,z) for x in r, y in r, z in r]) do (x,y,z)
    1 + min(abs(x), abs(y), abs(z))
end
colormap = [:red, :transparent, :transparent, RGBAf(0,1,0,0.5), :transparent, :blue]
volume(data, algorithm = :indexedabsorption, colormap = colormap,
    interpolate = false, absorption = 5)
a1b93a3

属性

吸收;吸收

默认值为 1.0

算法的吸收乘数=:absorption,:absorptionrgba和:indexedabsorption。 这改变了每个体素吸收多少光。

算法

默认值为 :mip

设置所使用的音量算法。 可用的算法有:

  • :iso:显示给定浮点数据内的isovalue曲面。 对于这个只有样品内 isovalue-isorange。. isovalue+isorange 都包括在一个像素的最终颜色中。

  • :吸收:根据从体积数据中采样的浮点数值累积颜色。 在每个射线步骤(从正面开始),从体积数据中采样一个值,然后用于对颜色表进行采样。 所得到的颜色由射线步长加权并混合先前累积的颜色。 每个步骤的重量可以用乘法器调整 吸收;吸收 属性。

  • :mip:显示给定浮点数据的最大强度投影。 这从从各自射线采样的最大值导出像素的颜色。

  • :吸收率:此算法匹配:吸收,但直接从RGBA体积数据采样颜色。 对于每个射线步长,从数据中采样颜色,按射线步长加权并与先前累积的颜色混合。 还考虑 吸收;吸收.

  • :添加剂:累积颜色使用 accumulated_color=1-(1-accumulated_color)*(1-sampled_color) 哪里 采样颜色 是当前射线步骤处的体积数据的样本。

  • :索引吸收:此算法的作用与:吸收相同,但将体积数据解释为指数。 它们被用作颜色表的直接索引。 还考虑 吸收;吸收.

阿尔法

默认值为 1.0

Colormap或color属性的alpha值。 多个阿尔法像在 图(alpha=0.2,颜色=(:红色,0.5),会成倍增加。

背光源

默认值为 0.0

为具有倒法线的二次光计算设置权重。

夹式飞机

默认值为 自动的

剪辑平面提供了一种在3D空间中进行剪辑的方法。 您可以设置最多8个向量 平面3f 飞机在这里,后面的情节将被裁剪(即变得不可见)。 默认情况下,剪辑平面继承自父绘图或场景。 您可以删除父 夹式飞机 通过传递 平面3f[].

颜色表

默认值为 @继承colormap:viridis

设置为数字采样的颜色表 颜色s. PlotUtils.cgrad(。..), 麦琪反向(any_colormap) 也可以使用,或者来自ColorBrewer或PlotUtils的任何符号。 要查看所有可用的颜色渐变,您可以调用 麦琪可用_gradients().

颜色变化

默认值为 自动的

表示的开始点和结束点的值 颜色表.

色阶;色阶

默认值为 身份认同

的颜色变换功能。 可以是任何函数,但只能与 颜色栏身份认同, 日志, 日志2, 日志10, sqrt,sqrt, 罗吉特, 麦琪伪科学10麦琪符号10.

depth_换档

默认值为 0.0

在所有其他变换之后(即在剪辑空间中)调整绘图的深度值,其中 0<=深度<=1. 这仅适用于GLMakie和WGLMakie,可用于调整渲染顺序(如可调谐透绘)。

弥漫性;弥漫性

默认值为 1.0

设置红色、绿色和蓝色通道对漫射(散射)光的反应强度。

enable_depth

默认值为 真的

启用深度写入:iso,以便卷正确地遮挡其他对象.

外汇管理局

默认值为 真的

调整是否使用fxaa(抗锯齿,仅限GLMakie)渲染绘图。

海克利普

默认值为 自动的

Colorrange上方任何值的颜色。

可检查的

默认值为 @继承inspectable

设置此图是否应由 数据探测仪. 默认值取决于父场景的主题。

检查员-检查员

默认值为 自动的

设置回调函数 (检查员,情节)->。.. 用于清理DataInspector中的自定义指标。

检查员-检查员

默认值为 自动的

设置回调函数 (检查员,情节,索引)->。.. 它取代了默认值 显示_数据 方法。

检查器_label

默认值为 自动的

设置回调函数 (绘图、索引、位置)->字符串 它替换了DataInspector生成的默认标签。

插值,插值

默认值为 真的

设置是否应使用插值对体积数据进行采样。

isorange,isorange

默认值为 0.05

为:iso算法设置距isovalue的最大接受距离。 接受=isovalue-isorange<值<isovalue+isorange

依索瓦卢

默认值为 0.5

设置:iso算法的目标值。 接受=isovalue-isorange<值<isovalue+isorange

低频,低频

默认值为 自动的

Colorrange以下任何值的颜色。

材料

默认值为 什么都没有

RPRMakie只属性设置复杂的RadeonProRender材料. Warning,如何设置RPR材质可能会发生变化,其他后端会忽略此属性

模型

默认值为 自动的

为绘图设置模型矩阵。 这将复盖使用 翻译!, 旋转!规模!.

纳米色

默认值为 :透明

NaN值的颜色。

透支

默认值为 错误

控制绘图是否将绘制在其他绘图上。 这具体意味着忽略GL后端中的深度检查

底纹/底纹

默认值为 自动的

设置使用的照明算法。 选项是 NoShading (无照明), 快装,快装 (AmbientLight+PointLight)或 MultiLightShading (多个灯,仅GLMakie)。 请注意,这不会影响RPRMakie。

光泽,光泽

默认值为 32.0

设置反射的清晰度。

空间

默认值为 :数据

设置包含情节的盒子的变换空间。 见 麦琪空间() 供可能的输入。

镜面,镜面

默认值为 0.2

设置对象在红色、绿色和蓝色通道中反射光线的强度。

ssao

默认值为 错误

调整是否使用ssao(屏幕空间环境光遮蔽)渲染绘图。 请注意,这仅在3D绘图中有意义,并且仅适用于 fxaa=真.

转型

默认值为 :自动

没有可用的文档。

透明度

默认值为 错误

调整情节处理透明度的方式。 在GLMakie 透明度=真 导致使用顺序独立的透明度。

可见

默认值为 真的

控制是否渲染绘图。