freImageMerger.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   F.R.E.E. - flexible registration evaluation engine
00004   Version:   v.1.0.0
00005   Date:      $Date: 2006/09/01 12:00:00 $
00006   Module:    $RCSfile: freImageMerger.h,v $
00007   Language:  C++
00008 
00009 
00010 
00011   Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics,
00012   Institute for Medical Biometry and Informatics, University of Heidelberg,
00013   Germany). All rights reserved.
00014   See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm
00015   for details.
00016 
00017      This software is distributed WITHOUT ANY WARRANTY; without even 
00018      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00019      PURPOSE.  See the above copyright notices for more information.
00020 
00021 =========================================================================*/
00022 
00023 #ifndef __freImageMerger_h
00024 #define __freImageMerger_h
00025 
00026 #include "freElementals.h"
00027 
00028 #include "itkRGBPixel.h"
00029 
00030 namespace FREE
00031 {
00032 
00038 template <class TImage>
00039 class ImageMerger
00040 {
00041 public:
00042 
00043   virtual const char *GetNameOfClass() const
00044         {return "ImageMerger";};
00045 
00046         typedef TImage ImageType;
00047         typedef typename ImageType::Pointer ImagePointer;
00048 
00049         typedef itk::RGBPixel<unsigned char> RGBPixelType;
00050         typedef itk::Image<RGBPixelType,ImageType::ImageDimension> RGBImageType;
00051         typedef typename RGBImageType::Pointer RGBImagePointer;
00052 
00053   void SetInput1(ImageType* pInput) {m_Input1 = pInput;};
00054   ImagePointer GetInput1() { return m_Input1;};
00055   void SetInput2(ImageType* pInput) {m_Input2 = pInput;};
00056   ImagePointer GetInput2() { return m_Input2;};
00057 
00058         static RGBImagePointer GenerateAlternationImage(ImageType* pInput1, ImageType* pInput2, ImageType* pInput3);
00059         RGBImagePointer GenerateAlternationImage(ImageType* pInput3) const;
00060 
00061         static ImagePointer GenerateBlendImage(ImageType* pInput1, ImageType* pInput2, unsigned int iMergeValue);
00062         ImagePointer GenerateBlendImage(unsigned int iMergeValue) const;
00063 
00064         static ImagePointer GenerateCheckerImage(ImageType* pInput1, ImageType* pInput2, unsigned int iPatternSize);
00065         ImagePointer GenerateCheckerImage(unsigned int iPatternSize) const;
00066 
00067         static ImagePointer GenerateDifferenceImage(ImageType* pInput1, ImageType* pInput2);
00068         ImagePointer GenerateDifferenceImage() const;
00069 
00070         static RGBImagePointer GenerateColoredDifferenceImage(ImageType* pInput1, ImageType* pInput2);
00071         RGBImagePointer GenerateColoredDifferenceImage() const;
00072 
00073         ImageMerger(ImageType* pInput1 = NULL, ImageType* pInput2 = NULL);
00074         ~ImageMerger();
00075 
00076 protected:
00077 
00078         ImagePointer m_Input1;
00079         ImagePointer m_Input2;
00080 };
00081 
00082 } //end of namespace free
00083 
00084 #ifndef ITK_MANUAL_INSTANTIATION
00085 #include "freImageMerger.txx"
00086 #endif
00087 
00088 #endif

Generated at Sat Oct 13 16:06:10 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000