Slicer 4.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
dtitypes.h
Go to the documentation of this file.
00001 // Copied from dtiprocess
00002 // available there: http://www.nitrc.org/projects/dtiprocess/
00003 /*=========================================================================
00004 
00005   Program:   NeuroLib (DTI command line tools)
00006   Language:  C++
00007   Date:      $Date: 2010/03/09 18:01:02 $
00008   Version:   $Revision: 1.2 $
00009   Author:    Casey Goodlett (gcasey@sci.utah.edu)
00010 
00011   Copyright (c)  Casey Goodlett. All rights reserved.
00012   See NeuroLibCopyright.txt or http://www.ia.unc.edu/dev/Copyright.htm for details.
00013 
00014      This software is distributed WITHOUT ANY WARRANTY; without even
00015      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00016      PURPOSE.  See the above copyright notices for more information.
00017 
00018 =========================================================================*/
00019 
00020 #ifndef DTITYPES_H
00021 #define DTITYPES_H
00022 
00023 // ITK Data types
00024 #include <itkImage.h>
00025 #include <itkVectorContainer.h>
00026 #include <itkVector.h>
00027 #include <itkCovariantVector.h>
00028 #include <itkDiffusionTensor3D.h>
00029 #include <itkAffineTransform.h>
00030 #include <itkDTITubeSpatialObject.h>
00031 #include <itkGroupSpatialObject.h>
00032 #include <itkRGBPixel.h>
00033 #include <itkVectorImage.h>
00034 
00035 // VNL Includes
00036 #include <vnl/vnl_matrix.h>
00037 #include <vnl/vnl_vector_fixed.h>
00038 
00039 // Define necessary types for images
00040 typedef double        RealType;
00041 typedef double        TransformRealType;
00042 typedef unsigned char LabelType;
00043 const unsigned int DIM = 3;
00044 
00045 typedef unsigned short                  ScalarPixelType;
00046 typedef itk::DiffusionTensor3D<double>  TensorPixelType;
00047 typedef itk::Vector<double, 3>          DeformationPixelType;
00048 typedef itk::CovariantVector<double, 3> GradientPixelType;
00049 
00050 typedef itk::VectorImage<ScalarPixelType, DIM> VectorImageType;
00051 typedef itk::Image<TensorPixelType, DIM>       TensorImageType;
00052 
00053 typedef itk::Image<DeformationPixelType, DIM> DeformationImageType;
00054 typedef itk::Image<GradientPixelType, DIM>    GradientImageType;
00055 
00056 typedef itk::Image<RealType, DIM>                   RealImageType;
00057 typedef itk::Image<ScalarPixelType, DIM>            IntImageType;
00058 typedef itk::Image<LabelType, DIM>                  LabelImageType;
00059 typedef itk::Image<itk::RGBPixel<unsigned char>, 3> RGBImageType;
00060 
00061 typedef TensorImageType::SizeType    ImageSizeType;
00062 typedef TensorImageType::SpacingType ImageSpacingType;
00063 
00064 typedef itk::AffineTransform<TransformRealType, 3> AffineTransformType;
00065 
00066 typedef vnl_vector_fixed<double, 3>                      GradientType;
00067 typedef itk::VectorContainer<unsigned int, GradientType> GradientListType;
00068 
00069 // enum InterpolationType {NearestNeighbor, Linear, Cubic};
00070 // enum TensorReorientationType {FiniteStrain, PreservationPrincipalDirection};
00071 
00072 // enum EigenValueIndex {Lambda1 = 0, Lambda2, Lambda3};
00073 
00074 // typedef itk::DTITubeSpatialObject<3> DTITubeType;
00075 // typedef DTITubeType::TubePointType DTIPointType;
00076 // typedef DTITubeType::PointListType DTIPointListType;
00077 
00078 // typedef itk::GroupSpatialObject<3> GroupType;
00079 // typedef GroupType::ChildrenListType ChildrenListType;
00080 
00081 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines