[][src]Enum nifti::typedef::Intent

#[repr(u16)]pub enum Intent {
    None,
    Correl,
    Ttest,
    Ftest,
    Zscore,
    Chisq,
    Beta,
    Binom,
    Gamma,
    Poisson,
    Normal,
    FtestNonc,
    ChisqNonc,
    Logistic,
    Laplace,
    Uniform,
    TtestNonc,
    Weibull,
    Chi,
    Invgauss,
    Extval,
    Pval,
    Logpval,
    Log10pval,
    Estimate,
    Label,
    Neuroname,
    Genmatrix,
    Symmatrix,
    Dispvect,
    Vector,
    Pointset,
    Triangle,
    Quaternion,
    Dimless,
    TimeSeries,
    NodeIndex,
    RgbVector,
    RgbaVector,
    Shape,
    FslFnirtDisplacementField,
    FslCubicSplineCoefficients,
    FslDctCoefficients,
    FslQuadraticSplineCoefficients,
    FslTopupCubicSplineCoefficients,
    FslTopupQuadraticSplineCoefficients,
    FslTopupField,
}

An enum type for representing a NIFTI intent code.

Variants

None

default: no intention is indicated in the header.

Correl

nifti1 intent codes, to describe intended meaning of dataset contents

Ttest

[C2, chap 28] Student t statistic (1 param): p1 = DOF.

Ftest

[C2, chap 27] Fisher F statistic (2 params): p1 = numerator DOF, p2 = denominator DOF.

Zscore

[C1, chap 13] Standard normal (0 params): Density = N(0,1).

Chisq

[C1, chap 18] Chi-squared (1 param): p1 = DOF. Density(x) proportional to exp(-x/2) * x^(p1/2-1).

Beta

[C2, chap 25] Beta distribution (2 params): p1=a, p2=b. Density(x) proportional to x^(a-1) * (1-x)^(b-1).

Binom

[U, chap 3] Binomial distribution (2 params): p1 = number of trials, p2 = probability per trial. Prob(x) = (p1 choose x) * p2^x * (1-p2)^(p1-x), for x=0,1,...,p1.

Gamma

[C1, chap 17] Gamma distribution (2 params): p1 = shape, p2 = scale. Density(x) proportional to x^(p1-1) * exp(-p2*x).

Poisson

[U, chap 4] Poisson distribution (1 param): p1 = mean. Prob(x) = exp(-p1) * p1^x / x! , for x=0,1,2,....

Normal

[C1, chap 13] Normal distribution (2 params): p1 = mean, p2 = standard deviation.

FtestNonc

[C2, chap 30] Noncentral F statistic (3 params): p1 = numerator DOF, p2 = denominator DOF, p3 = numerator noncentrality parameter.

ChisqNonc

[C2, chap 29] Noncentral chi-squared statistic (2 params): p1 = DOF, p2 = noncentrality parameter.

Logistic

[C2, chap 23] Logistic distribution (2 params): p1 = location, p2 = scale. Density(x) proportional to sech^2((x-p1)/(2*p2)).

Laplace

[C2, chap 24] Laplace distribution (2 params): p1 = location, p2 = scale. Density(x) proportional to exp(-abs(x-p1)/p2).

Uniform

[C2, chap 26] Uniform distribution: p1 = lower end, p2 = upper end.

TtestNonc

[C2, chap 31] Noncentral t statistic (2 params): p1 = DOF, p2 = noncentrality parameter.

Weibull

[C1, chap 21] Weibull distribution (3 params): p1 = location, p2 = scale, p3 = power. Density(x) proportional to ((x-p1)/p2)^(p3-1) * exp(-((x-p1)/p2)^p3) for x > p1.

Chi

[C1, chap 18] Chi distribution (1 param): p1 = DOF. Density(x) proportional to x^(p1-1) * exp(-x^2/2) for x > 0. p1 = 1 = 'half normal' distribution p1 = 2 = Rayleigh distribution p1 = 3 = Maxwell-Boltzmann distribution.

Invgauss

[C1, chap 15] Inverse Gaussian (2 params): p1 = mu, p2 = lambda Density(x) proportional to exp(-p2*(x-p1)^2/(2*p1^2*x)) / x^3 for x > 0.

Extval

[C2, chap 22] Extreme value type I (2 params): p1 = location, p2 = scale cdf(x) = exp(-exp(-(x-p1)/p2)).

Pval

Data is a 'p-value' (no params).

Logpval

Data is ln(p-value) (no params). To be safe, a program should compute p = exp(-abs(this_value)). The nifti_stats.c library returns this_value as positive, so that this_value = -log(p).

Log10pval

Data is log10(p-value) (no params). To be safe, a program should compute p = pow(10.,-abs(this_value)). The nifti_stats.c library returns this_value as positive, so that this_value = -log10(p).

Estimate

To signify that the value at each voxel is an estimate of some parameter, set intent_code = NIFTI_INTENT_ESTIMATE. The name of the parameter may be stored in intent_name.

Label

To signify that the value at each voxel is an index into some set of labels, set intent_code = NIFTI_INTENT_LABEL. The filename with the labels may stored in aux_file.

Neuroname

To signify that the value at each voxel is an index into the NeuroNames labels set, set intent_code = NIFTI_INTENT_NEURONAME.

Genmatrix

To store an M x N matrix at each voxel:

  • dataset must have a 5th dimension (dim[0]=5 and dim[5]>1)
  • intent_code must be NIFTI_INTENT_GENMATRIX
  • dim[5] must be M*N
  • intent_p1 must be M (in float format)
  • intent_p2 must be N (ditto)
  • the matrix values A[i][j] are stored in row-order:
    • A[0][0] A[0][1] ... A[0][N-1]
    • A[1][0] A[1][1] ... A[1][N-1]
    • etc., until
    • A[M-1][0] A[M-1][1] ... A[M-1][N-1]
Symmatrix

To store an NxN symmetric matrix at each voxel:

  • dataset must have a 5th dimension
  • intent_code must be NIFTI_INTENT_SYMMATRIX
  • dim[5] must be N*(N+1)/2
  • intent_p1 must be N (in float format)
  • the matrix values A[i][j] are stored in row-order:
    • A[0][0]
    • A[1][0] A[1][1]
    • A[2][0] A[2][1] A[2][2]
    • etc.: row-by-row
Dispvect

To signify that the vector value at each voxel is to be taken as a displacement field or vector:

  • dataset must have a 5th dimension
  • intent_code must be NIFTI_INTENT_DISPVECT
  • dim[5] must be the dimensionality of the displacment vector (e.g., 3 for spatial displacement, 2 for in-plane)

(specifically for displacements)

Vector

(for any other type of vector)

Pointset

To signify that the vector value at each voxel is really a spatial coordinate (e.g., the vertices or nodes of a surface mesh):

  • dataset must have a 5th dimension
  • intent_code must be NIFTI_INTENT_POINTSET
  • dim[0] = 5
  • dim[1] = number of points
  • dim[2] = dim[3] = dim[4] = 1
  • dim[5] must be the dimensionality of space (e.g., 3 => 3D space).
  • intent_name may describe the object these points come from (e.g., "pial", "gray/white" , "EEG", "MEG").
Triangle

To signify that the vector value at each voxel is really a triple of indexes (e.g., forming a triangle) from a pointset dataset:

  • dataset must have a 5th dimension
  • intent_code must be NIFTI_INTENT_TRIANGLE
  • dim[0] = 5
  • dim[1] = number of triangles
  • dim[2] = dim[3] = dim[4] = 1
  • dim[5] = 3
  • datatype should be an integer type (preferably NiftiType::Int32)
  • the data values are indexes (0,1,...) into a pointset dataset.
Quaternion

To signify that the vector value at each voxel is a quaternion:

  • dataset must have a 5th dimension
  • intent_code must be NIFTI_INTENT_QUATERNION
  • dim[0] = 5
  • dim[5] = 4
  • datatype should be a floating point type
Dimless

Dimensionless value - no params - although, as in _ESTIMATE the name of the parameter may be stored in intent_name.

TimeSeries

To signify that the value at each location is from a time series.

NodeIndex

To signify that the value at each location is a node index, from a complete surface dataset.

RgbVector

To signify that the vector value at each location is an RGB triplet, of whatever type.

  • dataset must have a 5th dimension
  • dim[0] = 5
  • dim[1] = number of nodes
  • dim[2] = dim[3] = dim[4] = 1
  • dim[5] = 3
RgbaVector

To signify that the vector value at each location is a 4 valued RGBA vector, of whatever type.

  • dataset must have a 5th dimension
  • dim[0] = 5
  • dim[1] = number of nodes
  • dim[2] = dim[3] = dim[4] = 1
  • dim[5] = 4
Shape

To signify that the value at each location is a shape value, such as the curvature.

FslFnirtDisplacementField

FSL FNIRT Displacement field.

FslCubicSplineCoefficients

FSL Cubic spline coefficients.

FslDctCoefficients

FSL Discrete cosine transform coefficients.

FslQuadraticSplineCoefficients

FSL Quadratic spline coefficients.

FslTopupCubicSplineCoefficients

FSL Topup cubic spline coefficients.

FslTopupQuadraticSplineCoefficients

FSL Topup quadratic spline coefficients.

FslTopupField

FSL Topup field.

Implementations

impl Intent[src]

pub fn is_statcode(self) -> bool[src]

Check whether this intent code is used for statistics.

Trait Implementations

impl Clone for Intent[src]

impl Copy for Intent[src]

impl Debug for Intent[src]

impl Eq for Intent[src]

impl FromPrimitive for Intent[src]

impl Hash for Intent[src]

impl PartialEq<Intent> for Intent[src]

impl StructuralEq for Intent[src]

impl StructuralPartialEq for Intent[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Scalar for T where
    T: PartialEq<T> + Copy + Any + Debug
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,