two_byte_image_pixel_dataset.h

Go to the documentation of this file.
00001 //--------------------------------------------------
00011 //---------------------------------------------------
00012 
00013 #ifndef IMEDGINE_TWO_BYTE_PIXEL_IMAGE_DATASET_H
00014 #define IMEDGINE_TWO_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   //--------------------------------------------------
00040   //--------------------------------------------------
00041   
00042   class TwoByteImagePixelDataset : public ImagePixelDataset
00043   {
00044   protected:
00045     
00046     //--------------------------------------------------
00049     typedef two_byte_image_type image_type;
00050     
00051     //--------------------------------------------------
00054     typedef two_byte_image_pointer_type image_pointer_type;
00055     
00056     //--------------------------------------------------
00059     typedef const_two_byte_image_pointer_type const_image_pointer_type;
00060     
00061     //--------------------------------------------------
00064     typedef const_two_byte_image_iterator_type const_image_iterator_type;
00065     
00066     //--------------------------------------------------
00069     typedef two_byte_pixel_type pixel_type;
00070     
00071   public: 
00072     
00073     //--------------------------------------------------
00076     typedef image_type type;
00077   
00078     //--------------------------------------------------
00083     
00084     TwoByteImagePixelDataset(dataset_key_type dataset_key, image_pointer_type image = 0);
00085     
00086     //--------------------------------------------------
00089     
00090     virtual ~TwoByteImagePixelDataset();
00091     
00092     //--------------------------------------------------
00096       
00097     virtual external_data_pointer_type getData() const
00098         throw(NullPointerException);
00099         
00100     //--------------------------------------------------
00104     
00105     void setDataset(image_pointer_type dataset);
00106     
00107     //--------------------------------------------------
00112     
00113     image_pointer_type getDataset();
00114     
00115     //--------------------------------------------------
00120     
00121     const_image_pointer_type getDataset() const;
00122     
00123     //----------------------------------------------------
00128 
00129     virtual void setIntensity(double window, double level);
00130 
00131     //----------------------------------------------------
00135  
00136     virtual double getIntensityWindow() const
00137         throw(NullPointerException);
00138 
00139     //----------------------------------------------------
00143     
00144     virtual double getIntensityLevel() const
00145         throw(NullPointerException);
00146 
00147     
00148   protected:
00149     
00150     //--------------------------------------------------
00153     typedef image_type::RegionType region_type;
00154     
00155     //--------------------------------------------------
00158     typedef image_type::SizeType region_size_type;
00159 
00160     //--------------------------------------------------
00163     typedef image_type::IndexType region_index_type;
00164     
00165     //--------------------------------------------------
00168     typedef itk::IntensityWindowingImageFilter<image_type, external_image_type> 
00169         image_intensity_filter_type;
00170   
00171     //--------------------------------------------------
00174     
00175     TwoByteImagePixelDataset(TwoByteImagePixelDataset const& src);
00176     
00177     //--------------------------------------------------
00181     
00182     void setDatasetInternal(image_pointer_type dataset);
00183     
00184     //--------------------------------------------------
00187     image_pointer_type dataset_;
00188     
00189     //--------------------------------------------------
00192     image_intensity_filter_type::Pointer image_intensity_filter_;
00193 
00194     private:
00195       
00196     //--------------------------------------------------
00199     
00200     TwoByteImagePixelDataset& operator = (TwoByteImagePixelDataset const&) { return(*this); }
00201   };
00202 
00203 }
00204 
00205 #endif // IMEDGINEPIXELIMAGE_DATASET_H

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