one_byte_image_pixel_dataset.h

Go to the documentation of this file.
00001 //--------------------------------------------------
00011 //---------------------------------------------------
00012 
00013 #ifndef IMEDGINE_ONE_BYTE_PIXEL_IMAGE_DATASET_H
00014 #define IMEDGINE_ONE_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   //--------------------------------------------------
00041   //--------------------------------------------------
00042   
00043   class OneByteImagePixelDataset : public ImagePixelDataset
00044   {
00045   protected:
00046     
00047     //--------------------------------------------------
00050     typedef one_byte_image_type image_type;
00051     
00052     //--------------------------------------------------
00055     typedef one_byte_image_pointer_type image_pointer_type;
00056     
00057     //--------------------------------------------------
00060     typedef const_one_byte_image_pointer_type const_image_pointer_type;
00061     
00062     //--------------------------------------------------
00065     typedef const_one_byte_image_iterator_type const_image_iterator_type;
00066     
00067     //--------------------------------------------------
00070     typedef one_byte_pixel_type pixel_type;
00071     
00072   public: 
00073     
00074     //--------------------------------------------------
00077     typedef image_type type;
00078   
00079     //--------------------------------------------------
00084     
00085     OneByteImagePixelDataset(dataset_key_type dataset_key, image_pointer_type image = 0);
00086     
00087     //--------------------------------------------------
00090     
00091     virtual ~OneByteImagePixelDataset();
00092     
00093     //--------------------------------------------------
00097       
00098     virtual external_data_pointer_type getData() const
00099         throw(NullPointerException);
00100     
00101     //--------------------------------------------------
00105     
00106     void setDataset(image_pointer_type dataset);
00107     
00108     //--------------------------------------------------
00113     
00114     image_pointer_type getDataset();
00115     
00116     //--------------------------------------------------
00121     
00122     const_image_pointer_type getDataset() const;
00123     
00124     //----------------------------------------------------
00129 
00130     virtual void setIntensity(double window, double level);
00131 
00132     //----------------------------------------------------
00136  
00137     virtual double getIntensityWindow() const
00138         throw(NullPointerException);
00139 
00140     //----------------------------------------------------
00144     
00145     virtual double getIntensityLevel() const
00146         throw(NullPointerException);
00147 
00148     
00149   protected:
00150     
00151     //--------------------------------------------------
00154     typedef image_type::RegionType region_type;
00155     
00156     //--------------------------------------------------
00159     typedef image_type::SizeType region_size_type;
00160 
00161     //--------------------------------------------------
00164     typedef image_type::IndexType region_index_type;
00165     
00166     //--------------------------------------------------
00169     typedef itk::IntensityWindowingImageFilter<image_type, external_image_type> 
00170         image_intensity_filter_type;
00171   
00172     //--------------------------------------------------
00175     
00176     OneByteImagePixelDataset(OneByteImagePixelDataset const& src);
00177     
00178     //--------------------------------------------------
00182     
00183     void setDatasetInternal(image_pointer_type dataset);
00184     
00185     //--------------------------------------------------
00188     image_pointer_type dataset_;
00189     
00190     //--------------------------------------------------
00193     image_intensity_filter_type::Pointer image_intensity_filter_;
00194     
00195     
00196     private:
00197       
00198     //--------------------------------------------------
00201     
00202     OneByteImagePixelDataset& operator = (OneByteImagePixelDataset const&) { return(*this); }
00203 
00204   };
00205 
00206 }
00207 
00208 #endif // IMEDGINEPIXELIMAGE_DATASET_H

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