volume
volume(volume_data)
volume(x, y, z, volume_data)
Plots a volume, with optional physical dimensions
x, y, z
. Available algorithms are:
-
:iso=> IsoValue -
:absorption=> Absorption -
:mip=> MaximumIntensityProjection -
:absorptionrgba=> AbsorptionRGBA -
:additive=> AdditiveRGBA -
:indexedabsorption=> IndexedAbsorptionRGBA
Attributes
Specific to
Volume
-
algorithm::Union{Symbol, RaymarchAlgorithm} = :mipsets the volume algorithm that is used. -
isorange::Real = 0.05sets the range of values picked up by the IsoValue algorithm. -
isovalue = 0.5sets the target value for the IsoValue algorithm.
Generic
-
visible::Bool = truesets whether the plot will be rendered or not. -
overdraw::Bool = falsesets whether the plot will draw over other plots. This specifically means ignoring depth checks in GL backends. -
transparency::Bool = falseadjusts how the plot deals with transparency. In GLMakietransparency = trueresults in using Order Independent Transparency. -
fxaa::Bool = trueadjusts whether the plot is rendered with fxaa (anti-aliasing). -
inspectable::Bool = truesets whether this plot should be seen byDataInspector. -
depth_shift::Float32 = 0f0adjusts the depth value of a plot after all other transformations, i.e. in clip space, where0 <= depth <= 1. This only applies to GLMakie and WGLMakie and can be used to adjust render order (like a tunable overdraw). -
model::Makie.Mat4fsets a model matrix for the plot. This replaces adjustments made withtranslate!,rotate!andscale!. -
colormap::Union{Symbol, Vector{<:Colorant}} = :viridissets the colormap that is sampled for numericcolors. -
colorrange::Tuple{<:Real, <:Real}sets the values representing the start and end points ofcolormap. -
nan_color::Union{Symbol, <:Colorant} = RGBAf(0,0,0,0)sets a replacement color forcolor = NaN. -
space::Symbol = :datasets the transformation space for box encompassing the volume plot. SeeMakie.spaces()for possible inputs.
Generic 3D
-
shading = trueenables lighting. -
diffuse::Vec3f = Vec3f(0.4)sets how strongly the red, green and blue channel react to diffuse (scattered) light. -
specular::Vec3f = Vec3f(0.2)sets how strongly the object reflects light in the red, green and blue channels. -
shininess::Real = 32.0sets how sharp the reflection is. -
ssao::Bool = falseadjusts whether the plot is rendered with ssao (screen space ambient occlusion). Note that this only makes sense in 3D plots and is only applicable withfxaa = true.
Examples
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)
cube_with_holes = cube .* (cube .> 1.4)
volume(cube_with_holes, algorithm = :iso, isorange = 0.05, isovalue = 1.7)
using NIfTI
brain = niread(Makie.assetpath("brain.nii.gz")).raw
mini, maxi = extrema(brain)
normed = Float32.((brain .- mini) ./ (maxi - mini))
fig = Figure(resolution=(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
These docs were autogenerated using Makie: v0.18.4, GLMakie: v0.7.4, CairoMakie: v0.9.4, WGLMakie: v0.7.4