four_byte_image_pixel_dataset.h

00001 //--------------------------------------------------
00011 //---------------------------------------------------
00012 
00013 #ifndef IMEDGINE_FOUR_BYTE_PIXEL_IMAGE_DATASET_H
00014 #define IMEDGINE_FOUR_BYTE_PIXEL_IMAGE_DATASET_H
00015 
00016 #include "image_pixel_dataset.h"
00017 #include "../global/global_definitions.h"
00018 #include "dataset_definitions.h"
00019 
00020 #include <itkImage.h>
00021 
00022 namespace imedgine 
00023 {
00024 
00025   //--------------------------------------------------
00039   //--------------------------------------------------
00040   
00041   class FourByteImagePixelDataset : public ImagePixelDataset
00042   {
00043   protected:
00044     
00045     //--------------------------------------------------
00048     typedef four_byte_image_type image_type;
00049     
00050     //--------------------------------------------------
00053     typedef four_byte_image_pointer_type image_pointer_type;
00054     
00055     //--------------------------------------------------
00058     typedef const_four_byte_image_pointer_type const_image_pointer_type;
00059     
00060     //--------------------------------------------------
00063     typedef const_four_byte_image_iterator_type const_image_iterator_type;
00064     
00065     //--------------------------------------------------
00068     typedef four_byte_pixel_type pixel_type;
00069     
00070   public: 
00071     
00072     //--------------------------------------------------
00075     typedef image_type type;
00076   
00077     //--------------------------------------------------
00082     
00083     FourByteImagePixelDataset(dataset_key_type dataset_key, image_pointer_type image = 0);
00084     
00085     //--------------------------------------------------
00088     
00089     virtual ~FourByteImagePixelDataset();
00090     
00091     //--------------------------------------------------
00095       
00096     virtual external_data_pointer_type getData() const
00097         throw(NullPointerException);
00098     
00099     //--------------------------------------------------
00103     
00104     void setDataset(image_pointer_type dataset);
00105     
00106     //--------------------------------------------------
00111     
00112     image_pointer_type getDataset();
00113     
00114     //--------------------------------------------------
00119     
00120     const_image_pointer_type getDataset() const;
00121     
00122     //----------------------------------------------------
00127 
00128     virtual void setIntensity(double window, double level);
00129 
00130     //----------------------------------------------------
00134  
00135     virtual double getIntensityWindow() const
00136         throw(NullPointerException);
00137 
00138     //----------------------------------------------------
00142     
00143     virtual double getIntensityLevel() const
00144         throw(NullPointerException);
00145 
00146     
00147   protected:
00148     
00149     //--------------------------------------------------
00152     typedef image_type::RegionType region_type;
00153     
00154     //--------------------------------------------------
00157     typedef image_type::SizeType region_size_type;
00158 
00159     //--------------------------------------------------
00162     typedef image_type::IndexType region_index_type;
00163     
00164     //--------------------------------------------------
00167     typedef itk::IntensityWindowingImageFilter<image_type, external_image_type> 
00168         image_intensity_filter_type;
00169   
00170     //--------------------------------------------------
00173     
00174     FourByteImagePixelDataset(FourByteImagePixelDataset const& src);
00175     
00176     //--------------------------------------------------
00179     
00180     FourByteImagePixelDataset& operator = (FourByteImagePixelDataset const&) { return(*this); }
00181     
00182     //--------------------------------------------------
00186     
00187     void setDatasetInternal(image_pointer_type dataset);
00188     
00189     //--------------------------------------------------
00192     image_pointer_type dataset_;
00193     
00194     //--------------------------------------------------
00197     image_intensity_filter_type::Pointer image_intensity_filter_;
00198 
00199   };
00200 
00201 }
00202 
00203 #endif // IMEDGINEPIXELIMAGE_DATASET_H

Generated on Sun Aug 13 18:19:38 2006 for iMEDgine by  doxygen 1.4.6