RTK  2.5.0
Reconstruction Toolkit
rtkOraLookupTableImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright RTK Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * https://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 
19 #ifndef rtkOraLookupTableImageFilter_h
20 #define rtkOraLookupTableImageFilter_h
21 
23 #include <itkNumericTraits.h>
24 
25 namespace rtk
26 {
27 
41 template <class TOutputImage>
42 class ITK_TEMPLATE_EXPORT OraLookupTableImageFilter
43  : public LookupTableImageFilter<itk::Image<unsigned short, TOutputImage::ImageDimension>, TOutputImage>
44 {
45 public:
46  ITK_DISALLOW_COPY_AND_MOVE(OraLookupTableImageFilter);
47 
53 
54  using InputImagePixelType = unsigned short;
55  using OutputImagePixelType = typename TOutputImage::PixelType;
56  using LookupTableType = typename Superclass::FunctorType::LookupTableType;
57  using FileNamesContainer = std::vector<std::string>;
58 
60  itkNewMacro(Self);
61 
63 #ifdef itkOverrideGetNameOfClassMacro
64  itkOverrideGetNameOfClassMacro(OraLookupTableImageFilter);
65 #else
67 #endif
68 
69 
70  void
71  BeforeThreadedGenerateData() override;
72 
75  itkSetMacro(ComputeLineIntegral, bool);
76  itkGetConstMacro(ComputeLineIntegral, bool);
77  itkBooleanMacro(ComputeLineIntegral);
79 
82  void
84  {
85  if (m_FileNames != name)
86  {
87  m_FileNames = name;
88  this->Modified();
89  }
90  }
91  const FileNamesContainer &
92  GetFileNames() const
93  {
94  return m_FileNames;
95  }
97 
98 protected:
99  OraLookupTableImageFilter() = default;
100  ~OraLookupTableImageFilter() override = default;
101 
102 private:
103  bool m_ComputeLineIntegral{ true };
104 
107 };
108 
109 } // end namespace rtk
110 
111 #ifndef ITK_MANUAL_INSTANTIATION
112 # include "rtkOraLookupTableImageFilter.hxx"
113 #endif
114 
115 #endif
typename Superclass::FunctorType::LookupTableType LookupTableType
Function to do the lookup operation.
const FileNamesContainer & GetFileNames() const
typename OutputImageType::PixelType OutputImagePixelType
typename InputImageType::PixelType InputImagePixelType
#define itkSetMacro(name, type)
std::vector< std::string > FileNamesContainer
void SetFileNames(const FileNamesContainer &name)