00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImageRGBToHSV.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00026 #ifndef __vtkImageRGBToHSV_h 00027 #define __vtkImageRGBToHSV_h 00028 00029 00030 #include "vtkThreadedImageAlgorithm.h" 00031 00032 class VTK_IMAGING_EXPORT vtkImageRGBToHSV : public vtkThreadedImageAlgorithm 00033 { 00034 public: 00035 static vtkImageRGBToHSV *New(); 00036 vtkTypeMacro(vtkImageRGBToHSV,vtkThreadedImageAlgorithm); 00037 void PrintSelf(ostream& os, vtkIndent indent); 00038 00039 00040 // Hue is an angle. Maximum specifies when it maps back to 0. HueMaximum 00041 // defaults to 255 instead of 2PI, because unsigned char is expected as 00042 // input. Maximum also specifies the maximum of the Saturation. 00043 vtkSetMacro(Maximum,double); 00044 vtkGetMacro(Maximum,double); 00045 00046 protected: 00047 vtkImageRGBToHSV(); 00048 ~vtkImageRGBToHSV() {}; 00049 00050 double Maximum; 00051 00052 void ThreadedExecute (vtkImageData *inData, vtkImageData *outData, 00053 int ext[6], int id); 00054 private: 00055 vtkImageRGBToHSV(const vtkImageRGBToHSV&); // Not implemented. 00056 void operator=(const vtkImageRGBToHSV&); // Not implemented. 00057 }; 00058 00059 #endif 00060 00061 00062