|
Slicer 4.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
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
1.7.4