00001 //-------------------------------------------------- 00012 //-------------------------------------------------- 00013 00014 #ifndef DATASET_DEFINITIONS_H__ 00015 #define DATASET_DEFINITIONS_H__ 00016 00017 #include "../global/global_definitions.h" 00018 00019 #include <itkImage.h> 00020 #include <itkImageRegionIterator.h> 00021 #include <itkImageRegionConstIterator.h> 00022 00023 #include <boost/shared_ptr.hpp> 00024 00025 namespace imedgine 00026 { 00027 class PixelDataset; 00028 class ImagePixelDataset; 00029 class VolumePixelDataset; 00030 class OneByteImagePixelDataset; 00031 class TwoByteImagePixelDataset; 00032 class FourByteImagePixelDataset; 00033 class OneByteVolumePixelDataset; 00034 class TwoByteVolumePixelDataset; 00035 class FourByteVolumePixelDataset; 00036 00037 typedef boost::shared_ptr<PixelDataset> pixel_dataset_pointer_type; 00038 typedef boost::shared_ptr<ImagePixelDataset> image_pixel_dataset_pointer_type; 00039 typedef boost::shared_ptr<VolumePixelDataset> volume_pixel_dataset_pointer_type; 00040 typedef boost::shared_ptr<OneByteImagePixelDataset> one_byte_image_pixel_dataset_pointer_type; 00041 typedef boost::shared_ptr<TwoByteImagePixelDataset> two_byte_image_pixel_dataset_pointer_type; 00042 typedef boost::shared_ptr<FourByteImagePixelDataset> four_byte_image_pixel_dataset_pointer_type; 00043 typedef boost::shared_ptr<OneByteVolumePixelDataset> one_byte_volume_pixel_dataset_pointer_type; 00044 typedef boost::shared_ptr<TwoByteVolumePixelDataset> two_byte_volume_pixel_dataset_pointer_type; 00045 typedef boost::shared_ptr<FourByteVolumePixelDataset> four_byte_volume_pixel_dataset_pointer_type; 00046 00047 typedef unsigned char one_byte_pixel_type; 00048 typedef signed short two_byte_pixel_type; 00049 typedef float four_byte_pixel_type; 00050 00051 typedef itk::Image<external_pixel_type, 2> external_image_type; 00052 typedef itk::Image<one_byte_pixel_type, 2> one_byte_image_type; 00053 typedef itk::Image<two_byte_pixel_type, 2> two_byte_image_type; 00054 typedef itk::Image<four_byte_pixel_type, 2> four_byte_image_type; 00055 00056 typedef one_byte_image_type::Pointer one_byte_image_pointer_type; 00057 typedef one_byte_image_type::Pointer const const_one_byte_image_pointer_type; 00058 typedef itk::ImageRegionIterator<one_byte_image_type> one_byte_image_iterator_type; 00059 typedef itk::ImageRegionConstIterator<one_byte_image_type> const_one_byte_image_iterator_type; 00060 00061 typedef two_byte_image_type::Pointer two_byte_image_pointer_type; 00062 typedef two_byte_image_type::Pointer const const_two_byte_image_pointer_type; 00063 typedef itk::ImageRegionIterator<two_byte_image_type> two_byte_image_iterator_type; 00064 typedef itk::ImageRegionConstIterator<two_byte_image_type> const_two_byte_image_iterator_type; 00065 00066 typedef four_byte_image_type::Pointer four_byte_image_pointer_type; 00067 typedef four_byte_image_type::Pointer const const_four_byte_image_pointer_type; 00068 typedef itk::ImageRegionIterator<four_byte_image_type> four_byte_image_iterator_type; 00069 typedef itk::ImageRegionConstIterator<four_byte_image_type> const_four_byte_image_iterator_type; 00070 00071 typedef itk::Image<one_byte_pixel_type, 3> one_byte_volume_type; 00072 typedef itk::Image<two_byte_pixel_type, 3> two_byte_volume_type; 00073 typedef itk::Image<four_byte_pixel_type, 3> four_byte_volume_type; 00074 typedef itk::Image<external_pixel_type, 3> external_volume_type; 00075 00076 typedef external_volume_type::Pointer external_volume_pointer_type; 00077 00078 typedef one_byte_volume_type::Pointer one_byte_volume_pointer_type; 00079 typedef one_byte_volume_type::Pointer const const_one_byte_volume_pointer_type; 00080 typedef itk::ImageRegionIterator<one_byte_volume_type> one_byte_volume_iterator_type; 00081 typedef itk::ImageRegionConstIterator<one_byte_volume_type> const_one_byte_volume_iterator_type; 00082 00083 typedef two_byte_volume_type::Pointer two_byte_volume_pointer_type; 00084 typedef two_byte_volume_type::Pointer const const_two_byte_volume_pointer_type; 00085 typedef itk::ImageRegionIterator<two_byte_volume_type> two_byte_volume_iterator_type; 00086 typedef itk::ImageRegionConstIterator<two_byte_volume_type> const_two_byte_volume_iterator_type; 00087 00088 typedef four_byte_volume_type::Pointer four_byte_volume_pointer_type; 00089 typedef four_byte_volume_type::Pointer const const_four_byte_volume_pointer_type; 00090 typedef itk::ImageRegionIterator<four_byte_volume_type> four_byte_volume_iterator_type; 00091 typedef itk::ImageRegionConstIterator<four_byte_volume_type> const_four_byte_volume_iterator_type; 00092 } 00093 00094 #endif // GLOBAL_DEFINITIONS_H__