RTK  2.6.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  itkOverrideGetNameOfClassMacro(OraLookupTableImageFilter);
64 
65  void
66  BeforeThreadedGenerateData() override;
67 
70  itkSetMacro(ComputeLineIntegral, bool);
71  itkGetConstMacro(ComputeLineIntegral, bool);
72  itkBooleanMacro(ComputeLineIntegral);
74 
77  void
79  {
80  if (m_FileNames != name)
81  {
82  m_FileNames = name;
83  this->Modified();
84  }
85  }
86  const FileNamesContainer &
87  GetFileNames() const
88  {
89  return m_FileNames;
90  }
92 
93 protected:
94  OraLookupTableImageFilter() = default;
95  ~OraLookupTableImageFilter() override = default;
96 
97 private:
98  bool m_ComputeLineIntegral{ true };
99 
102 };
103 
104 } // end namespace rtk
105 
106 #ifndef ITK_MANUAL_INSTANTIATION
107 # include "rtkOraLookupTableImageFilter.hxx"
108 #endif
109 
110 #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)