Enum Class NIFTIIntent

java.lang.Object
java.lang.Enum<NIFTIIntent>
com.xinapse.multisliceimage.Analyze.NIFTIIntent
All Implemented Interfaces:
Serializable, Comparable<NIFTIIntent>, Constable

public enum NIFTIIntent extends Enum<NIFTIIntent>
This class represents the NIFTI intents.

For probability distributions, most distributions have a number of parameters, below denoted by p1, p2, and p3, and stored in:

  • intent_p1, intent_p2, intent_p3 if dataset doesn't have 5th dimension
  • image data array, if dataset does have 5th dimension
Functions to compute with many of the distributions below can be found in the CDF library from U Texas.

Formulas for and discussions of these distributions can be found in the following books. These references are abbreviated to [U, C1 and C2] in the documentation below.

  • [U] Univariate Discrete Distributions, NL Johnson, S Kotz, AW Kemp.
  • [C1] Continuous Univariate Distributions, vol. 1, NL Johnson, S Kotz, N Balakrishnan.
  • [C2] Continuous Univariate Distributions, vol. 2, NL Johnson, S Kotz, N Balakrishnan.
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    [C2, chap 25] Beta distribution (2 params): p1=a, p2=b.
    [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.
    [C1, chap 18] Chi distribution (1 param): p1 = DOF.
    [C1, chap 18] Chi-squared (1 param): p1 = DOF.
    [C2, chap 29] Noncentral chi-squared statistic (2 params):
    p1 = DOF, p2 = noncentrality parameter.
    [C2, chap 32] Correlation coefficient R (1 param):
    p1 = degrees of freedom;
    R/sqrt(1-R*R) is t-distributed with p1 DOF.
    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 must be DISPVECT
    - dim[5] must be the dimensionality of the displacment vector (e.g., 3 for spatial displacement, 2 for in-plane).
    This intent is specifically for displacements.
    To signify that the value at each voxel is an estimate of some parameter, set intent_code = NIFTI_INTENT_ESTIMATE.
    [C2, chap 22] Extreme value type I (2 params):
    p1 = location, p2 = scale
    cdf(x) = exp(-exp(-(x-p1)/p2)).
    [C2, chap 27] Fisher F statistic (2 params):
    p1 = numerator DOF,
    p2 = denominator DOF.
    [C2, chap 30] Noncentral F statistic (3 params):
    p1 = numerator DOF, p2 = denominator DOF,
    p3 = numerator noncentrality parameter.
    [C1, chap 17] Gamma distribution (2 params):
    p1 = shape, p2 = scale.
    Density(x) proportional to x^(p1-1) * exp(-p2*x).
    To store an M x N matrix at each voxel:
    - dataset must have a 5th dimension (dim[0]=5 and dim[5]>1)
    - intent must be 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] ...
    [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.
    To signify that the value at each voxel is an index into some set of labels, set intent_code = NIFTI_INTENT_LABEL.
    [C2, chap 24] Laplace distribution (2 params):
    p1 = location, p2 = scale.
    Density(x) proportional to exp(-abs(x-p1)/p2).
    [C2, chap 23] Logistic distribution (2 params):
    p1 = location, p2 = scale.
    Density(x) proportional to sech^2((x-p1)/(2*p2)).
    To signify that the value at each voxel is an index into the NeuroNames labels set, set intent_code = NIFTI_INTENT_NEURONAME.
    The default: no intention is indicated in the header.
    [C1, chap 13] Normal distribution (2 params):
    p1 = mean, p2 = standard deviation.
    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 must be 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").
    [U, chap 4] Poisson distribution (1 param): p1 = mean.
    Prob(x) = exp(-p1) * p1^x / x! , for x=0,1,2,....
    Data is a 'p-value' (no params).
    To signify that the vector value at each voxel is a quaternion:
    - dataset must have a 5th dimension
    - intent must be QUATERNION
    - dim[0] = 5
    - dim[5] = 4
    - datatype should be a floating point type.
    To store an NxN symmetric matrix at each voxel:
    - dataset must have a 5th dimension
    - intent must be 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.
    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 must be 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 INT)
    - the data values are indexes (0,1,...) into a pointset dataset.
    [C2, chap 28] Student t statistic (1 param): p1 = DOF.
    [C2, chap 31] Noncentral t statistic (2 params):
    p1 = DOF, p2 = noncentrality parameter.
    [C2, chap 26] Uniform distribution: p1 = lower end, p2 = upper end.
    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 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).
    This intent is for general vectors.
    [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.
    [C1, chap 13] Standard normal (0 params): Density = N(0,1).
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Indicates whether this NIFTIIntent is a statistic intent.
    static void
    main(String[] args)
    Run a self-test on the NIFTIIntent class.
    Returns a string describing this NIFTIIntent.
    Returns the enum constant of this class with the specified name.
    static NIFTIIntent[]
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • NONE

      public static final NIFTIIntent NONE
      The default: no intention is indicated in the header.
    • CORREL

      public static final NIFTIIntent CORREL
      [C2, chap 32] Correlation coefficient R (1 param):
      p1 = degrees of freedom;
      R/sqrt(1-R*R) is t-distributed with p1 DOF.
    • TTEST

      public static final NIFTIIntent TTEST
      [C2, chap 28] Student t statistic (1 param): p1 = DOF.
    • FTEST

      public static final NIFTIIntent FTEST
      [C2, chap 27] Fisher F statistic (2 params):
      p1 = numerator DOF,
      p2 = denominator DOF.
    • ZSCORE

      public static final NIFTIIntent ZSCORE
      [C1, chap 13] Standard normal (0 params): Density = N(0,1).
    • CHISQ

      public static final NIFTIIntent CHISQ
      [C1, chap 18] Chi-squared (1 param): p1 = DOF. Density(x) proportional to exp(-x/2) * x^(p1/2-1).
    • BETA

      public static final NIFTIIntent BETA
      [C2, chap 25] Beta distribution (2 params): p1=a, p2=b. Density(x) proportional to x^(a-1) * (1-x)^(b-1).
    • BINOM

      public static final NIFTIIntent 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

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

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

      public static final NIFTIIntent NORMAL
      [C1, chap 13] Normal distribution (2 params):
      p1 = mean, p2 = standard deviation.
    • FTEST_NONC

      public static final NIFTIIntent FTEST_NONC
      [C2, chap 30] Noncentral F statistic (3 params):
      p1 = numerator DOF, p2 = denominator DOF,
      p3 = numerator noncentrality parameter.
    • CHISQ_NONC

      public static final NIFTIIntent CHISQ_NONC
      [C2, chap 29] Noncentral chi-squared statistic (2 params):
      p1 = DOF, p2 = noncentrality parameter.
    • LOGISTIC

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

      public static final NIFTIIntent LAPLACE
      [C2, chap 24] Laplace distribution (2 params):
      p1 = location, p2 = scale.
      Density(x) proportional to exp(-abs(x-p1)/p2).
    • UNIFORM

      public static final NIFTIIntent UNIFORM
      [C2, chap 26] Uniform distribution: p1 = lower end, p2 = upper end.
    • TTEST_NONC

      public static final NIFTIIntent TTEST_NONC
      [C2, chap 31] Noncentral t statistic (2 params):
      p1 = DOF, p2 = noncentrality parameter.
    • WEIBULL

      public static final NIFTIIntent 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

      public static final NIFTIIntent 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

      public static final NIFTIIntent 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

      public static final NIFTIIntent EXTVAL
      [C2, chap 22] Extreme value type I (2 params):
      p1 = location, p2 = scale
      cdf(x) = exp(-exp(-(x-p1)/p2)).
    • PVAL

      public static final NIFTIIntent PVAL
      Data is a 'p-value' (no params).
    • ESTIMATE

      public static final NIFTIIntent 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

      public static final NIFTIIntent 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

      public static final NIFTIIntent NEURONAME
      To signify that the value at each voxel is an index into the NeuroNames labels set, set intent_code = NIFTI_INTENT_NEURONAME.
    • GENMATRIX

      public static final NIFTIIntent 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 must be 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

      public static final NIFTIIntent SYMMATRIX
      To store an NxN symmetric matrix at each voxel:
      - dataset must have a 5th dimension
      - intent must be 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

      public static final NIFTIIntent 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 must be DISPVECT
      - dim[5] must be the dimensionality of the displacment vector (e.g., 3 for spatial displacement, 2 for in-plane).
      This intent is specifically for displacements.
    • VECTOR

      public static final NIFTIIntent VECTOR
      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 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).
      This intent is for general vectors.
    • POINTSET

      public static final NIFTIIntent 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 must be 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

      public static final NIFTIIntent 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 must be 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 INT)
      - the data values are indexes (0,1,...) into a pointset dataset.
    • QUATERNION

      public static final NIFTIIntent QUATERNION
      To signify that the vector value at each voxel is a quaternion:
      - dataset must have a 5th dimension
      - intent must be QUATERNION
      - dim[0] = 5
      - dim[5] = 4
      - datatype should be a floating point type.
  • Method Details

    • values

      public static NIFTIIntent[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static NIFTIIntent valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • isStatistic

      public boolean isStatistic()
      Indicates whether this NIFTIIntent is a statistic intent.
      Returns:
      true if this is a statistic intent.
    • toString

      public String toString()
      Returns a string describing this NIFTIIntent.
      Overrides:
      toString in class Enum<NIFTIIntent>
      Returns:
      a string describing this NIFTIIntent.
    • main

      public static void main(String[] args)
      Run a self-test on the NIFTIIntent class.
      Parameters:
      args - ignored.