High level functions for operations on MRI scans
3D Volume information
Minc2.voxel_to_world — Function
voxel_to_world(grid::GridTransform)Extract voxel to world affine transform from a GridTransform
grid- GridTransform
voxel_to_world(grid::InverseGridTransform)Extract voxel to world affine transform from a InverseGridTransform
grid- InverseGridTransform
voxel_to_world(vol::Volume3D)Extract voxel to world affine transform from a Volume3D
Minc2.world_to_voxel — Function
world_to_voxel(grid::GridTransform)Extract world to voxel affine transform from a GridTransform
grid- GridTransform
world_to_voxel(grid::InverseGridTransform)Extract world to voxel affine transform from a InverseGridTransform
grid- InverseGridTransform
world_to_voxel(vol::Volume3D)Extract world to voxel affine transform from a Volume3D
Minc2.array — Function
array(grid::GridTransform)Extract underlying plain array
grid- GridTransform
array(grid::InverseGridTransform)Extract underlying plain array
grid- InverseGridTransform
array(vol::Volume3D)Extract underlying plain array
Minc2.history — Function
history(vol::Volume3D)Extract history metadata
File IO functions
Loading 3D volumes
Minc2.read_volume — Function
read_volume(fn::String; store::Type{T}=Float64)::Volume3D{T}Read Volume3D from minc file
fn- filenamestore- underlying array type
Minc2.read_nifti_volume — Function
read_nifti_volume(fn::AbstractString; store::Type{T}=Float64)::Volume3D{T}Read Volume3D from .nii or .nii.gz file
Saving 3D volumes
Minc2.save_volume — Function
save_volume(fn::AbstractString,
vol::Volume3D{T,N};
store::Type{S}=Float32,
history=nothing)Save Volume3D to minc file
fn- filenamevol- Volume3D to savestore- underlying MINC data type, to be used for storage
Minc2.save_nifti_volume — Function
save_nifti_volume(fn::AbstractString, vol::Volume3D{T};
store::Type{S}=Float32, history=nothing)Save Volume3D into .nii or .nii.gz file
Loading transformations
Minc2.read_transforms — Function
read_transforms(fname::String)::Vector{AnyTransform}Read transformations from .xfm file fname
Minc2.read_itk_nifti_transform — Function
read_itk_nifti_transform(fn::AbstractString;
store::Type{T}=Float32)::Minc2.GridTransform{Float64,T}Read ANTs style warp transform
Minc2.read_ants_transform — Function
read_ants_transform(fn::AbstractString; store::Type{T}=Float32)::Minc2.AnyTransformRead .txt and .nii(.nii.gz) transforms produces by ANTs
Saving transformations
Minc2.save_transforms — Function
save_transforms(fname::String,
xfm::Union{Vector{XFM}, XFM};
grid_store::Type{T}=Float32 ) where {T, XFM<:AnyTransform}Save transformations into .xfm file,
Arguments
fname: output file namexfm: vector of transformations to save, or a single transformationgrid_store: type of storage for grid files (default: Float32)
Minc2.save_itk_nifti_transform — Function
save_itk_nifti_transform(fn::AbstractString,
xfm::Minc2.GridTransform{Float64,T}; store::Type{S}=Float32)Write ANTs style warp transform
Minc2.save_itk_txt_transform — Function
save_itk_txt_transform(fn::AbstractString,
xfm::Minc2.AffineTransform{Float64})Write affine transform in ITK .txt format
3D Volume creation
Minc2.Volume3D — Type
Volume3D{T,N}An abstract 3D volume, could be vector field or volume with time dimension
Minc2.empty_volume_like — Function
empty_volume_like(
fn::String;
store::Type{T}=Float64, history=nothing)::Volume3D{T}Create an empty Volume3D
fn- filename of a minc file that is used for sampling informationstore- underlying array type
empty_volume_like(
vol::Volume3D{T1,N};
store::Type{T}=Float64,
history=nothing)Create an empty Volume3D
vol- Volume3D that is used for sampling informationstore- underlying array typehistory- minc history
Minc2.full_volume_like — Function
full_volume_like(
fn::String,
fill::T=zero(T);
store::Type{T}=Float64, history=nothing)::Volume3D{T}Create an empty Volume3D
fn- filename of a minc file that is used for sampling informationstore- underlying array type
full_volume_like(
vol::Volume3D{T1,N};
store::Type{T}=Float64,
history=nothing)Create an empty Volume3D
vol- Volume3D that is used for sampling informationstore- underlying array typehistory- minc history
3D Volume manipulations
Minc2.resample_volume — Function
resample_volume(
in_vol::Volume3D{T,3};
like::Union{Volume3D{O,3},Nothing}=nothing,
tfm::Union{Vector{XFM},XFM,Nothing}=nothing,
itfm::Union{Vector{XFM},XFM,Nothing}=nothing,
interp::I=nothing,
fill=0.0,
order=1,
ftol=1.0/80,
max_iter=10)::Volume3DResample Volume3D using transformation
in_vol- input Volume3Dlike- Volume3D that is used for sampling informationitfm- inverse of the transformation to apply (i.e from output to input)tfm- transformation to apply (i.e from output to input) (instead ofitfm)interp- interpolation methodfill- fill valueftol- tolerance, for inverse transformationsmax_iter- maximum number of iterations, for inverse transformations
Equivalent to mincresample minc command
Minc2.resample_volume! — Function
resample_volume!(in_vol::AbstractArray{T,3},
out_vol::AbstractArray{T,3},
v2w::AffineTransform{C},
w2v::AffineTransform{C},
itfm::Union{Vector{XFM},XFM};
interp::I=BSpline(Quadratic(Line(OnCell()))),
fill=0.0,
ftol=1.0/80,
max_iter=10)Resample 3D array using transformation
in_vol- input 3D arrayout_vol- output 3D arrayv2w- voxel to world affine transform in the output arrayw2v- world to voxel affine transform in the input arrayitfm- inverse of the transformation to apply (i.e from output to input)interp- interpolation methodfill- fill valueftol- tolerance, for inverse transformationsmax_iter- maximum number of iterations, for inverse transformations
resample_volume!(
in_vol::Volume3D{T,3},
out_vol::Volume3D{O,3};
tfm::Union{Vector{XFM},XFM,Nothing}=nothing,
itfm::Union{Vector{XFM},XFM,Nothing}=nothing,
interp::I=nothing,
fill=0.0,
order=nothing,
ftol=1.0/80,
max_iter=10)::Volume3D{O,3}Resample Volume3D using transformation
in_vol- input Volume3Dout_vol- output Volume3Ditfm- inverse of the transformation to apply (i.e from output to input)tfm- transformation to apply (i.e from output to input) (instead ofitfm)interp- interpolation methodfill- fill valueftol- tolerance, for inverse transformationsmax_iter- maximum number of iterations, for inverse transformations
Equivalent to mincresample minc command
Minc2.resample_grid — Function
resample_grid(
in_grid::Volume3D{T,4},
itfm::Union{Vector{XFM}, XFM};
like::Union{Nothing,Volume3D{L,4}}=nothing)::Volume3D{T,4}Resample Volume3D that contain 4D array, using transformation, assume 1st dimension is non spatial
in_grid- input Volume3D with 4D array describing vector fielditfm- inverse of the transformation to apply (i.e from output to input)like- Volume3D that is used for sampling information
Minc2.resample_grid! — Function
resample_grid!(
in_grid::Volume3D{T,4},
out_grid::Volume3D{T,4},
itfm::Union{Vector{XFM}, XFM}=nothing)::Volume3D{T,4}Resample Volume3D that contain 4D array, using transformation, assume 1st dimension is non spatial
in_grid- input Volume3D with 4D array describing vector fieldout_grid- output Volume3D with 4D array describing vector fielditfm- inverse of the transformation to apply (i.e from output to input)
Minc2.crop_volume — Function
crop_volume(in_vol::Volume3D{T,N},crop;
fill_val::T=zero(T))::Volume3D{T,N}Crop (or pad) a volume
in_vol- input Volume3Dcrop- crop specification for each direction, e.g.[(10,10),(20,20),(5,10)], negative values mean padding
3D Volume and geometrical transformation link
Minc2.calculate_jacobian — Function
calculate_jacobian(
tfm::Union{Vector{XFM},XFM};
like::Volume3D{T,3};
interp::I=BSpline(Quadratic(Line(OnCell()))),
ftol=1.0/80,
max_iter=10)::Volume3D{T,3}Calculate dense jacobian determinant field for an arbitrary transformation
tfm- transformation to useout_vol- output Volume3Dinterp- interpolation methodftol- tolerance, for inverse transformationsmax_iter- maximum number of iterations, for inverse transformations
Roughly equivalent to mincblob minc command
Minc2.calculate_jacobian! — Function
calculate_jacobian!(
tfm::Union{Vector{XFM},XFM},
out_vol::AbstractArray{T,3},
out_v2w::AffineTransform{C};
interp::I=BSpline(Quadratic(Line(OnCell()))),
ftol=1.0/80,
max_iter=10)Calculate dense jacobian determinant field for an arbitrary transformation
tfm- transformation to useout_vol- output 3D arrayout_v2w- voxel to world affine transform in the output arrayinterp- interpolation methodftol- tolerance, for inverse transformationsmax_iter- maximum number of iterations, for inverse transformations
Roughly equivalent to mincblob minc command
calculate_jacobian!(
tfm::Union{Vector{XFM},XFM},
out_vol::Volume3D{T,3};
interp::I=BSpline(Quadratic(Line(OnCell()))),
ftol=1.0/80,
max_iter=10)::Volume3D{T,3}Calculate dense jacobian determinant field for an arbitrary transformation
tfm- transformation to useout_vol- output Volume3Dinterp- interpolation methodftol- tolerance, for inverse transformationsmax_iter- maximum number of iterations, for inverse transformations
Roughly equivalent to mincblob minc command
Missing docstring for Minc2.GridTransform. Check Documenter's build log for details.
Missing docstring for Minc2.InverseGridTransform. Check Documenter's build log for details.
Minc2.tfm_to_grid — Function
tfm_to_grid(
tfm::Union{Vector{XFM}, XFM},
ref::G;
store::Type{T}=Float64,ftol=1.0/80,max_iter=10)::Volume3D{T,4}Convert arbitrary transformation into Volume3D with 4D array containing vector field
tfm- transformation to usev2w- voxel to world affine transform in the output arrayftol- tolerance, for inverse transformationsmax_iter- maximum number of iterations, for inverse transformations
Minc2.normalize_tfm — Function
normalize_tfm(tfm::Union{Vector{XFM}, XFM},
ref::G;
store::Type{T}=Float64,ftol=1.0/80,max_iter=10)::GridTransform{Float64,T}Convert arbitrary transformation into a single GridTransform
tfm- transformation to useref- GridTransform that is used for sampling informationstore- underlying array typeftol- tolerance, for inverse transformationsmax_iter- maximum number of iterations, for inverse transformations
normalize_tfm(tfm::Union{Vector{XFM}, XFM},
ref::G;
store::Type{T}=Float64,ftol=1.0/80,max_iter=10)::GridTransform{Float64,T}Convert arbitrary transformation into a single GridTransform
tfm- transformation to useref- Volume3D that is used for sampling informationstore- underlying array typeftol- tolerance, for inverse transformationsmax_iter- maximum number of iterations, for inverse transformations