RTK  2.5.0
Reconstruction Toolkit
rtkTotalNuclearVariationDenoisingBPDQImageFilter.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 rtkTotalNuclearVariationDenoisingBPDQImageFilter_h
20 #define rtkTotalNuclearVariationDenoisingBPDQImageFilter_h
21 
24 
25 namespace rtk
26 {
113 template <typename TOutputImage,
114  typename TGradientImage =
115  itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>,
116  TOutputImage::ImageDimension>>
118  : public rtk::DenoisingBPDQImageFilter<TOutputImage, TGradientImage>
119 {
120 public:
121  ITK_DISALLOW_COPY_AND_MOVE(TotalNuclearVariationDenoisingBPDQImageFilter);
122 
128 
130  itkNewMacro(Self);
131 
133 #ifdef itkOverrideGetNameOfClassMacro
134  itkOverrideGetNameOfClassMacro(TotalNuclearVariationDenoisingBPDQImageFilter);
135 #else
137 #endif
138 
139 
142 
143 protected:
145  ~TotalNuclearVariationDenoisingBPDQImageFilter() override = default;
146 
147  void
148  GenerateOutputInformation() override;
149 
152  typename Superclass::ThresholdFilterType *
154  {
155  return dynamic_cast<typename Superclass::ThresholdFilterType *>(this->m_ThresholdFilter.GetPointer());
156  }
157 };
159 
160 } // namespace rtk
161 
162 #ifndef ITK_MANUAL_INSTANTIATION
163 # include "rtkTotalNuclearVariationDenoisingBPDQImageFilter.hxx"
164 #endif
165 
166 #endif //__rtkTotalNuclearVariationDenoisingBPDQImageFilter__
Base class for Basis Pursuit DeQuantization denoising filters.
Performs thresholding on the singular values.