1 /*========================================================================= 2 3 Program: Visualization Toolkit 4 Module: vtkImageYIQToRGB.h 5 6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 7 All rights reserved. 8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 9 10 This software is distributed WITHOUT ANY WARRANTY; without even 11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 12 PURPOSE. See the above copyright notice for more information. 13 14 =========================================================================*/ 15 /** 16 * @class vtkImageRGBToYIQ 17 * @brief Converts YIQ components to RGB. 18 * 19 * For each pixel with Y, I, and Q components this 20 * filter output the color coded as RGB. 21 * Output type must be the same as input type. 22 */ 23 24 #ifndef vtkImageYIQToRGB_h 25 #define vtkImageYIQToRGB_h 26 27 28 #include "vtkImagingColorModule.h" // For export macro 29 #include "vtkThreadedImageAlgorithm.h" 30 31 class VTKIMAGINGCOLOR_EXPORT vtkImageYIQToRGB : public vtkThreadedImageAlgorithm 32 { 33 public: 34 static vtkImageYIQToRGB *New(); 35 vtkTypeMacro(vtkImageYIQToRGB,vtkThreadedImageAlgorithm); 36 void PrintSelf(ostream& os, vtkIndent indent) override; 37 38 vtkSetMacro(Maximum,double); 39 vtkGetMacro(Maximum,double); 40 41 protected: 42 vtkImageYIQToRGB(); ~vtkImageYIQToRGB()43 ~vtkImageYIQToRGB() override {} 44 45 double Maximum; // Maximum value of pixel intensity allowed 46 47 void ThreadedExecute (vtkImageData *inData, vtkImageData *outData, 48 int ext[6], int id) override; 49 private: 50 vtkImageYIQToRGB(const vtkImageYIQToRGB&) = delete; 51 void operator=(const vtkImageYIQToRGB&) = delete; 52 }; 53 54 #endif 55