dox/Imaging/vtkImageMapToIntensities.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   BioImageXD
00004   Module:    $RCSfile: vtkImageMapToIntensities.h,v $
00005 
00006  Copyright (C) 2005  BioImageXD Project
00007  See CREDITS.txt for details
00008 
00009  This program is free software; you can redistribute it and/or modify
00010  it under the terms of the GNU General Public License as published by
00011  the Free Software Foundation; either version 2 of the License, or
00012  (at your option) any later version.
00013 
00014  This program is distributed in the hope that it will be useful,
00015  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  GNU General Public License for more details.
00018 
00019  You should have received a copy of the GNU General Public License
00020  along with this program; if not, write to the Free Software
00021  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 
00023 =========================================================================*/
00036 #ifndef __vtkImageMapToIntensities_h
00037 #define __vtkImageMapToIntensities_h
00038 
00039 #include "vtkThreadedImageAlgorithm.h"
00040 #include "vtkIntensityTransferFunction.h"
00041 
00042 class VTK_IMAGING_EXPORT vtkImageMapToIntensities : public vtkThreadedImageAlgorithm
00043 {
00044 public:
00045   vtkTypeRevisionMacro(vtkImageMapToIntensities,vtkThreadedImageAlgorithm);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00049 
00050   static vtkImageMapToIntensities *New();     
00051   // Description:
00052   // Set the vtkIntensityTransferFunction through which the scalars
00053   // are mapped
00054   void SetIntensityTransferFunction(vtkIntensityTransferFunction* itf) {
00055       this->IntensityTransferFunction = itf;
00056       this->Modified();
00057   }
00058   //virtual void ComputeInputUpdateExtent(int inExt[6], int outExt[6]);
00060 
00061 
00062   vtkGetObjectMacro(IntensityTransferFunction,vtkIntensityTransferFunction);
00063 
00064 protected:
00065   vtkImageMapToIntensities();
00066   ~vtkImageMapToIntensities() {};
00067 
00068   
00069   // Method that can be called by multiple threads that is given the input data and an input extent
00070   // and is responsible for producing the matching output data.
00071   void ThreadedRequestData (vtkInformation* request,
00072                             vtkInformationVector** inputVector,
00073                             vtkInformationVector* outputVector,
00074                             vtkImageData ***inData, vtkImageData **outData,
00075                             int ext[6], int id);
00076 
00077   // Implement methods required by vtkAlgorithm.
00078   virtual int FillInputPortInformation(int, vtkInformation*);  
00079   
00080   vtkIntensityTransferFunction* IntensityTransferFunction;
00081 private:
00082   vtkImageMapToIntensities(const vtkImageMapToIntensities&);  // Not implemented.
00083   void operator=(const vtkImageMapToIntensities&);  // Not implemented.
00084 };
00085 
00086 #endif
00087 
00088 

Generated on Fri Sep 7 17:44:06 2007 for VTK by  doxygen 1.5.3