1 /*=========================================================================
2 
3   Program:   Visualization Toolkit
4   Module:    vtkSphericalHarmonics.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   vtkSphericalHarmonics
17  * @brief   compute spherical harmonics of an equirectangular projection image
18  *
19  * vtkSphericalHarmonics is a filter that computes spherical harmonics of an
20  * equirectangular projection image representing a 360 degree image.
21  * Its output is a vtkTable containing the third degree spherical harmonics coefficients.
22  * This filter expects the image data to be a RGB image.
23  * 8-bits images are expected to be sRGB encoded and other formats are expected to be in
24  * linear color space.
25  */
26 
27 #ifndef vtkSphericalHarmonics_h
28 #define vtkSphericalHarmonics_h
29 
30 #include "vtkFiltersGeneralModule.h" // For export macro
31 #include "vtkImageAlgorithm.h"
32 
33 class VTKFILTERSGENERAL_EXPORT vtkSphericalHarmonics : public vtkImageAlgorithm
34 {
35 public:
36   static vtkSphericalHarmonics* New();
37   vtkTypeMacro(vtkSphericalHarmonics, vtkImageAlgorithm);
38   void PrintSelf(ostream& os, vtkIndent indent) override;
39 
40 protected:
41   vtkSphericalHarmonics() = default;
42   ~vtkSphericalHarmonics() override = default;
43 
44   // Usual data generation method
45   int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
46   int FillOutputPortInformation(int, vtkInformation*) override;
47 
48 private:
49   vtkSphericalHarmonics(const vtkSphericalHarmonics&) = delete;
50   void operator=(const vtkSphericalHarmonics&) = delete;
51 };
52 
53 #endif
54