[Rtk-users] Error message at commit time

Jerome Lesaint lesaint.jerome at gmail.com
Fri Mar 26 13:27:17 EDT 2021


Hi all,

Here the situation : i've made somme changes on a local copy of RTK, forked
from SimonRit github.
I've run SetupforForDevelopment.sh script; both on ITK and RTK dir.

When committing my changes to RTK, I get a long long list of
"errors"/"messages" (see attachment) and it seems that my changes are not
committed after all.

I had many corrections proposed by the style checker, which I all accepted
without looking at the details (and which are probably listed in the error
message). But the first set of lines seems strange:

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

cmake/KWStyle/RTKOverwrite.txt

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

cmake/KWStyle/RTKOverwrite.txt

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

cmake/KWStyle/RTKOverwrite.txt

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

cmake/KWStyle/RTKOverwrite.txt

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

cmake/KWStyle/RTKOverwrite.txt

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

cmake/KWStyle/RTKOverwrite.txt

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

cmake/KWStyle/RTKOverwrite.txt

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

cmake/KWStyle/RTKOverwrite.txt

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

cmake/KWStyle/RTKOverwrite.txt

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof
hooks.style=KWStyle,clangformat,uncrustify

 not allowed: ./.gitattributes:3

cmake/KWStyle/RTKOverwrite.txt

Do you have any idea ?

Thanks in advance,
Jérome
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/rtk-users/attachments/20210326/728e8a08/attachment-0001.htm>
-------------- next part --------------
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
[attr]our-c-style  whitespace=tab-in-indent,no-lf-at-eof  hooks.style=KWStyle,clangformat,uncrustify
 not allowed: ./.gitattributes:3
cmake/KWStyle/RTKOverwrite.txt
pre-commit hook failure
-----------------------

applications/rtkhelicalgeometry/CMakeLists.txt:18: new blank line at EOF.
applications/rtkhelicalgeometry/rtkhelicalgeometry.ggo:9: trailing whitespace.
+option "first_sy"    y "First vertical position (default = centered around 0)"                double no 
applications/rtkhelicalgeometry/rtkhelicalgeometry.ggo:16: new blank line at EOF.
applications/rtkhilbertonkappalines/CMakeLists.txt:14: new blank line at EOF.
applications/rtkhilbertonkappalines/rtkhilbertonkappalines.ggo:9: new blank line at EOF.
applications/rtkkatsevich/CMakeLists.txt:14: new blank line at EOF.
applications/rtkkatsevichderivative/CMakeLists.txt:14: new blank line at EOF.
applications/rtkkatsevichderivative/rtkkatsevichderivative.ggo:9: new blank line at EOF.
applications/rtkkatsevichforwardbinning/CMakeLists.txt:14: new blank line at EOF.
applications/rtkkatsevichforwardbinning/rtkkatsevichforwardbinning.ggo:9: new blank line at EOF.
applications/rtkpilines/CMakeLists.txt:14: new blank line at EOF.
applications/rtkpilines/rtkpilines.ggo:12: new blank line at EOF.
include/rtkFFTHilbertImageFilter.h:1: trailing whitespace.
+/*=========================================================================
include/rtkFFTHilbertImageFilter.h:2: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.h:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkFFTHilbertImageFilter.h:4: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.h:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkFFTHilbertImageFilter.h:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkFFTHilbertImageFilter.h:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkFFTHilbertImageFilter.h:8: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.h:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkFFTHilbertImageFilter.h:10: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.h:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkFFTHilbertImageFilter.h:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkFFTHilbertImageFilter.h:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkFFTHilbertImageFilter.h:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkFFTHilbertImageFilter.h:15: trailing whitespace.
+ *  limitations under the License.
include/rtkFFTHilbertImageFilter.h:16: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.h:17: trailing whitespace.
+ *=========================================================================*/
include/rtkFFTHilbertImageFilter.h:18: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:19: trailing whitespace.
+#ifndef rtkFFTHilbertImageFilter_h
include/rtkFFTHilbertImageFilter.h:20: trailing whitespace.
+#define rtkFFTHilbertImageFilter_h
include/rtkFFTHilbertImageFilter.h:21: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:22: trailing whitespace.
+#include <itkConceptChecking.h>
include/rtkFFTHilbertImageFilter.h:23: trailing whitespace.
+#include "rtkConfiguration.h"
include/rtkFFTHilbertImageFilter.h:24: trailing whitespace.
+#include "rtkFFTProjectionsConvolutionImageFilter.h"
include/rtkFFTHilbertImageFilter.h:25: trailing whitespace.
+#include "rtkMacro.h"
include/rtkFFTHilbertImageFilter.h:26: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:27: trailing whitespace.
+// The Set macro is redefined to clear the current FFT kernel when a parameter
include/rtkFFTHilbertImageFilter.h:28: trailing whitespace.
+// is modified.
include/rtkFFTHilbertImageFilter.h:29: trailing whitespace.
+#undef itkSetMacro
include/rtkFFTHilbertImageFilter.h:30: trailing whitespace.
+#define itkSetMacro(name, type)                                                                                        \
include/rtkFFTHilbertImageFilter.h:31: trailing whitespace.
+  virtual void Set##name(const type _arg)                                                                              \
include/rtkFFTHilbertImageFilter.h:32: trailing whitespace.
+  {                                                                                                                    \
include/rtkFFTHilbertImageFilter.h:33: trailing whitespace.
+    itkDebugMacro("setting " #name " to " << _arg);                                                                    \
include/rtkFFTHilbertImageFilter.h:34: trailing whitespace.
+    CLANG_PRAGMA_PUSH                                                                                                  \
include/rtkFFTHilbertImageFilter.h:35: trailing whitespace.
+    CLANG_SUPPRESS_Wfloat_equal if (this->m_##name != _arg)                                                            \
include/rtkFFTHilbertImageFilter.h:36: trailing whitespace.
+    {                                                                                                                  \
include/rtkFFTHilbertImageFilter.h:37: trailing whitespace.
+      this->m_##name = _arg;                                                                                           \
include/rtkFFTHilbertImageFilter.h:38: trailing whitespace.
+      this->Modified();                                                                                                \
include/rtkFFTHilbertImageFilter.h:39: trailing whitespace.
+      this->m_KernelFFT = nullptr;                                                                                     \
include/rtkFFTHilbertImageFilter.h:40: trailing whitespace.
+    }                                                                                                                  \
include/rtkFFTHilbertImageFilter.h:41: trailing whitespace.
+    CLANG_PRAGMA_POP                                                                                                   \
include/rtkFFTHilbertImageFilter.h:42: trailing whitespace.
+  }
include/rtkFFTHilbertImageFilter.h:43: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:44: trailing whitespace.
+namespace rtk
include/rtkFFTHilbertImageFilter.h:45: trailing whitespace.
+{
include/rtkFFTHilbertImageFilter.h:46: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:47: trailing whitespace.
+/** \class FFTHilbertImageFilter
include/rtkFFTHilbertImageFilter.h:48: trailing whitespace.
+ * \brief Implements the Hilbert transform.
include/rtkFFTHilbertImageFilter.h:49: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.h:50: trailing whitespace.
+ * \test rtkhilbertfiltertest.cxx
include/rtkFFTHilbertImageFilter.h:51: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.h:52: trailing whitespace.
+ * \author Aurélien Coussat
include/rtkFFTHilbertImageFilter.h:53: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.h:54: trailing whitespace.
+ * \ingroup RTK ImageToImageFilter
include/rtkFFTHilbertImageFilter.h:55: trailing whitespace.
+ */
include/rtkFFTHilbertImageFilter.h:56: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:57: trailing whitespace.
+template <class TInputImage, class TOutputImage = TInputImage, class TFFTPrecision = double>
include/rtkFFTHilbertImageFilter.h:58: trailing whitespace.
+class ITK_EXPORT FFTHilbertImageFilter
include/rtkFFTHilbertImageFilter.h:59: trailing whitespace.
+  : public rtk::FFTProjectionsConvolutionImageFilter<TInputImage, TOutputImage, TFFTPrecision>
include/rtkFFTHilbertImageFilter.h:60: trailing whitespace.
+{
include/rtkFFTHilbertImageFilter.h:61: trailing whitespace.
+public:
include/rtkFFTHilbertImageFilter.h:62: trailing whitespace.
+  ITK_DISALLOW_COPY_AND_ASSIGN(FFTHilbertImageFilter);
include/rtkFFTHilbertImageFilter.h:63: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:64: trailing whitespace.
+  /** Standard class type alias. */
include/rtkFFTHilbertImageFilter.h:65: trailing whitespace.
+  using Self = FFTHilbertImageFilter;
include/rtkFFTHilbertImageFilter.h:66: trailing whitespace.
+  using Superclass = rtk::FFTProjectionsConvolutionImageFilter<TInputImage, TOutputImage, TFFTPrecision>;
include/rtkFFTHilbertImageFilter.h:67: trailing whitespace.
+  using Pointer = itk::SmartPointer<Self>;
include/rtkFFTHilbertImageFilter.h:68: trailing whitespace.
+  using ConstPointer = itk::SmartPointer<const Self>;
include/rtkFFTHilbertImageFilter.h:69: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:70: trailing whitespace.
+  /** Some convenient type alias. */
include/rtkFFTHilbertImageFilter.h:71: trailing whitespace.
+  using InputImageType = TInputImage;
include/rtkFFTHilbertImageFilter.h:72: trailing whitespace.
+  using OutputImageType = TOutputImage;
include/rtkFFTHilbertImageFilter.h:73: trailing whitespace.
+  using FFTPrecisionType = TFFTPrecision;
include/rtkFFTHilbertImageFilter.h:74: trailing whitespace.
+  using IndexType = typename InputImageType::IndexType;
include/rtkFFTHilbertImageFilter.h:75: trailing whitespace.
+  using SizeType = typename InputImageType::SizeType;
include/rtkFFTHilbertImageFilter.h:76: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:77: trailing whitespace.
+  using FFTInputImageType = typename Superclass::FFTInputImageType;
include/rtkFFTHilbertImageFilter.h:78: trailing whitespace.
+  using FFTInputImagePointer = typename FFTInputImageType::Pointer;
include/rtkFFTHilbertImageFilter.h:79: trailing whitespace.
+  using FFTOutputImageType = typename Superclass::FFTOutputImageType;
include/rtkFFTHilbertImageFilter.h:80: trailing whitespace.
+  using FFTOutputImagePointer = typename FFTOutputImageType::Pointer;
include/rtkFFTHilbertImageFilter.h:81: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:82: trailing whitespace.
+  /** Standard New method. */
include/rtkFFTHilbertImageFilter.h:83: trailing whitespace.
+  itkNewMacro(Self);
include/rtkFFTHilbertImageFilter.h:84: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:85: trailing whitespace.
+  /** Runtime information support. */
include/rtkFFTHilbertImageFilter.h:86: trailing whitespace.
+  itkTypeMacro(FFTHilbertImageFilter, FFTProjectionsConvolutionImageFilter);
include/rtkFFTHilbertImageFilter.h:87: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:88: trailing whitespace.
+protected:
include/rtkFFTHilbertImageFilter.h:89: trailing whitespace.
+  FFTHilbertImageFilter() = default;
include/rtkFFTHilbertImageFilter.h:90: trailing whitespace.
+  ~FFTHilbertImageFilter() override = default;
include/rtkFFTHilbertImageFilter.h:91: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:92: trailing whitespace.
+  /** Create and return a pointer to one line of the Hilbert kernel in Fourier space.
include/rtkFFTHilbertImageFilter.h:93: trailing whitespace.
+   *  Used in generate data functions.  */
include/rtkFFTHilbertImageFilter.h:94: trailing whitespace.
+  void
include/rtkFFTHilbertImageFilter.h:95: trailing whitespace.
+  UpdateFFTProjectionsConvolutionKernel(const SizeType s) override;
include/rtkFFTHilbertImageFilter.h:96: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:97: trailing whitespace.
+private:
include/rtkFFTHilbertImageFilter.h:98: trailing whitespace.
+  SizeType m_PreviousKernelUpdateSize;
include/rtkFFTHilbertImageFilter.h:99: trailing whitespace.
+}; // end of class
include/rtkFFTHilbertImageFilter.h:100: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:101: trailing whitespace.
+} // end namespace rtk
include/rtkFFTHilbertImageFilter.h:102: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:103: trailing whitespace.
+#ifndef ITK_MANUAL_INSTANTIATION
include/rtkFFTHilbertImageFilter.h:104: trailing whitespace.
+#  include "rtkFFTHilbertImageFilter.hxx"
include/rtkFFTHilbertImageFilter.h:105: trailing whitespace.
+#endif
include/rtkFFTHilbertImageFilter.h:106: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:107: trailing whitespace.
+// Rollback to the original definition of the Set macro
include/rtkFFTHilbertImageFilter.h:108: trailing whitespace.
+#undef itkSetMacro
include/rtkFFTHilbertImageFilter.h:109: trailing whitespace.
+#define itkSetMacro(name, type)                                                                                        \
include/rtkFFTHilbertImageFilter.h:110: trailing whitespace.
+  virtual void Set##name(const type _arg)                                                                              \
include/rtkFFTHilbertImageFilter.h:111: trailing whitespace.
+  {                                                                                                                    \
include/rtkFFTHilbertImageFilter.h:112: trailing whitespace.
+    itkDebugMacro("setting " #name " to " << _arg);                                                                    \
include/rtkFFTHilbertImageFilter.h:113: trailing whitespace.
+    CLANG_PRAGMA_PUSH                                                                                                  \
include/rtkFFTHilbertImageFilter.h:114: trailing whitespace.
+    CLANG_SUPPRESS_Wfloat_equal if (this->m_##name != _arg)                                                            \
include/rtkFFTHilbertImageFilter.h:115: trailing whitespace.
+    {                                                                                                                  \
include/rtkFFTHilbertImageFilter.h:116: trailing whitespace.
+      this->m_##name = _arg;                                                                                           \
include/rtkFFTHilbertImageFilter.h:117: trailing whitespace.
+      this->Modified();                                                                                                \
include/rtkFFTHilbertImageFilter.h:118: trailing whitespace.
+    }                                                                                                                  \
include/rtkFFTHilbertImageFilter.h:119: trailing whitespace.
+    CLANG_PRAGMA_POP                                                                                                   \
include/rtkFFTHilbertImageFilter.h:120: trailing whitespace.
+  }
include/rtkFFTHilbertImageFilter.h:121: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.h:122: trailing whitespace.
+#endif
include/rtkFFTHilbertImageFilter.hxx:1: trailing whitespace.
+/*=========================================================================
include/rtkFFTHilbertImageFilter.hxx:2: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.hxx:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkFFTHilbertImageFilter.hxx:4: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.hxx:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkFFTHilbertImageFilter.hxx:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkFFTHilbertImageFilter.hxx:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkFFTHilbertImageFilter.hxx:8: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.hxx:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkFFTHilbertImageFilter.hxx:10: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.hxx:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkFFTHilbertImageFilter.hxx:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkFFTHilbertImageFilter.hxx:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkFFTHilbertImageFilter.hxx:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkFFTHilbertImageFilter.hxx:15: trailing whitespace.
+ *  limitations under the License.
include/rtkFFTHilbertImageFilter.hxx:16: trailing whitespace.
+ *
include/rtkFFTHilbertImageFilter.hxx:17: trailing whitespace.
+ *=========================================================================*/
include/rtkFFTHilbertImageFilter.hxx:18: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:19: trailing whitespace.
+#ifndef rtkFFTHilbertImageFilter_hxx
include/rtkFFTHilbertImageFilter.hxx:20: trailing whitespace.
+#define rtkFFTHilbertImageFilter_hxx
include/rtkFFTHilbertImageFilter.hxx:21: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:22: trailing whitespace.
+#include "rtkFFTHilbertImageFilter.h"
include/rtkFFTHilbertImageFilter.hxx:23: trailing whitespace.
+#include "itkForwardFFTImageFilter.h"
include/rtkFFTHilbertImageFilter.hxx:24: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:25: trailing whitespace.
+namespace rtk
include/rtkFFTHilbertImageFilter.hxx:26: trailing whitespace.
+{
include/rtkFFTHilbertImageFilter.hxx:27: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:28: trailing whitespace.
+template <class TInputImage, class TOutputImage, class TFFTPrecision>
include/rtkFFTHilbertImageFilter.hxx:29: trailing whitespace.
+void
include/rtkFFTHilbertImageFilter.hxx:30: trailing whitespace.
+FFTHilbertImageFilter<TInputImage, TOutputImage, TFFTPrecision>::UpdateFFTProjectionsConvolutionKernel(const SizeType s)
include/rtkFFTHilbertImageFilter.hxx:31: trailing whitespace.
+{
include/rtkFFTHilbertImageFilter.hxx:32: trailing whitespace.
+  if (this->m_KernelFFT.GetPointer() != nullptr && s == this->m_PreviousKernelUpdateSize)
include/rtkFFTHilbertImageFilter.hxx:33: trailing whitespace.
+  {
include/rtkFFTHilbertImageFilter.hxx:34: trailing whitespace.
+    return;
include/rtkFFTHilbertImageFilter.hxx:35: trailing whitespace.
+  }
include/rtkFFTHilbertImageFilter.hxx:36: trailing whitespace.
+  m_PreviousKernelUpdateSize = s;
include/rtkFFTHilbertImageFilter.hxx:37: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:38: trailing whitespace.
+  const int width = s[0];
include/rtkFFTHilbertImageFilter.hxx:39: trailing whitespace.
+  const int height = s[1];
include/rtkFFTHilbertImageFilter.hxx:40: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:41: trailing whitespace.
+  // Allocate kernel
include/rtkFFTHilbertImageFilter.hxx:42: trailing whitespace.
+  SizeType size;
include/rtkFFTHilbertImageFilter.hxx:43: trailing whitespace.
+  size.Fill(1);
include/rtkFFTHilbertImageFilter.hxx:44: trailing whitespace.
+  size[0] = width;
include/rtkFFTHilbertImageFilter.hxx:45: trailing whitespace.
+  FFTInputImagePointer kernel = FFTInputImageType::New();
include/rtkFFTHilbertImageFilter.hxx:46: trailing whitespace.
+  kernel->SetRegions(size);
include/rtkFFTHilbertImageFilter.hxx:47: trailing whitespace.
+  kernel->Allocate();
include/rtkFFTHilbertImageFilter.hxx:48: trailing whitespace.
+  kernel->FillBuffer(0.);
include/rtkFFTHilbertImageFilter.hxx:49: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:50: trailing whitespace.
+  itk::ImageRegionIterator<FFTInputImageType> it(kernel, kernel->GetLargestPossibleRegion());
include/rtkFFTHilbertImageFilter.hxx:51: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:52: trailing whitespace.
+  // Compute band-limited kernel in space domain
include/rtkFFTHilbertImageFilter.hxx:53: trailing whitespace.
+  double    spacing = this->GetInput()->GetSpacing()[0];
include/rtkFFTHilbertImageFilter.hxx:54: trailing whitespace.
+  IndexType ix;
include/rtkFFTHilbertImageFilter.hxx:55: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:56: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:57: trailing whitespace.
+  while (!it.IsAtEnd())
include/rtkFFTHilbertImageFilter.hxx:58: trailing whitespace.
+  {
include/rtkFFTHilbertImageFilter.hxx:59: trailing whitespace.
+    ix = it.GetIndex();
include/rtkFFTHilbertImageFilter.hxx:60: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:61: trailing whitespace.
+    double x = ix[0] * spacing;
include/rtkFFTHilbertImageFilter.hxx:62: trailing whitespace.
+    if (ix[0] > size[0] / 2)
include/rtkFFTHilbertImageFilter.hxx:63: trailing whitespace.
+      x -= size[0] * spacing;
include/rtkFFTHilbertImageFilter.hxx:64: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:65: trailing whitespace.
+    if (x == 0.)
include/rtkFFTHilbertImageFilter.hxx:66: trailing whitespace.
+    {
include/rtkFFTHilbertImageFilter.hxx:67: trailing whitespace.
+      it.Set(0.);
include/rtkFFTHilbertImageFilter.hxx:68: trailing whitespace.
+    }
include/rtkFFTHilbertImageFilter.hxx:69: trailing whitespace.
+    else
include/rtkFFTHilbertImageFilter.hxx:70: trailing whitespace.
+    {
include/rtkFFTHilbertImageFilter.hxx:71: trailing whitespace.
+      double v = spacing * (1. - std::cos(itk::Math::pi * x / spacing)) / (itk::Math::pi * x);
include/rtkFFTHilbertImageFilter.hxx:72: trailing whitespace.
+      it.Set(v);
include/rtkFFTHilbertImageFilter.hxx:73: trailing whitespace.
+    }
include/rtkFFTHilbertImageFilter.hxx:74: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:75: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:76: trailing whitespace.
+    ++it;
include/rtkFFTHilbertImageFilter.hxx:77: trailing whitespace.
+  }
include/rtkFFTHilbertImageFilter.hxx:78: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:79: trailing whitespace.
+  // FFT kernel
include/rtkFFTHilbertImageFilter.hxx:80: trailing whitespace.
+  using FFTType = itk::RealToHalfHermitianForwardFFTImageFilter<FFTInputImageType, FFTOutputImageType>;
include/rtkFFTHilbertImageFilter.hxx:81: trailing whitespace.
+  typename FFTType::Pointer fftK = FFTType::New();
include/rtkFFTHilbertImageFilter.hxx:82: trailing whitespace.
+  fftK->SetInput(kernel);
include/rtkFFTHilbertImageFilter.hxx:83: trailing whitespace.
+  fftK->SetNumberOfWorkUnits(this->GetNumberOfWorkUnits());
include/rtkFFTHilbertImageFilter.hxx:84: trailing whitespace.
+  fftK->Update();
include/rtkFFTHilbertImageFilter.hxx:85: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:86: trailing whitespace.
+  this->m_KernelFFT = fftK->GetOutput();
include/rtkFFTHilbertImageFilter.hxx:87: trailing whitespace.
+  this->m_KernelFFT->DisconnectPipeline();
include/rtkFFTHilbertImageFilter.hxx:88: trailing whitespace.
+}
include/rtkFFTHilbertImageFilter.hxx:89: trailing whitespace.
+
include/rtkFFTHilbertImageFilter.hxx:90: trailing whitespace.
+} // end namespace rtk
include/rtkFFTHilbertImageFilter.hxx:91: trailing whitespace.
+#endif
include/rtkHilbertTransformOnKappaLinesImageFilter.h:1: trailing whitespace.
+/*=========================================================================
include/rtkHilbertTransformOnKappaLinesImageFilter.h:2: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.h:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkHilbertTransformOnKappaLinesImageFilter.h:4: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.h:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkHilbertTransformOnKappaLinesImageFilter.h:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkHilbertTransformOnKappaLinesImageFilter.h:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkHilbertTransformOnKappaLinesImageFilter.h:8: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.h:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkHilbertTransformOnKappaLinesImageFilter.h:10: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.h:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkHilbertTransformOnKappaLinesImageFilter.h:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkHilbertTransformOnKappaLinesImageFilter.h:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkHilbertTransformOnKappaLinesImageFilter.h:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkHilbertTransformOnKappaLinesImageFilter.h:15: trailing whitespace.
+ *  limitations under the License.
include/rtkHilbertTransformOnKappaLinesImageFilter.h:16: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.h:17: trailing whitespace.
+ *=========================================================================*/
include/rtkHilbertTransformOnKappaLinesImageFilter.h:18: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:19: trailing whitespace.
+#ifndef rtkHilbertTransformOnKappaLinesImageFilter_h
include/rtkHilbertTransformOnKappaLinesImageFilter.h:20: trailing whitespace.
+#define rtkHilbertTransformOnKappaLinesImageFilter_h
include/rtkHilbertTransformOnKappaLinesImageFilter.h:21: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:22: trailing whitespace.
+#include "rtkKatsevichForwardBinningImageFilter.h"
include/rtkHilbertTransformOnKappaLinesImageFilter.h:23: trailing whitespace.
+#include "rtkFFTHilbertImageFilter.h"
include/rtkHilbertTransformOnKappaLinesImageFilter.h:24: trailing whitespace.
+#include "rtkKatsevichBackwardBinningImageFilter.h"
include/rtkHilbertTransformOnKappaLinesImageFilter.h:25: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:26: trailing whitespace.
+#include <itkInPlaceImageFilter.h>
include/rtkHilbertTransformOnKappaLinesImageFilter.h:27: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:28: trailing whitespace.
+#include <itkNumericTraits.h>
include/rtkHilbertTransformOnKappaLinesImageFilter.h:29: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:30: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:31: trailing whitespace.
+namespace rtk
include/rtkHilbertTransformOnKappaLinesImageFilter.h:32: trailing whitespace.
+{
include/rtkHilbertTransformOnKappaLinesImageFilter.h:33: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:34: trailing whitespace.
+/** \class katsHilbertTransformOnKappaLinesImageFilter
include/rtkHilbertTransformOnKappaLinesImageFilter.h:35: trailing whitespace.
+ * \brief Implements the Hilbert transform as described in Noo et al., PMB, 2003.
include/rtkHilbertTransformOnKappaLinesImageFilter.h:36: trailing whitespace.
+ * It is 3-step :
include/rtkHilbertTransformOnKappaLinesImageFilter.h:37: trailing whitespace.
+ *  - Resample the data in v on the psi angle values
include/rtkHilbertTransformOnKappaLinesImageFilter.h:38: trailing whitespace.
+ *  - Apply 1D Hilbert transform on the resampled psi-direction.
include/rtkHilbertTransformOnKappaLinesImageFilter.h:39: trailing whitespace.
+ *  - Resample the data back to the usual vertical coordinates.
include/rtkHilbertTransformOnKappaLinesImageFilter.h:40: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.h:41: trailing whitespace.
+ * \author Jerome Lesaint and Alexandre Esa
include/rtkHilbertTransformOnKappaLinesImageFilter.h:42: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.h:43: trailing whitespace.
+ * \test katsHilbertTransformOnKappaLines.cxx, katsKatsevitchHelicalReconstructionImageFilterTets.cxx.
include/rtkHilbertTransformOnKappaLinesImageFilter.h:44: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.h:45: trailing whitespace.
+ * \ingroup
include/rtkHilbertTransformOnKappaLinesImageFilter.h:46: trailing whitespace.
+ */
include/rtkHilbertTransformOnKappaLinesImageFilter.h:47: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkHilbertTransformOnKappaLinesImageFilter.h:48: trailing whitespace.
+class ITK_EXPORT HilbertTransformOnKappaLinesImageFilter : public itk::ImageToImageFilter<TInputImage, TOutputImage>
include/rtkHilbertTransformOnKappaLinesImageFilter.h:49: trailing whitespace.
+{
include/rtkHilbertTransformOnKappaLinesImageFilter.h:50: trailing whitespace.
+public:
include/rtkHilbertTransformOnKappaLinesImageFilter.h:51: trailing whitespace.
+  ITK_DISALLOW_COPY_AND_ASSIGN(HilbertTransformOnKappaLinesImageFilter);
include/rtkHilbertTransformOnKappaLinesImageFilter.h:52: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:53: trailing whitespace.
+  using Self = HilbertTransformOnKappaLinesImageFilter;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:54: trailing whitespace.
+  using Superclass = itk::ImageToImageFilter<TInputImage, TOutputImage>;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:55: trailing whitespace.
+  using Pointer = itk::SmartPointer<Self>;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:56: trailing whitespace.
+  using ConstPointer = itk::SmartPointer<const Self>;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:57: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:58: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:59: trailing whitespace.
+  /** Method for creation through object factory */
include/rtkHilbertTransformOnKappaLinesImageFilter.h:60: trailing whitespace.
+  itkNewMacro(Self);
include/rtkHilbertTransformOnKappaLinesImageFilter.h:61: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:62: trailing whitespace.
+  /** Run-time type information */
include/rtkHilbertTransformOnKappaLinesImageFilter.h:63: trailing whitespace.
+  itkTypeMacro(HilbertTransformOnKappaLinesImageFilter, ImageToImageFilter);
include/rtkHilbertTransformOnKappaLinesImageFilter.h:64: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:65: trailing whitespace.
+  using InputImageType = TInputImage;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:66: trailing whitespace.
+  using OutputImageType = TOutputImage;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:67: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:68: trailing whitespace.
+  using GeometryType = rtk::ThreeDHelicalProjectionGeometry;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:69: trailing whitespace.
+  using GeometryPointer = GeometryType::Pointer;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:70: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:71: trailing whitespace.
+  itkGetMacro(Geometry, GeometryPointer);
include/rtkHilbertTransformOnKappaLinesImageFilter.h:72: trailing whitespace.
+  itkSetMacro(Geometry, GeometryPointer);
include/rtkHilbertTransformOnKappaLinesImageFilter.h:73: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:74: trailing whitespace.
+protected:
include/rtkHilbertTransformOnKappaLinesImageFilter.h:75: trailing whitespace.
+  HilbertTransformOnKappaLinesImageFilter();
include/rtkHilbertTransformOnKappaLinesImageFilter.h:76: trailing whitespace.
+  ~HilbertTransformOnKappaLinesImageFilter() override = default;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:77: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:78: trailing whitespace.
+protected:
include/rtkHilbertTransformOnKappaLinesImageFilter.h:79: trailing whitespace.
+  using ForwardBinningType = KatsevichForwardBinningImageFilter<InputImageType, OutputImageType>;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:80: trailing whitespace.
+  using FFTHilbertType = FFTHilbertImageFilter<InputImageType, OutputImageType>;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:81: trailing whitespace.
+  using BackwardBinningType = KatsevichBackwardBinningImageFilter<InputImageType, OutputImageType>;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:82: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:83: trailing whitespace.
+  void
include/rtkHilbertTransformOnKappaLinesImageFilter.h:84: trailing whitespace.
+  GenerateData() override;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:85: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:86: trailing whitespace.
+  void
include/rtkHilbertTransformOnKappaLinesImageFilter.h:87: trailing whitespace.
+  GenerateOutputInformation() override;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:88: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:89: trailing whitespace.
+  /** Display */
include/rtkHilbertTransformOnKappaLinesImageFilter.h:90: trailing whitespace.
+  void
include/rtkHilbertTransformOnKappaLinesImageFilter.h:91: trailing whitespace.
+  PrintSelf(std::ostream & os, itk::Indent indent) const override;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:92: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:93: trailing whitespace.
+private:
include/rtkHilbertTransformOnKappaLinesImageFilter.h:94: trailing whitespace.
+  typename ForwardBinningType::Pointer  m_ForwardFilter;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:95: trailing whitespace.
+  typename FFTHilbertType::Pointer      m_HilbertFilter;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:96: trailing whitespace.
+  typename BackwardBinningType::Pointer m_BackwardFilter;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:97: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:98: trailing whitespace.
+  GeometryPointer m_Geometry;
include/rtkHilbertTransformOnKappaLinesImageFilter.h:99: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:100: trailing whitespace.
+}; // end of class
include/rtkHilbertTransformOnKappaLinesImageFilter.h:101: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:102: trailing whitespace.
+} // end namespace rtk
include/rtkHilbertTransformOnKappaLinesImageFilter.h:103: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:104: trailing whitespace.
+#ifndef ITK_MANUAL_INSTANTIATION
include/rtkHilbertTransformOnKappaLinesImageFilter.h:105: trailing whitespace.
+#  include "rtkHilbertTransformOnKappaLinesImageFilter.hxx"
include/rtkHilbertTransformOnKappaLinesImageFilter.h:106: trailing whitespace.
+#endif
include/rtkHilbertTransformOnKappaLinesImageFilter.h:107: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.h:108: trailing whitespace.
+#endif
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:1: trailing whitespace.
+/*=========================================================================
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:2: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:4: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:8: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:10: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:15: trailing whitespace.
+ *  limitations under the License.
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:16: trailing whitespace.
+ *
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:17: trailing whitespace.
+ *=========================================================================*/
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:18: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:19: trailing whitespace.
+#ifndef rtkHilbertTransformOnKappaLinesImageFilter_hxx
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:20: trailing whitespace.
+#define rtkHilbertTransformOnKappaLinesImageFilter_hxx
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:21: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:22: trailing whitespace.
+#include "rtkHilbertTransformOnKappaLinesImageFilter.h"
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:23: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:24: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:25: trailing whitespace.
+namespace rtk
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:26: trailing whitespace.
+{
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:27: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:28: trailing whitespace.
+template <typename TInputImage, typename TOutputImage>
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:29: trailing whitespace.
+void
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:30: trailing whitespace.
+HilbertTransformOnKappaLinesImageFilter<TInputImage, TOutputImage>::GenerateOutputInformation()
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:31: trailing whitespace.
+{
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:32: trailing whitespace.
+  // Mettre a jour la taille de l'image de sortie. Ainsi que l'origine.
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:33: trailing whitespace.
+  // Sur le modele de itk::ShrinkImageFilter
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:34: trailing whitespace.
+  // Call the superclass' implementation of this method
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:35: trailing whitespace.
+  Superclass::GenerateOutputInformation();
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:36: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:37: trailing whitespace.
+  // std::cout << "(Hilbert transf) Input Size : " << this->GetInput()->GetLargestPossibleRegion().GetSize();
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:38: trailing whitespace.
+  // std::cout << " Inpu torigin : " << this->GetInput()->GetOrigin() << std::endl;
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:39: trailing whitespace.
+}
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:40: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:41: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:42: trailing whitespace.
+HilbertTransformOnKappaLinesImageFilter<TInputImage, TOutputImage>::HilbertTransformOnKappaLinesImageFilter()
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:43: trailing whitespace.
+{
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:44: trailing whitespace.
+  m_ForwardFilter = ForwardBinningType::New();
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:45: trailing whitespace.
+  m_HilbertFilter = FFTHilbertType::New();
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:46: trailing whitespace.
+  m_HilbertFilter->SetInput(m_ForwardFilter->GetOutput());
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:47: trailing whitespace.
+  m_BackwardFilter = BackwardBinningType::New();
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:48: trailing whitespace.
+  m_BackwardFilter->SetInput(m_HilbertFilter->GetOutput());
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:49: trailing whitespace.
+}
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:50: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:51: trailing whitespace.
+template <typename TInputImage, typename TOutputImage>
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:52: trailing whitespace.
+void
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:53: trailing whitespace.
+HilbertTransformOnKappaLinesImageFilter<TInputImage, TOutputImage>::GenerateData()
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:54: trailing whitespace.
+{
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:55: trailing whitespace.
+  typename InputImageType::Pointer input = InputImageType::New();
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:56: trailing whitespace.
+  input->Graft(const_cast<InputImageType *>(this->GetInput()));
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:57: trailing whitespace.
+  m_ForwardFilter->SetInput(input);
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:58: trailing whitespace.
+  m_ForwardFilter->SetGeometry(this->m_Geometry);
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:59: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:60: trailing whitespace.
+  m_BackwardFilter->SetGeometry(this->m_Geometry);
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:61: trailing whitespace.
+  m_BackwardFilter->GraftOutput(this->GetOutput());
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:62: trailing whitespace.
+  m_BackwardFilter->Update();
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:63: trailing whitespace.
+  this->GraftOutput(m_BackwardFilter->GetOutput());
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:64: trailing whitespace.
+}
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:65: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:66: trailing whitespace.
+template <typename TInputImage, typename TOutputImage>
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:67: trailing whitespace.
+void
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:68: trailing whitespace.
+HilbertTransformOnKappaLinesImageFilter<TInputImage, TOutputImage>::PrintSelf(std::ostream & os,
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:69: trailing whitespace.
+                                                                              itk::Indent    indent) const
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:70: trailing whitespace.
+{
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:71: trailing whitespace.
+  Superclass::PrintSelf(os, indent);
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:72: trailing whitespace.
+  os << indent << "This is a Hilbert Image Filter" << std::endl;
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:73: trailing whitespace.
+}
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:74: trailing whitespace.
+
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:75: trailing whitespace.
+} // namespace rtk
include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:76: trailing whitespace.
+#endif
include/rtkKatsevichBackProjectionImageFilter.h:1: trailing whitespace.
+/*=========================================================================
include/rtkKatsevichBackProjectionImageFilter.h:2: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.h:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkKatsevichBackProjectionImageFilter.h:4: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.h:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkKatsevichBackProjectionImageFilter.h:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkKatsevichBackProjectionImageFilter.h:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkKatsevichBackProjectionImageFilter.h:8: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.h:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkKatsevichBackProjectionImageFilter.h:10: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.h:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkKatsevichBackProjectionImageFilter.h:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkKatsevichBackProjectionImageFilter.h:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkKatsevichBackProjectionImageFilter.h:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkKatsevichBackProjectionImageFilter.h:15: trailing whitespace.
+ *  limitations under the License.
include/rtkKatsevichBackProjectionImageFilter.h:16: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.h:17: trailing whitespace.
+ *=========================================================================*/
include/rtkKatsevichBackProjectionImageFilter.h:18: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:19: trailing whitespace.
+#ifndef rtkKatsevichBackProjectionImageFilter_h
include/rtkKatsevichBackProjectionImageFilter.h:20: trailing whitespace.
+#define rtkKatsevichBackProjectionImageFilter_h
include/rtkKatsevichBackProjectionImageFilter.h:21: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:22: trailing whitespace.
+#include <rtkConfiguration.h>
include/rtkKatsevichBackProjectionImageFilter.h:23: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:24: trailing whitespace.
+#include <itkInPlaceImageFilter.h>
include/rtkKatsevichBackProjectionImageFilter.h:25: trailing whitespace.
+#include <itkConceptChecking.h>
include/rtkKatsevichBackProjectionImageFilter.h:26: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:27: trailing whitespace.
+#include <rtkThreeDHelicalProjectionGeometry.h>
include/rtkKatsevichBackProjectionImageFilter.h:28: trailing whitespace.
+#include <rtkPILineImageFilter.h>
include/rtkKatsevichBackProjectionImageFilter.h:29: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:30: trailing whitespace.
+#include <type_traits>
include/rtkKatsevichBackProjectionImageFilter.h:31: trailing whitespace.
+#include <typeinfo>
include/rtkKatsevichBackProjectionImageFilter.h:32: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:33: trailing whitespace.
+namespace rtk
include/rtkKatsevichBackProjectionImageFilter.h:34: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.h:35: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:36: trailing whitespace.
+/** \class KatsevichBackProjectionImageFilter
include/rtkKatsevichBackProjectionImageFilter.h:37: trailing whitespace.
+ * \brief 3D backprojection
include/rtkKatsevichBackProjectionImageFilter.h:38: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.h:39: trailing whitespace.
+ * Backprojects a stack of projection images (input 1) in a 3D volume (input 0)
include/rtkKatsevichBackProjectionImageFilter.h:40: trailing whitespace.
+ * using linear interpolation according to a specified geometry. The operation
include/rtkKatsevichBackProjectionImageFilter.h:41: trailing whitespace.
+ * is voxel-based, meaning that the center of each voxel is projected in the
include/rtkKatsevichBackProjectionImageFilter.h:42: trailing whitespace.
+ * projection images to determine the interpolation location.
include/rtkKatsevichBackProjectionImageFilter.h:43: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.h:44: trailing whitespace.
+ * \test
include/rtkKatsevichBackProjectionImageFilter.h:45: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.h:46: trailing whitespace.
+ * \author Simon Rit, Jerome Lesaint
include/rtkKatsevichBackProjectionImageFilter.h:47: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.h:48: trailing whitespace.
+ * \ingroup RTK Projector
include/rtkKatsevichBackProjectionImageFilter.h:49: trailing whitespace.
+ */
include/rtkKatsevichBackProjectionImageFilter.h:50: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.h:51: trailing whitespace.
+class KatsevichBackProjectionImageFilter : public itk::InPlaceImageFilter<TInputImage, TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.h:52: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.h:53: trailing whitespace.
+public:
include/rtkKatsevichBackProjectionImageFilter.h:54: trailing whitespace.
+  ITK_DISALLOW_COPY_AND_ASSIGN(KatsevichBackProjectionImageFilter);
include/rtkKatsevichBackProjectionImageFilter.h:55: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:56: trailing whitespace.
+  /** Standard class type alias. */
include/rtkKatsevichBackProjectionImageFilter.h:57: trailing whitespace.
+  using Self = KatsevichBackProjectionImageFilter;
include/rtkKatsevichBackProjectionImageFilter.h:58: trailing whitespace.
+  using Superclass = itk::ImageToImageFilter<TInputImage, TOutputImage>;
include/rtkKatsevichBackProjectionImageFilter.h:59: trailing whitespace.
+  using Pointer = itk::SmartPointer<Self>;
include/rtkKatsevichBackProjectionImageFilter.h:60: trailing whitespace.
+  using ConstPointer = itk::SmartPointer<const Self>;
include/rtkKatsevichBackProjectionImageFilter.h:61: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:62: trailing whitespace.
+  /** Convenient type alias. */
include/rtkKatsevichBackProjectionImageFilter.h:63: trailing whitespace.
+  using InputPixelType = typename TInputImage::PixelType;
include/rtkKatsevichBackProjectionImageFilter.h:64: trailing whitespace.
+  using InternalInputPixelType = typename TInputImage::InternalPixelType;
include/rtkKatsevichBackProjectionImageFilter.h:65: trailing whitespace.
+  using OutputImageRegionType = typename TOutputImage::RegionType;
include/rtkKatsevichBackProjectionImageFilter.h:66: trailing whitespace.
+  using GeometryType = rtk::ThreeDHelicalProjectionGeometry;
include/rtkKatsevichBackProjectionImageFilter.h:67: trailing whitespace.
+  using GeometryPointer = typename GeometryType::Pointer;
include/rtkKatsevichBackProjectionImageFilter.h:68: trailing whitespace.
+  using ProjectionMatrixType = typename GeometryType::MatrixType;
include/rtkKatsevichBackProjectionImageFilter.h:69: trailing whitespace.
+  using ProjectionImageType = itk::Image<InputPixelType, TInputImage::ImageDimension - 1>;
include/rtkKatsevichBackProjectionImageFilter.h:70: trailing whitespace.
+  using ProjectionImagePointer = typename ProjectionImageType::Pointer;
include/rtkKatsevichBackProjectionImageFilter.h:71: trailing whitespace.
+  using PILineRealType = float;
include/rtkKatsevichBackProjectionImageFilter.h:72: trailing whitespace.
+  using PILineImageType = itk::Image<itk::Vector<PILineRealType, 2>, TInputImage::ImageDimension>;
include/rtkKatsevichBackProjectionImageFilter.h:73: trailing whitespace.
+  using PILineImagePointer = typename PILineImageType::Pointer;
include/rtkKatsevichBackProjectionImageFilter.h:74: trailing whitespace.
+  using PILineImageFilterType = PILineImageFilter<TOutputImage, PILineImageType>;
include/rtkKatsevichBackProjectionImageFilter.h:75: trailing whitespace.
+  using PILinePointer = typename PILineImageFilterType::Pointer;
include/rtkKatsevichBackProjectionImageFilter.h:76: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:77: trailing whitespace.
+  /** Method for creation through the object factory. */
include/rtkKatsevichBackProjectionImageFilter.h:78: trailing whitespace.
+  itkNewMacro(Self);
include/rtkKatsevichBackProjectionImageFilter.h:79: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:80: trailing whitespace.
+  /** Run-time type information (and related methods). */
include/rtkKatsevichBackProjectionImageFilter.h:81: trailing whitespace.
+  itkTypeMacro(KatsevichBackProjectionImageFilter, itk::ImageToImageFilter);
include/rtkKatsevichBackProjectionImageFilter.h:82: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:83: trailing whitespace.
+  //  virtual void
include/rtkKatsevichBackProjectionImageFilter.h:84: trailing whitespace.
+  //  SetPILines(PILineImagePointer image) ;
include/rtkKatsevichBackProjectionImageFilter.h:85: trailing whitespace.
+  //
include/rtkKatsevichBackProjectionImageFilter.h:86: trailing whitespace.
+  //  virtual const PILineImagePointer
include/rtkKatsevichBackProjectionImageFilter.h:87: trailing whitespace.
+  //  GetPILines() const;
include/rtkKatsevichBackProjectionImageFilter.h:88: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:89: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:90: trailing whitespace.
+  /** Get / Set the object pointer to projection geometry */
include/rtkKatsevichBackProjectionImageFilter.h:91: trailing whitespace.
+  itkGetModifiableObjectMacro(Geometry, GeometryType);
include/rtkKatsevichBackProjectionImageFilter.h:92: trailing whitespace.
+  itkSetObjectMacro(Geometry, GeometryType);
include/rtkKatsevichBackProjectionImageFilter.h:93: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:94: trailing whitespace.
+  ///** Get / Set the object pointer to PILines */
include/rtkKatsevichBackProjectionImageFilter.h:95: trailing whitespace.
+  // itkGetMacro(PILines, PILinePointer);
include/rtkKatsevichBackProjectionImageFilter.h:96: trailing whitespace.
+  // itkSetMacro(PILines, PILinePointer);
include/rtkKatsevichBackProjectionImageFilter.h:97: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:98: trailing whitespace.
+  /** Get / Set the transpose flag for 2D projections (optimization trick) */
include/rtkKatsevichBackProjectionImageFilter.h:99: trailing whitespace.
+  itkGetMacro(Transpose, bool);
include/rtkKatsevichBackProjectionImageFilter.h:100: trailing whitespace.
+  itkSetMacro(Transpose, bool);
include/rtkKatsevichBackProjectionImageFilter.h:101: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:102: trailing whitespace.
+protected:
include/rtkKatsevichBackProjectionImageFilter.h:103: trailing whitespace.
+  KatsevichBackProjectionImageFilter();
include/rtkKatsevichBackProjectionImageFilter.h:104: trailing whitespace.
+  ~KatsevichBackProjectionImageFilter() override = default;
include/rtkKatsevichBackProjectionImageFilter.h:105: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:106: trailing whitespace.
+  /** Checks that inputs are correctly set. */
include/rtkKatsevichBackProjectionImageFilter.h:107: trailing whitespace.
+  void
include/rtkKatsevichBackProjectionImageFilter.h:108: trailing whitespace.
+  VerifyPreconditions() ITKv5_CONST override;
include/rtkKatsevichBackProjectionImageFilter.h:109: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:110: trailing whitespace.
+  /** Apply changes to the input image requested region. */
include/rtkKatsevichBackProjectionImageFilter.h:111: trailing whitespace.
+  void
include/rtkKatsevichBackProjectionImageFilter.h:112: trailing whitespace.
+  GenerateInputRequestedRegion() override;
include/rtkKatsevichBackProjectionImageFilter.h:113: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:114: trailing whitespace.
+  void
include/rtkKatsevichBackProjectionImageFilter.h:115: trailing whitespace.
+  BeforeThreadedGenerateData() override;
include/rtkKatsevichBackProjectionImageFilter.h:116: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:117: trailing whitespace.
+  void
include/rtkKatsevichBackProjectionImageFilter.h:118: trailing whitespace.
+  DynamicThreadedGenerateData(const OutputImageRegionType & outputRegionForThread) override;
include/rtkKatsevichBackProjectionImageFilter.h:119: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:120: trailing whitespace.
+  /** Special case when the detector is cylindrical and centered on source */
include/rtkKatsevichBackProjectionImageFilter.h:121: trailing whitespace.
+  virtual void
include/rtkKatsevichBackProjectionImageFilter.h:122: trailing whitespace.
+  CylindricalDetectorCenteredOnSourceBackprojection(
include/rtkKatsevichBackProjectionImageFilter.h:123: trailing whitespace.
+    const OutputImageRegionType &                                                         region,
include/rtkKatsevichBackProjectionImageFilter.h:124: trailing whitespace.
+    const ProjectionMatrixType &                                                          volIndexToProjPP,
include/rtkKatsevichBackProjectionImageFilter.h:125: trailing whitespace.
+    const itk::Matrix<double, TInputImage::ImageDimension, TInputImage::ImageDimension> & projPPToProjIndex,
include/rtkKatsevichBackProjectionImageFilter.h:126: trailing whitespace.
+    const ProjectionImagePointer                                                          projection,
include/rtkKatsevichBackProjectionImageFilter.h:127: trailing whitespace.
+    const double                                                                          lambda,
include/rtkKatsevichBackProjectionImageFilter.h:128: trailing whitespace.
+    const double                                                                          delta_lambda);
include/rtkKatsevichBackProjectionImageFilter.h:129: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:130: trailing whitespace.
+  /** Optimized version when the rotation is parallel to X, i.e. matrix[1][0]
include/rtkKatsevichBackProjectionImageFilter.h:131: trailing whitespace.
+    and matrix[2][0] are zeros. */
include/rtkKatsevichBackProjectionImageFilter.h:132: trailing whitespace.
+  virtual void
include/rtkKatsevichBackProjectionImageFilter.h:133: trailing whitespace.
+  OptimizedBackprojectionX(const OutputImageRegionType & region,
include/rtkKatsevichBackProjectionImageFilter.h:134: trailing whitespace.
+                           const ProjectionMatrixType &  matrix,
include/rtkKatsevichBackProjectionImageFilter.h:135: trailing whitespace.
+                           const ProjectionImagePointer  projection,
include/rtkKatsevichBackProjectionImageFilter.h:136: trailing whitespace.
+                           const double                  lambda,
include/rtkKatsevichBackProjectionImageFilter.h:137: trailing whitespace.
+                           const double                  delta_lambda);
include/rtkKatsevichBackProjectionImageFilter.h:138: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:139: trailing whitespace.
+  /** Optimized version when the rotation is parallel to Y, i.e. matrix[1][1]
include/rtkKatsevichBackProjectionImageFilter.h:140: trailing whitespace.
+    and matrix[2][1] are zeros. */
include/rtkKatsevichBackProjectionImageFilter.h:141: trailing whitespace.
+  virtual void
include/rtkKatsevichBackProjectionImageFilter.h:142: trailing whitespace.
+  OptimizedBackprojectionY(const OutputImageRegionType & region,
include/rtkKatsevichBackProjectionImageFilter.h:143: trailing whitespace.
+                           const ProjectionMatrixType &  matrix,
include/rtkKatsevichBackProjectionImageFilter.h:144: trailing whitespace.
+                           const ProjectionImagePointer  projection,
include/rtkKatsevichBackProjectionImageFilter.h:145: trailing whitespace.
+                           const double                  lambda,
include/rtkKatsevichBackProjectionImageFilter.h:146: trailing whitespace.
+                           const double                  delta_lambda);
include/rtkKatsevichBackProjectionImageFilter.h:147: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:148: trailing whitespace.
+  /** The two inputs should not be in the same space so there is nothing
include/rtkKatsevichBackProjectionImageFilter.h:149: trailing whitespace.
+   * to verify. */
include/rtkKatsevichBackProjectionImageFilter.h:150: trailing whitespace.
+  void
include/rtkKatsevichBackProjectionImageFilter.h:151: trailing whitespace.
+  VerifyInputInformation() const override
include/rtkKatsevichBackProjectionImageFilter.h:152: trailing whitespace.
+  {}
include/rtkKatsevichBackProjectionImageFilter.h:153: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:154: trailing whitespace.
+  /** The input is a stack of projections, we need to interpolate in one projection
include/rtkKatsevichBackProjectionImageFilter.h:155: trailing whitespace.
+      for efficiency during interpolation. Use of itk::ExtractImageFilter is
include/rtkKatsevichBackProjectionImageFilter.h:156: trailing whitespace.
+      not threadsafe in ThreadedGenerateData, this one is. The output can be multiplied by a constant.
include/rtkKatsevichBackProjectionImageFilter.h:157: trailing whitespace.
+      The function is templated to allow getting an itk::CudaImage. */
include/rtkKatsevichBackProjectionImageFilter.h:158: trailing whitespace.
+  template <class TProjectionImage>
include/rtkKatsevichBackProjectionImageFilter.h:159: trailing whitespace.
+  typename TProjectionImage::Pointer
include/rtkKatsevichBackProjectionImageFilter.h:160: trailing whitespace.
+  GetProjection(const unsigned int iProj);
include/rtkKatsevichBackProjectionImageFilter.h:161: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:162: trailing whitespace.
+  /** Creates iProj index to index projection matrices with current inputs
include/rtkKatsevichBackProjectionImageFilter.h:163: trailing whitespace.
+      instead of the physical point to physical point projection matrix provided by Geometry */
include/rtkKatsevichBackProjectionImageFilter.h:164: trailing whitespace.
+  ProjectionMatrixType
include/rtkKatsevichBackProjectionImageFilter.h:165: trailing whitespace.
+  GetIndexToIndexProjectionMatrix(const unsigned int iProj);
include/rtkKatsevichBackProjectionImageFilter.h:166: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:167: trailing whitespace.
+  ProjectionMatrixType
include/rtkKatsevichBackProjectionImageFilter.h:168: trailing whitespace.
+  GetVolumeIndexToProjectionPhysicalPointMatrix(const unsigned int iProj);
include/rtkKatsevichBackProjectionImageFilter.h:169: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:170: trailing whitespace.
+  itk::Matrix<double, TInputImage::ImageDimension, TInputImage::ImageDimension>
include/rtkKatsevichBackProjectionImageFilter.h:171: trailing whitespace.
+  GetProjectionPhysicalPointToProjectionIndexMatrix(const unsigned int iProj);
include/rtkKatsevichBackProjectionImageFilter.h:172: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:173: trailing whitespace.
+  /** RTK geometry object */
include/rtkKatsevichBackProjectionImageFilter.h:174: trailing whitespace.
+  GeometryPointer    m_Geometry;
include/rtkKatsevichBackProjectionImageFilter.h:175: trailing whitespace.
+  PILineImagePointer m_PILines;
include/rtkKatsevichBackProjectionImageFilter.h:176: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:177: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:178: trailing whitespace.
+private:
include/rtkKatsevichBackProjectionImageFilter.h:179: trailing whitespace.
+  /** Flip projection flag: infludences GetProjection and
include/rtkKatsevichBackProjectionImageFilter.h:180: trailing whitespace.
+    GetIndexToIndexProjectionMatrix for optimization */
include/rtkKatsevichBackProjectionImageFilter.h:181: trailing whitespace.
+  bool m_Transpose{ false };
include/rtkKatsevichBackProjectionImageFilter.h:182: trailing whitespace.
+};
include/rtkKatsevichBackProjectionImageFilter.h:183: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:184: trailing whitespace.
+} // end namespace rtk
include/rtkKatsevichBackProjectionImageFilter.h:185: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:186: trailing whitespace.
+#ifndef ITK_MANUAL_INSTANTIATION
include/rtkKatsevichBackProjectionImageFilter.h:187: trailing whitespace.
+#  include "rtkKatsevichBackProjectionImageFilter.hxx"
include/rtkKatsevichBackProjectionImageFilter.h:188: trailing whitespace.
+#endif
include/rtkKatsevichBackProjectionImageFilter.h:189: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.h:190: trailing whitespace.
+#endif
include/rtkKatsevichBackProjectionImageFilter.hxx:1: trailing whitespace.
+/*=========================================================================
include/rtkKatsevichBackProjectionImageFilter.hxx:2: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.hxx:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkKatsevichBackProjectionImageFilter.hxx:4: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.hxx:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkKatsevichBackProjectionImageFilter.hxx:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkKatsevichBackProjectionImageFilter.hxx:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkKatsevichBackProjectionImageFilter.hxx:8: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.hxx:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkKatsevichBackProjectionImageFilter.hxx:10: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.hxx:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkKatsevichBackProjectionImageFilter.hxx:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkKatsevichBackProjectionImageFilter.hxx:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkKatsevichBackProjectionImageFilter.hxx:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkKatsevichBackProjectionImageFilter.hxx:15: trailing whitespace.
+ *  limitations under the License.
include/rtkKatsevichBackProjectionImageFilter.hxx:16: trailing whitespace.
+ *
include/rtkKatsevichBackProjectionImageFilter.hxx:17: trailing whitespace.
+ *=========================================================================*/
include/rtkKatsevichBackProjectionImageFilter.hxx:18: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:19: trailing whitespace.
+#ifndef rtkKatsevichBackProjectionImageFilter_hxx
include/rtkKatsevichBackProjectionImageFilter.hxx:20: trailing whitespace.
+#define rtkKatsevichBackProjectionImageFilter_hxx
include/rtkKatsevichBackProjectionImageFilter.hxx:21: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:22: trailing whitespace.
+#include "math.h"
include/rtkKatsevichBackProjectionImageFilter.hxx:23: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:24: trailing whitespace.
+#include "rtkKatsevichBackProjectionImageFilter.h"
include/rtkKatsevichBackProjectionImageFilter.hxx:25: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:26: trailing whitespace.
+#include <rtkHomogeneousMatrix.h>
include/rtkKatsevichBackProjectionImageFilter.hxx:27: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:28: trailing whitespace.
+#include <itkImageRegionConstIterator.h>
include/rtkKatsevichBackProjectionImageFilter.hxx:29: trailing whitespace.
+#include <itkImageRegionIteratorWithIndex.h>
include/rtkKatsevichBackProjectionImageFilter.hxx:30: trailing whitespace.
+#include <itkLinearInterpolateImageFunction.h>
include/rtkKatsevichBackProjectionImageFilter.hxx:31: trailing whitespace.
+#include <itkPixelTraits.h>
include/rtkKatsevichBackProjectionImageFilter.hxx:32: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:33: trailing whitespace.
+namespace rtk
include/rtkKatsevichBackProjectionImageFilter.hxx:34: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:35: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:36: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:37: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:38: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::KatsevichBackProjectionImageFilter()
include/rtkKatsevichBackProjectionImageFilter.hxx:39: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:40: trailing whitespace.
+  m_Geometry = nullptr;
include/rtkKatsevichBackProjectionImageFilter.hxx:41: trailing whitespace.
+  m_PILines = nullptr;
include/rtkKatsevichBackProjectionImageFilter.hxx:42: trailing whitespace.
+  this->SetNumberOfRequiredInputs(2);
include/rtkKatsevichBackProjectionImageFilter.hxx:43: trailing whitespace.
+  this->SetInPlace(true);
include/rtkKatsevichBackProjectionImageFilter.hxx:44: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:45: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:46: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:47: trailing whitespace.
+// template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:48: trailing whitespace.
+// void
include/rtkKatsevichBackProjectionImageFilter.hxx:49: trailing whitespace.
+// KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::SetPILines(PILineImageType * image)
include/rtkKatsevichBackProjectionImageFilter.hxx:50: trailing whitespace.
+//{
include/rtkKatsevichBackProjectionImageFilter.hxx:51: trailing whitespace.
+//  // Process object is not const-correct so the const_cast is required here
include/rtkKatsevichBackProjectionImageFilter.hxx:52: trailing whitespace.
+//  this->ProcessObject::SetNthInput(1, const_cast<PILineImageType *>(image));
include/rtkKatsevichBackProjectionImageFilter.hxx:53: trailing whitespace.
+//}
include/rtkKatsevichBackProjectionImageFilter.hxx:54: trailing whitespace.
+//
include/rtkKatsevichBackProjectionImageFilter.hxx:55: trailing whitespace.
+// template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:56: trailing whitespace.
+// const typename KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::PILineImageType *
include/rtkKatsevichBackProjectionImageFilter.hxx:57: trailing whitespace.
+// KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::GetPILines() const
include/rtkKatsevichBackProjectionImageFilter.hxx:58: trailing whitespace.
+//{
include/rtkKatsevichBackProjectionImageFilter.hxx:59: trailing whitespace.
+//  return itkDynamicCastInDebugMode<const PILineImageType *>(m_PILines);
include/rtkKatsevichBackProjectionImageFilter.hxx:60: trailing whitespace.
+//}
include/rtkKatsevichBackProjectionImageFilter.hxx:61: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:62: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:63: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:64: trailing whitespace.
+void
include/rtkKatsevichBackProjectionImageFilter.hxx:65: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::GenerateInputRequestedRegion()
include/rtkKatsevichBackProjectionImageFilter.hxx:66: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:67: trailing whitespace.
+  // Input 0 is the volume in which we backproject
include/rtkKatsevichBackProjectionImageFilter.hxx:68: trailing whitespace.
+  typename Superclass::InputImagePointer inputPtr0 = const_cast<TInputImage *>(this->GetInput(0));
include/rtkKatsevichBackProjectionImageFilter.hxx:69: trailing whitespace.
+  if (!inputPtr0)
include/rtkKatsevichBackProjectionImageFilter.hxx:70: trailing whitespace.
+    return;
include/rtkKatsevichBackProjectionImageFilter.hxx:71: trailing whitespace.
+  inputPtr0->SetRequestedRegion(this->GetOutput()->GetRequestedRegion());
include/rtkKatsevichBackProjectionImageFilter.hxx:72: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:73: trailing whitespace.
+  // Input 1 is the stack of projections to backproject
include/rtkKatsevichBackProjectionImageFilter.hxx:74: trailing whitespace.
+  typename Superclass::InputImagePointer inputPtr1 = const_cast<TInputImage *>(this->GetInput(1));
include/rtkKatsevichBackProjectionImageFilter.hxx:75: trailing whitespace.
+  if (!inputPtr1)
include/rtkKatsevichBackProjectionImageFilter.hxx:76: trailing whitespace.
+    return;
include/rtkKatsevichBackProjectionImageFilter.hxx:77: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:78: trailing whitespace.
+  // Geometry size check
include/rtkKatsevichBackProjectionImageFilter.hxx:79: trailing whitespace.
+  const unsigned int Dimension = TInputImage::ImageDimension;
include/rtkKatsevichBackProjectionImageFilter.hxx:80: trailing whitespace.
+  const int          lastProjIndex = this->GetInput(1)->GetLargestPossibleRegion().GetIndex(Dimension - 1) +
include/rtkKatsevichBackProjectionImageFilter.hxx:81: trailing whitespace.
+                            this->GetInput(1)->GetLargestPossibleRegion().GetSize(Dimension - 1);
include/rtkKatsevichBackProjectionImageFilter.hxx:82: trailing whitespace.
+  if ((int)this->m_Geometry->GetMatrices().size() < lastProjIndex)
include/rtkKatsevichBackProjectionImageFilter.hxx:83: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:84: trailing whitespace.
+    itkExceptionMacro(<< "Mismatch between the number of projections and the geometry entries. "
include/rtkKatsevichBackProjectionImageFilter.hxx:85: trailing whitespace.
+                      << "Geometry has " << this->m_Geometry->GetMatrices().size()
include/rtkKatsevichBackProjectionImageFilter.hxx:86: trailing whitespace.
+                      << " entries, which is less than the "
include/rtkKatsevichBackProjectionImageFilter.hxx:87: trailing whitespace.
+                      << "last index of the projections stack, i.e., " << lastProjIndex << ".");
include/rtkKatsevichBackProjectionImageFilter.hxx:88: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:89: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:90: trailing whitespace.
+  typename TInputImage::RegionType reqRegion = inputPtr1->GetLargestPossibleRegion();
include/rtkKatsevichBackProjectionImageFilter.hxx:91: trailing whitespace.
+  if (m_Geometry.GetPointer() == nullptr || m_Geometry->GetRadiusCylindricalDetector() != 0)
include/rtkKatsevichBackProjectionImageFilter.hxx:92: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:93: trailing whitespace.
+    inputPtr1->SetRequestedRegion(inputPtr1->GetLargestPossibleRegion());
include/rtkKatsevichBackProjectionImageFilter.hxx:94: trailing whitespace.
+    return;
include/rtkKatsevichBackProjectionImageFilter.hxx:95: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:96: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:97: trailing whitespace.
+  itk::ContinuousIndex<double, Dimension> cornerInf;
include/rtkKatsevichBackProjectionImageFilter.hxx:98: trailing whitespace.
+  itk::ContinuousIndex<double, Dimension> cornerSup;
include/rtkKatsevichBackProjectionImageFilter.hxx:99: trailing whitespace.
+  cornerInf[0] = itk::NumericTraits<double>::max();
include/rtkKatsevichBackProjectionImageFilter.hxx:100: trailing whitespace.
+  cornerSup[0] = itk::NumericTraits<double>::NonpositiveMin();
include/rtkKatsevichBackProjectionImageFilter.hxx:101: trailing whitespace.
+  cornerInf[1] = itk::NumericTraits<double>::max();
include/rtkKatsevichBackProjectionImageFilter.hxx:102: trailing whitespace.
+  cornerSup[1] = itk::NumericTraits<double>::NonpositiveMin();
include/rtkKatsevichBackProjectionImageFilter.hxx:103: trailing whitespace.
+  cornerInf[2] = reqRegion.GetIndex(2);
include/rtkKatsevichBackProjectionImageFilter.hxx:104: trailing whitespace.
+  cornerSup[2] = reqRegion.GetIndex(2) + reqRegion.GetSize(2);
include/rtkKatsevichBackProjectionImageFilter.hxx:105: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:106: trailing whitespace.
+  // Go over each projection
include/rtkKatsevichBackProjectionImageFilter.hxx:107: trailing whitespace.
+  const unsigned int nProj = this->GetInput(1)->GetLargestPossibleRegion().GetSize(Dimension - 1);
include/rtkKatsevichBackProjectionImageFilter.hxx:108: trailing whitespace.
+  const unsigned int iFirstProj = this->GetInput(1)->GetLargestPossibleRegion().GetIndex(Dimension - 1);
include/rtkKatsevichBackProjectionImageFilter.hxx:109: trailing whitespace.
+  this->SetTranspose(false);
include/rtkKatsevichBackProjectionImageFilter.hxx:110: trailing whitespace.
+  for (unsigned int iProj = iFirstProj; iProj < iFirstProj + nProj; iProj++)
include/rtkKatsevichBackProjectionImageFilter.hxx:111: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:112: trailing whitespace.
+    // Extract the current slice
include/rtkKatsevichBackProjectionImageFilter.hxx:113: trailing whitespace.
+    ProjectionMatrixType matrix = GetIndexToIndexProjectionMatrix(iProj);
include/rtkKatsevichBackProjectionImageFilter.hxx:114: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:115: trailing whitespace.
+    // Check which part of the projection image will be backprojected in the
include/rtkKatsevichBackProjectionImageFilter.hxx:116: trailing whitespace.
+    // volume.
include/rtkKatsevichBackProjectionImageFilter.hxx:117: trailing whitespace.
+    double firstPerspFactor = 0.;
include/rtkKatsevichBackProjectionImageFilter.hxx:118: trailing whitespace.
+    int    c[Dimension] = { 0 };
include/rtkKatsevichBackProjectionImageFilter.hxx:119: trailing whitespace.
+    for (c[2] = 0; c[2] < 2; c[2]++)
include/rtkKatsevichBackProjectionImageFilter.hxx:120: trailing whitespace.
+      for (c[1] = 0; c[1] < 2; c[1]++)
include/rtkKatsevichBackProjectionImageFilter.hxx:121: trailing whitespace.
+        for (c[0] = 0; c[0] < 2; c[0]++)
include/rtkKatsevichBackProjectionImageFilter.hxx:122: trailing whitespace.
+        {
include/rtkKatsevichBackProjectionImageFilter.hxx:123: trailing whitespace.
+          // Compute corner index
include/rtkKatsevichBackProjectionImageFilter.hxx:124: trailing whitespace.
+          const double                            eps = 1e-4;
include/rtkKatsevichBackProjectionImageFilter.hxx:125: trailing whitespace.
+          itk::ContinuousIndex<double, Dimension> index;
include/rtkKatsevichBackProjectionImageFilter.hxx:126: trailing whitespace.
+          for (unsigned int i = 0; i < Dimension; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:127: trailing whitespace.
+          {
include/rtkKatsevichBackProjectionImageFilter.hxx:128: trailing whitespace.
+            index[i] = this->GetOutput()->GetRequestedRegion().GetIndex()[i] - eps;
include/rtkKatsevichBackProjectionImageFilter.hxx:129: trailing whitespace.
+            index[i] += c[i] * (this->GetOutput()->GetRequestedRegion().GetSize(i) - 1 + 2 * eps);
include/rtkKatsevichBackProjectionImageFilter.hxx:130: trailing whitespace.
+          }
include/rtkKatsevichBackProjectionImageFilter.hxx:131: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:132: trailing whitespace.
+          // Compute projection index
include/rtkKatsevichBackProjectionImageFilter.hxx:133: trailing whitespace.
+          itk::ContinuousIndex<double, Dimension - 1> point;
include/rtkKatsevichBackProjectionImageFilter.hxx:134: trailing whitespace.
+          for (unsigned int i = 0; i < Dimension - 1; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:135: trailing whitespace.
+          {
include/rtkKatsevichBackProjectionImageFilter.hxx:136: trailing whitespace.
+            point[i] = matrix[i][Dimension];
include/rtkKatsevichBackProjectionImageFilter.hxx:137: trailing whitespace.
+            for (unsigned int j = 0; j < Dimension; j++)
include/rtkKatsevichBackProjectionImageFilter.hxx:138: trailing whitespace.
+              point[i] += matrix[i][j] * index[j];
include/rtkKatsevichBackProjectionImageFilter.hxx:139: trailing whitespace.
+          }
include/rtkKatsevichBackProjectionImageFilter.hxx:140: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:141: trailing whitespace.
+          // Apply perspective
include/rtkKatsevichBackProjectionImageFilter.hxx:142: trailing whitespace.
+          double perspFactor = matrix[Dimension - 1][Dimension];
include/rtkKatsevichBackProjectionImageFilter.hxx:143: trailing whitespace.
+          for (unsigned int j = 0; j < Dimension; j++)
include/rtkKatsevichBackProjectionImageFilter.hxx:144: trailing whitespace.
+            perspFactor += matrix[Dimension - 1][j] * index[j];
include/rtkKatsevichBackProjectionImageFilter.hxx:145: trailing whitespace.
+          perspFactor = 1 / perspFactor;
include/rtkKatsevichBackProjectionImageFilter.hxx:146: trailing whitespace.
+          for (unsigned int i = 0; i < Dimension - 1; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:147: trailing whitespace.
+            point[i] = point[i] * perspFactor;
include/rtkKatsevichBackProjectionImageFilter.hxx:148: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:149: trailing whitespace.
+          // Check if corners all have the same perspective factor sign.
include/rtkKatsevichBackProjectionImageFilter.hxx:150: trailing whitespace.
+          // If not, source is too close for easily computing a smaller requested
include/rtkKatsevichBackProjectionImageFilter.hxx:151: trailing whitespace.
+          // region than the largest possible one.
include/rtkKatsevichBackProjectionImageFilter.hxx:152: trailing whitespace.
+          if (c[0] + c[1] + c[2] == 0)
include/rtkKatsevichBackProjectionImageFilter.hxx:153: trailing whitespace.
+            firstPerspFactor = perspFactor;
include/rtkKatsevichBackProjectionImageFilter.hxx:154: trailing whitespace.
+          if (perspFactor * firstPerspFactor < 0.) // Change of sign
include/rtkKatsevichBackProjectionImageFilter.hxx:155: trailing whitespace.
+          {
include/rtkKatsevichBackProjectionImageFilter.hxx:156: trailing whitespace.
+            inputPtr1->SetRequestedRegion(inputPtr1->GetLargestPossibleRegion());
include/rtkKatsevichBackProjectionImageFilter.hxx:157: trailing whitespace.
+            return;
include/rtkKatsevichBackProjectionImageFilter.hxx:158: trailing whitespace.
+          }
include/rtkKatsevichBackProjectionImageFilter.hxx:159: trailing whitespace.
+          // Look for extremas on projection to calculate requested region
include/rtkKatsevichBackProjectionImageFilter.hxx:160: trailing whitespace.
+          for (int i = 0; i < 2; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:161: trailing whitespace.
+          {
include/rtkKatsevichBackProjectionImageFilter.hxx:162: trailing whitespace.
+            cornerInf[i] = std::min(cornerInf[i], point[i]);
include/rtkKatsevichBackProjectionImageFilter.hxx:163: trailing whitespace.
+            cornerSup[i] = std::max(cornerSup[i], point[i]);
include/rtkKatsevichBackProjectionImageFilter.hxx:164: trailing whitespace.
+          }
include/rtkKatsevichBackProjectionImageFilter.hxx:165: trailing whitespace.
+        }
include/rtkKatsevichBackProjectionImageFilter.hxx:166: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:167: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:168: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:169: trailing whitespace.
+  // std::cout << "Corner inf : " << cornerInf << "Corner sup " << cornerSup << std::endl;
include/rtkKatsevichBackProjectionImageFilter.hxx:170: trailing whitespace.
+  reqRegion.SetIndex(0, itk::Math::floor(cornerInf[0]));
include/rtkKatsevichBackProjectionImageFilter.hxx:171: trailing whitespace.
+  reqRegion.SetIndex(1, itk::Math::floor(cornerInf[1]));
include/rtkKatsevichBackProjectionImageFilter.hxx:172: trailing whitespace.
+  reqRegion.SetSize(0, itk::Math::ceil(cornerSup[0] - reqRegion.GetIndex(0)) + 1);
include/rtkKatsevichBackProjectionImageFilter.hxx:173: trailing whitespace.
+  reqRegion.SetSize(1, itk::Math::ceil(cornerSup[1] - reqRegion.GetIndex(1)) + 1);
include/rtkKatsevichBackProjectionImageFilter.hxx:174: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:175: trailing whitespace.
+  // std::cout << "BP GenerateInputReqReg - 3 - Req region : " << reqRegion.GetSize() << std::endl;
include/rtkKatsevichBackProjectionImageFilter.hxx:176: trailing whitespace.
+  if (reqRegion.Crop(inputPtr1->GetLargestPossibleRegion()))
include/rtkKatsevichBackProjectionImageFilter.hxx:177: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:178: trailing whitespace.
+    // std::cout << "if" << std::endl;
include/rtkKatsevichBackProjectionImageFilter.hxx:179: trailing whitespace.
+    inputPtr1->SetRequestedRegion(reqRegion);
include/rtkKatsevichBackProjectionImageFilter.hxx:180: trailing whitespace.
+    // std::cout << "if inputRR : " << inputPtr1->GetRequestedRegion().GetIndex() <<
include/rtkKatsevichBackProjectionImageFilter.hxx:181: trailing whitespace.
+    // inputPtr1->GetRequestedRegion().GetSize() << std::endl;
include/rtkKatsevichBackProjectionImageFilter.hxx:182: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:183: trailing whitespace.
+  else
include/rtkKatsevichBackProjectionImageFilter.hxx:184: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:185: trailing whitespace.
+    // std::cout << "else" << std::endl;
include/rtkKatsevichBackProjectionImageFilter.hxx:186: trailing whitespace.
+    inputPtr1->SetRequestedRegion(inputPtr1->GetLargestPossibleRegion());
include/rtkKatsevichBackProjectionImageFilter.hxx:187: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:188: trailing whitespace.
+  // std::cout << "just before end of GenerateInputReqReg" << std::endl;
include/rtkKatsevichBackProjectionImageFilter.hxx:189: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:190: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:191: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:192: trailing whitespace.
+void
include/rtkKatsevichBackProjectionImageFilter.hxx:193: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::VerifyPreconditions() ITKv5_CONST
include/rtkKatsevichBackProjectionImageFilter.hxx:194: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:195: trailing whitespace.
+  this->Superclass::VerifyPreconditions();
include/rtkKatsevichBackProjectionImageFilter.hxx:196: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:197: trailing whitespace.
+  if (this->m_Geometry.IsNull() || !this->m_Geometry->GetTheGeometryIsVerified())
include/rtkKatsevichBackProjectionImageFilter.hxx:198: trailing whitespace.
+    itkExceptionMacro(<< "Geometry has not been set or not been checked");
include/rtkKatsevichBackProjectionImageFilter.hxx:199: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:200: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:201: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:202: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:203: trailing whitespace.
+void
include/rtkKatsevichBackProjectionImageFilter.hxx:204: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::BeforeThreadedGenerateData()
include/rtkKatsevichBackProjectionImageFilter.hxx:205: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:206: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:207: trailing whitespace.
+  this->SetTranspose(true);
include/rtkKatsevichBackProjectionImageFilter.hxx:208: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:209: trailing whitespace.
+  // Check if detector is cylindrical
include/rtkKatsevichBackProjectionImageFilter.hxx:210: trailing whitespace.
+  double radius = m_Geometry->GetRadiusCylindricalDetector();
include/rtkKatsevichBackProjectionImageFilter.hxx:211: trailing whitespace.
+  if ((radius != 0) && (radius != this->m_Geometry->GetSourceToDetectorDistances()[0]))
include/rtkKatsevichBackProjectionImageFilter.hxx:212: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:213: trailing whitespace.
+    itkGenericExceptionMacro(<< "Voxel-based back projector can currently handle a cylindrical detector only when it "
include/rtkKatsevichBackProjectionImageFilter.hxx:214: trailing whitespace.
+                                "is centered on the source. "
include/rtkKatsevichBackProjectionImageFilter.hxx:215: trailing whitespace.
+                             << "Detector radius is " << radius << ", should be "
include/rtkKatsevichBackProjectionImageFilter.hxx:216: trailing whitespace.
+                             << this->m_Geometry->GetSourceToDetectorDistances()[0]);
include/rtkKatsevichBackProjectionImageFilter.hxx:217: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:218: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:219: trailing whitespace.
+  typename PILineImageFilterType::Pointer pil = PILineImageFilterType::New();
include/rtkKatsevichBackProjectionImageFilter.hxx:220: trailing whitespace.
+  pil->SetInput(this->GetOutput());
include/rtkKatsevichBackProjectionImageFilter.hxx:221: trailing whitespace.
+  // pil->SetGeometry(this->GetModifiableGeometry());
include/rtkKatsevichBackProjectionImageFilter.hxx:222: trailing whitespace.
+  pil->SetGeometry(this->m_Geometry);
include/rtkKatsevichBackProjectionImageFilter.hxx:223: trailing whitespace.
+  pil->Update();
include/rtkKatsevichBackProjectionImageFilter.hxx:224: trailing whitespace.
+  // this->SetPILines(pil->GetOutput());
include/rtkKatsevichBackProjectionImageFilter.hxx:225: trailing whitespace.
+  this->m_PILines = pil->GetOutput();
include/rtkKatsevichBackProjectionImageFilter.hxx:226: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:227: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:228: trailing whitespace.
+/**
include/rtkKatsevichBackProjectionImageFilter.hxx:229: trailing whitespace.
+ * GenerateData performs the accumulation
include/rtkKatsevichBackProjectionImageFilter.hxx:230: trailing whitespace.
+ */
include/rtkKatsevichBackProjectionImageFilter.hxx:231: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:232: trailing whitespace.
+void
include/rtkKatsevichBackProjectionImageFilter.hxx:233: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::DynamicThreadedGenerateData(
include/rtkKatsevichBackProjectionImageFilter.hxx:234: trailing whitespace.
+  const OutputImageRegionType & outputRegionForThread)
include/rtkKatsevichBackProjectionImageFilter.hxx:235: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:236: trailing whitespace.
+  const unsigned int Dimension = TInputImage::ImageDimension;
include/rtkKatsevichBackProjectionImageFilter.hxx:237: trailing whitespace.
+  const unsigned int nProj = this->GetInput(1)->GetLargestPossibleRegion().GetSize(Dimension - 1);
include/rtkKatsevichBackProjectionImageFilter.hxx:238: trailing whitespace.
+  const unsigned int iFirstProj = this->GetInput(1)->GetLargestPossibleRegion().GetIndex(Dimension - 1);
include/rtkKatsevichBackProjectionImageFilter.hxx:239: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:240: trailing whitespace.
+  // Create interpolator, could be any interpolation
include/rtkKatsevichBackProjectionImageFilter.hxx:241: trailing whitespace.
+  using InterpolatorType = itk::LinearInterpolateImageFunction<ProjectionImageType, double>;
include/rtkKatsevichBackProjectionImageFilter.hxx:242: trailing whitespace.
+  typename InterpolatorType::Pointer interpolator = InterpolatorType::New();
include/rtkKatsevichBackProjectionImageFilter.hxx:243: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:244: trailing whitespace.
+  // Iterators on volume input and output
include/rtkKatsevichBackProjectionImageFilter.hxx:245: trailing whitespace.
+  using InputRegionIterator = itk::ImageRegionConstIterator<TInputImage>;
include/rtkKatsevichBackProjectionImageFilter.hxx:246: trailing whitespace.
+  using PILineIterator = itk::ImageRegionConstIterator<PILineImageType>;
include/rtkKatsevichBackProjectionImageFilter.hxx:247: trailing whitespace.
+  using OutputRegionIterator = itk::ImageRegionIteratorWithIndex<TOutputImage>;
include/rtkKatsevichBackProjectionImageFilter.hxx:248: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:249: trailing whitespace.
+  InputRegionIterator  itIn(this->GetInput(0), outputRegionForThread);
include/rtkKatsevichBackProjectionImageFilter.hxx:250: trailing whitespace.
+  PILineIterator       itPIL(this->m_PILines, outputRegionForThread);
include/rtkKatsevichBackProjectionImageFilter.hxx:251: trailing whitespace.
+  OutputRegionIterator itOut(this->GetOutput(), outputRegionForThread);
include/rtkKatsevichBackProjectionImageFilter.hxx:252: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:253: trailing whitespace.
+  // Initialize output region with input region in case the filter is not in
include/rtkKatsevichBackProjectionImageFilter.hxx:254: trailing whitespace.
+  // place
include/rtkKatsevichBackProjectionImageFilter.hxx:255: trailing whitespace.
+  if (this->GetInput() != this->GetOutput())
include/rtkKatsevichBackProjectionImageFilter.hxx:256: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:257: trailing whitespace.
+    itIn.GoToBegin();
include/rtkKatsevichBackProjectionImageFilter.hxx:258: trailing whitespace.
+    while (!itIn.IsAtEnd())
include/rtkKatsevichBackProjectionImageFilter.hxx:259: trailing whitespace.
+    {
include/rtkKatsevichBackProjectionImageFilter.hxx:260: trailing whitespace.
+      itOut.Set(itIn.Get());
include/rtkKatsevichBackProjectionImageFilter.hxx:261: trailing whitespace.
+      ++itIn;
include/rtkKatsevichBackProjectionImageFilter.hxx:262: trailing whitespace.
+      ++itOut;
include/rtkKatsevichBackProjectionImageFilter.hxx:263: trailing whitespace.
+    }
include/rtkKatsevichBackProjectionImageFilter.hxx:264: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:265: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:266: trailing whitespace.
+  // Continuous index at which we interpolate
include/rtkKatsevichBackProjectionImageFilter.hxx:267: trailing whitespace.
+  itk::ContinuousIndex<double, Dimension - 1> pointProj;
include/rtkKatsevichBackProjectionImageFilter.hxx:268: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:269: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:270: trailing whitespace.
+  // Go over each projection
include/rtkKatsevichBackProjectionImageFilter.hxx:271: trailing whitespace.
+  for (unsigned int iProj = iFirstProj; iProj < iFirstProj + nProj; iProj++)
include/rtkKatsevichBackProjectionImageFilter.hxx:272: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:273: trailing whitespace.
+    // Extract the current slice
include/rtkKatsevichBackProjectionImageFilter.hxx:274: trailing whitespace.
+    ProjectionImagePointer projection = GetProjection<ProjectionImageType>(iProj);
include/rtkKatsevichBackProjectionImageFilter.hxx:275: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:276: trailing whitespace.
+    ProjectionMatrixType matrix = this->GetIndexToIndexProjectionMatrix(iProj);
include/rtkKatsevichBackProjectionImageFilter.hxx:277: trailing whitespace.
+    interpolator->SetInputImage(projection);
include/rtkKatsevichBackProjectionImageFilter.hxx:278: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:279: trailing whitespace.
+    // Get First Angle Values to map idx_proj -> angles
include/rtkKatsevichBackProjectionImageFilter.hxx:280: trailing whitespace.
+    double firstAngle = m_Geometry->GetHelicalAngles()[0];
include/rtkKatsevichBackProjectionImageFilter.hxx:281: trailing whitespace.
+    double delta_lambda = m_Geometry->GetHelixAngularGap();
include/rtkKatsevichBackProjectionImageFilter.hxx:282: trailing whitespace.
+    double lambda = firstAngle + iProj * delta_lambda;
include/rtkKatsevichBackProjectionImageFilter.hxx:283: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:284: trailing whitespace.
+    // Cylindrical detector centered on source case
include/rtkKatsevichBackProjectionImageFilter.hxx:285: trailing whitespace.
+    if (m_Geometry->GetRadiusCylindricalDetector() != 0)
include/rtkKatsevichBackProjectionImageFilter.hxx:286: trailing whitespace.
+    {
include/rtkKatsevichBackProjectionImageFilter.hxx:287: trailing whitespace.
+      ProjectionMatrixType volIndexToProjPP = GetVolumeIndexToProjectionPhysicalPointMatrix(iProj);
include/rtkKatsevichBackProjectionImageFilter.hxx:288: trailing whitespace.
+      itk::Matrix<double, TInputImage::ImageDimension, TInputImage::ImageDimension> projPPToProjIndex =
include/rtkKatsevichBackProjectionImageFilter.hxx:289: trailing whitespace.
+        GetProjectionPhysicalPointToProjectionIndexMatrix(iProj);
include/rtkKatsevichBackProjectionImageFilter.hxx:290: trailing whitespace.
+      CylindricalDetectorCenteredOnSourceBackprojection(
include/rtkKatsevichBackProjectionImageFilter.hxx:291: trailing whitespace.
+        outputRegionForThread, volIndexToProjPP, projPPToProjIndex, projection, lambda, delta_lambda);
include/rtkKatsevichBackProjectionImageFilter.hxx:292: trailing whitespace.
+      continue;
include/rtkKatsevichBackProjectionImageFilter.hxx:293: trailing whitespace.
+    }
include/rtkKatsevichBackProjectionImageFilter.hxx:294: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:295: trailing whitespace.
+    // Optimized version
include/rtkKatsevichBackProjectionImageFilter.hxx:296: trailing whitespace.
+    if (fabs(matrix[1][0]) < 1e-10 && fabs(matrix[2][0]) < 1e-10)
include/rtkKatsevichBackProjectionImageFilter.hxx:297: trailing whitespace.
+    {
include/rtkKatsevichBackProjectionImageFilter.hxx:298: trailing whitespace.
+      OptimizedBackprojectionX(outputRegionForThread, matrix, projection, lambda, delta_lambda);
include/rtkKatsevichBackProjectionImageFilter.hxx:299: trailing whitespace.
+      continue;
include/rtkKatsevichBackProjectionImageFilter.hxx:300: trailing whitespace.
+    }
include/rtkKatsevichBackProjectionImageFilter.hxx:301: trailing whitespace.
+    if (fabs(matrix[1][1]) < 1e-10 && fabs(matrix[2][1]) < 1e-10)
include/rtkKatsevichBackProjectionImageFilter.hxx:302: trailing whitespace.
+    {
include/rtkKatsevichBackProjectionImageFilter.hxx:303: trailing whitespace.
+      OptimizedBackprojectionY(outputRegionForThread, matrix, projection, lambda, delta_lambda);
include/rtkKatsevichBackProjectionImageFilter.hxx:304: trailing whitespace.
+      continue;
include/rtkKatsevichBackProjectionImageFilter.hxx:305: trailing whitespace.
+    }
include/rtkKatsevichBackProjectionImageFilter.hxx:306: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:307: trailing whitespace.
+    // Go over each voxel
include/rtkKatsevichBackProjectionImageFilter.hxx:308: trailing whitespace.
+    itOut.GoToBegin();
include/rtkKatsevichBackProjectionImageFilter.hxx:309: trailing whitespace.
+    itPIL.GoToBegin();
include/rtkKatsevichBackProjectionImageFilter.hxx:310: trailing whitespace.
+    while (!itOut.IsAtEnd())
include/rtkKatsevichBackProjectionImageFilter.hxx:311: trailing whitespace.
+    {
include/rtkKatsevichBackProjectionImageFilter.hxx:312: trailing whitespace.
+      // Compute projection index
include/rtkKatsevichBackProjectionImageFilter.hxx:313: trailing whitespace.
+      for (unsigned int i = 0; i < Dimension - 1; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:314: trailing whitespace.
+      {
include/rtkKatsevichBackProjectionImageFilter.hxx:315: trailing whitespace.
+        pointProj[i] = matrix[i][Dimension];
include/rtkKatsevichBackProjectionImageFilter.hxx:316: trailing whitespace.
+        for (unsigned int j = 0; j < Dimension; j++)
include/rtkKatsevichBackProjectionImageFilter.hxx:317: trailing whitespace.
+          pointProj[i] += matrix[i][j] * itOut.GetIndex()[j];
include/rtkKatsevichBackProjectionImageFilter.hxx:318: trailing whitespace.
+      }
include/rtkKatsevichBackProjectionImageFilter.hxx:319: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:320: trailing whitespace.
+      // Apply perspective
include/rtkKatsevichBackProjectionImageFilter.hxx:321: trailing whitespace.
+      double perspFactor = matrix[Dimension - 1][Dimension];
include/rtkKatsevichBackProjectionImageFilter.hxx:322: trailing whitespace.
+      for (unsigned int j = 0; j < Dimension; j++)
include/rtkKatsevichBackProjectionImageFilter.hxx:323: trailing whitespace.
+        perspFactor += matrix[Dimension - 1][j] * itOut.GetIndex()[j];
include/rtkKatsevichBackProjectionImageFilter.hxx:324: trailing whitespace.
+      perspFactor = 1 / perspFactor;
include/rtkKatsevichBackProjectionImageFilter.hxx:325: trailing whitespace.
+      for (unsigned int i = 0; i < Dimension - 1; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:326: trailing whitespace.
+        pointProj[i] = pointProj[i] * perspFactor;
include/rtkKatsevichBackProjectionImageFilter.hxx:327: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:328: trailing whitespace.
+      // Interpolate if in projection
include/rtkKatsevichBackProjectionImageFilter.hxx:329: trailing whitespace.
+      if (interpolator->IsInsideBuffer(pointProj))
include/rtkKatsevichBackProjectionImageFilter.hxx:330: trailing whitespace.
+      {
include/rtkKatsevichBackProjectionImageFilter.hxx:331: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:332: trailing whitespace.
+        itk::Vector<typename TOutputImage::InternalPixelType, 2> piline = itPIL.Get();
include/rtkKatsevichBackProjectionImageFilter.hxx:333: trailing whitespace.
+        typename TOutputImage::InternalPixelType                 sb = piline[0];
include/rtkKatsevichBackProjectionImageFilter.hxx:334: trailing whitespace.
+        typename TOutputImage::InternalPixelType                 st = piline[1];
include/rtkKatsevichBackProjectionImageFilter.hxx:335: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:336: trailing whitespace.
+        double rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:337: trailing whitespace.
+        double d_in = (lambda - sb) / delta_lambda;
include/rtkKatsevichBackProjectionImageFilter.hxx:338: trailing whitespace.
+        double d_out = (st - lambda) / delta_lambda;
include/rtkKatsevichBackProjectionImageFilter.hxx:339: trailing whitespace.
+        // Apply PiLineConditions
include/rtkKatsevichBackProjectionImageFilter.hxx:340: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:341: trailing whitespace.
+        if (lambda < sb - delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:342: trailing whitespace.
+          rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:343: trailing whitespace.
+        else if (lambda < sb)
include/rtkKatsevichBackProjectionImageFilter.hxx:344: trailing whitespace.
+          rho = 0.5 * (d_in + 1) * (d_in + 1);
include/rtkKatsevichBackProjectionImageFilter.hxx:345: trailing whitespace.
+        else if (lambda < sb + delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:346: trailing whitespace.
+          rho = 0.5 + d_in + 0.5 * d_in * d_in;
include/rtkKatsevichBackProjectionImageFilter.hxx:347: trailing whitespace.
+        else if (lambda < st - delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:348: trailing whitespace.
+          rho = 1;
include/rtkKatsevichBackProjectionImageFilter.hxx:349: trailing whitespace.
+        else if (lambda < st)
include/rtkKatsevichBackProjectionImageFilter.hxx:350: trailing whitespace.
+          rho = 0.5 + d_out + 0.5 * d_out * d_out;
include/rtkKatsevichBackProjectionImageFilter.hxx:351: trailing whitespace.
+        else if (lambda < st + delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:352: trailing whitespace.
+          rho = 0.5 * (1 + d_out * (1 + d_out));
include/rtkKatsevichBackProjectionImageFilter.hxx:353: trailing whitespace.
+        else
include/rtkKatsevichBackProjectionImageFilter.hxx:354: trailing whitespace.
+          rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:355: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:356: trailing whitespace.
+        ////Méthode sans adoucissement des bords
include/rtkKatsevichBackProjectionImageFilter.hxx:357: trailing whitespace.
+        // double sign_lambda_b = std::signbit(sb-lambda);
include/rtkKatsevichBackProjectionImageFilter.hxx:358: trailing whitespace.
+        // double sign_lambda_t = std::signbit(lambda - st);
include/rtkKatsevichBackProjectionImageFilter.hxx:359: trailing whitespace.
+        // double rho = (sign_lambda_b*sign_lambda_t+1)/2;
include/rtkKatsevichBackProjectionImageFilter.hxx:360: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:361: trailing whitespace.
+        // Compute normlazation coefficient wstar
include/rtkKatsevichBackProjectionImageFilter.hxx:362: trailing whitespace.
+        typename TOutputImage::PointType outPoint;
include/rtkKatsevichBackProjectionImageFilter.hxx:363: trailing whitespace.
+        this->GetOutput()->TransformIndexToPhysicalPoint(itOut.GetIndex(), outPoint);
include/rtkKatsevichBackProjectionImageFilter.hxx:364: trailing whitespace.
+        double sid = this->GetGeometry()->GetHelixRadius();
include/rtkKatsevichBackProjectionImageFilter.hxx:365: trailing whitespace.
+        double wstar = sid - outPoint[0] * sin(lambda) - outPoint[2] * cos(lambda);
include/rtkKatsevichBackProjectionImageFilter.hxx:366: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:367: trailing whitespace.
+        itOut.Set(itOut.Get() +
include/rtkKatsevichBackProjectionImageFilter.hxx:368: trailing whitespace.
+                  rho * delta_lambda * interpolator->EvaluateAtContinuousIndex(pointProj) / (wstar * 2 * M_PI));
include/rtkKatsevichBackProjectionImageFilter.hxx:369: trailing whitespace.
+      }
include/rtkKatsevichBackProjectionImageFilter.hxx:370: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:371: trailing whitespace.
+      ++itOut;
include/rtkKatsevichBackProjectionImageFilter.hxx:372: trailing whitespace.
+      ++itPIL;
include/rtkKatsevichBackProjectionImageFilter.hxx:373: trailing whitespace.
+    }
include/rtkKatsevichBackProjectionImageFilter.hxx:374: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:375: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:376: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:377: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:378: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:379: trailing whitespace.
+void
include/rtkKatsevichBackProjectionImageFilter.hxx:380: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::CylindricalDetectorCenteredOnSourceBackprojection(
include/rtkKatsevichBackProjectionImageFilter.hxx:381: trailing whitespace.
+  const OutputImageRegionType &                                                         region,
include/rtkKatsevichBackProjectionImageFilter.hxx:382: trailing whitespace.
+  const ProjectionMatrixType &                                                          volIndexToProjPP,
include/rtkKatsevichBackProjectionImageFilter.hxx:383: trailing whitespace.
+  const itk::Matrix<double, TInputImage::ImageDimension, TInputImage::ImageDimension> & projPPToProjIndex,
include/rtkKatsevichBackProjectionImageFilter.hxx:384: trailing whitespace.
+  const ProjectionImagePointer                                                          projection,
include/rtkKatsevichBackProjectionImageFilter.hxx:385: trailing whitespace.
+  const double                                                                          lambda,
include/rtkKatsevichBackProjectionImageFilter.hxx:386: trailing whitespace.
+  const double                                                                          delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:387: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:388: trailing whitespace.
+  using OutputRegionIterator = itk::ImageRegionIteratorWithIndex<TOutputImage>;
include/rtkKatsevichBackProjectionImageFilter.hxx:389: trailing whitespace.
+  OutputRegionIterator itOut(this->GetOutput(), region);
include/rtkKatsevichBackProjectionImageFilter.hxx:390: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:391: trailing whitespace.
+  using PILineIterator = itk::ImageRegionConstIterator<PILineImageType>;
include/rtkKatsevichBackProjectionImageFilter.hxx:392: trailing whitespace.
+  PILineIterator itPIL(this->m_PILines, region);
include/rtkKatsevichBackProjectionImageFilter.hxx:393: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:394: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:395: trailing whitespace.
+  const unsigned int Dimension = TInputImage::ImageDimension;
include/rtkKatsevichBackProjectionImageFilter.hxx:396: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:397: trailing whitespace.
+  // Create interpolator, could be any interpolation
include/rtkKatsevichBackProjectionImageFilter.hxx:398: trailing whitespace.
+  using InterpolatorType = itk::LinearInterpolateImageFunction<ProjectionImageType, double>;
include/rtkKatsevichBackProjectionImageFilter.hxx:399: trailing whitespace.
+  typename InterpolatorType::Pointer interpolator = InterpolatorType::New();
include/rtkKatsevichBackProjectionImageFilter.hxx:400: trailing whitespace.
+  interpolator->SetInputImage(projection);
include/rtkKatsevichBackProjectionImageFilter.hxx:401: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:402: trailing whitespace.
+  // Get radius of the cylindrical detector
include/rtkKatsevichBackProjectionImageFilter.hxx:403: trailing whitespace.
+  double radius = m_Geometry->GetRadiusCylindricalDetector();
include/rtkKatsevichBackProjectionImageFilter.hxx:404: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:405: trailing whitespace.
+  // Continuous index at which we interpolate
include/rtkKatsevichBackProjectionImageFilter.hxx:406: trailing whitespace.
+  itk::ContinuousIndex<double, Dimension - 1> pointProj, pointProjIdx;
include/rtkKatsevichBackProjectionImageFilter.hxx:407: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:408: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:409: trailing whitespace.
+  // Go over each voxel
include/rtkKatsevichBackProjectionImageFilter.hxx:410: trailing whitespace.
+  itOut.GoToBegin();
include/rtkKatsevichBackProjectionImageFilter.hxx:411: trailing whitespace.
+  itPIL.GoToBegin();
include/rtkKatsevichBackProjectionImageFilter.hxx:412: trailing whitespace.
+  while (!itOut.IsAtEnd())
include/rtkKatsevichBackProjectionImageFilter.hxx:413: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:414: trailing whitespace.
+    // Compute projection index
include/rtkKatsevichBackProjectionImageFilter.hxx:415: trailing whitespace.
+    for (unsigned int i = 0; i < Dimension - 1; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:416: trailing whitespace.
+    {
include/rtkKatsevichBackProjectionImageFilter.hxx:417: trailing whitespace.
+      pointProj[i] = volIndexToProjPP[i][Dimension];
include/rtkKatsevichBackProjectionImageFilter.hxx:418: trailing whitespace.
+      for (unsigned int j = 0; j < Dimension; j++)
include/rtkKatsevichBackProjectionImageFilter.hxx:419: trailing whitespace.
+        pointProj[i] += volIndexToProjPP[i][j] * itOut.GetIndex()[j];
include/rtkKatsevichBackProjectionImageFilter.hxx:420: trailing whitespace.
+    }
include/rtkKatsevichBackProjectionImageFilter.hxx:421: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:422: trailing whitespace.
+    // Apply perspective
include/rtkKatsevichBackProjectionImageFilter.hxx:423: trailing whitespace.
+    double perspFactor = volIndexToProjPP[Dimension - 1][Dimension];
include/rtkKatsevichBackProjectionImageFilter.hxx:424: trailing whitespace.
+    for (unsigned int j = 0; j < Dimension; j++)
include/rtkKatsevichBackProjectionImageFilter.hxx:425: trailing whitespace.
+      perspFactor += volIndexToProjPP[Dimension - 1][j] * itOut.GetIndex()[j];
include/rtkKatsevichBackProjectionImageFilter.hxx:426: trailing whitespace.
+    perspFactor = 1 / perspFactor;
include/rtkKatsevichBackProjectionImageFilter.hxx:427: trailing whitespace.
+    for (unsigned int i = 0; i < Dimension - 1; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:428: trailing whitespace.
+      pointProj[i] = pointProj[i] * perspFactor;
include/rtkKatsevichBackProjectionImageFilter.hxx:429: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:430: trailing whitespace.
+    // Apply correction for cylindrical centered on source
include/rtkKatsevichBackProjectionImageFilter.hxx:431: trailing whitespace.
+    const double u = pointProj[0];
include/rtkKatsevichBackProjectionImageFilter.hxx:432: trailing whitespace.
+    pointProj[0] = radius * atan2(u, radius);
include/rtkKatsevichBackProjectionImageFilter.hxx:433: trailing whitespace.
+    pointProj[1] = pointProj[1] * radius / sqrt(radius * radius + u * u);
include/rtkKatsevichBackProjectionImageFilter.hxx:434: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:435: trailing whitespace.
+    // Convert to projection index
include/rtkKatsevichBackProjectionImageFilter.hxx:436: trailing whitespace.
+    for (unsigned int i = 0; i < Dimension - 1; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:437: trailing whitespace.
+    {
include/rtkKatsevichBackProjectionImageFilter.hxx:438: trailing whitespace.
+      pointProjIdx[i] = projPPToProjIndex[i][Dimension - 1];
include/rtkKatsevichBackProjectionImageFilter.hxx:439: trailing whitespace.
+      for (unsigned int j = 0; j < Dimension - 1; j++)
include/rtkKatsevichBackProjectionImageFilter.hxx:440: trailing whitespace.
+        pointProjIdx[i] += projPPToProjIndex[i][j] * pointProj[j];
include/rtkKatsevichBackProjectionImageFilter.hxx:441: trailing whitespace.
+    }
include/rtkKatsevichBackProjectionImageFilter.hxx:442: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:443: trailing whitespace.
+    // Interpolate if in projection
include/rtkKatsevichBackProjectionImageFilter.hxx:444: trailing whitespace.
+    if (interpolator->IsInsideBuffer(pointProjIdx))
include/rtkKatsevichBackProjectionImageFilter.hxx:445: trailing whitespace.
+    {
include/rtkKatsevichBackProjectionImageFilter.hxx:446: trailing whitespace.
+      typename TOutputImage::PixelType v = interpolator->EvaluateAtContinuousIndex(pointProjIdx);
include/rtkKatsevichBackProjectionImageFilter.hxx:447: trailing whitespace.
+      itk::Vector<typename TOutputImage::InternalPixelType, 2> piline = itPIL.Get();
include/rtkKatsevichBackProjectionImageFilter.hxx:448: trailing whitespace.
+      typename TOutputImage::InternalPixelType                 sb = piline[0];
include/rtkKatsevichBackProjectionImageFilter.hxx:449: trailing whitespace.
+      typename TOutputImage::InternalPixelType                 st = piline[1];
include/rtkKatsevichBackProjectionImageFilter.hxx:450: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:451: trailing whitespace.
+      double rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:452: trailing whitespace.
+      double d_in = (lambda - sb) / delta_lambda;
include/rtkKatsevichBackProjectionImageFilter.hxx:453: trailing whitespace.
+      double d_out = (st - lambda) / delta_lambda;
include/rtkKatsevichBackProjectionImageFilter.hxx:454: trailing whitespace.
+      // Apply PiLineConditions
include/rtkKatsevichBackProjectionImageFilter.hxx:455: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:456: trailing whitespace.
+      if (lambda < sb - delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:457: trailing whitespace.
+        rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:458: trailing whitespace.
+      else if (lambda < sb)
include/rtkKatsevichBackProjectionImageFilter.hxx:459: trailing whitespace.
+        rho = 0.5 * (d_in + 1) * (d_in + 1);
include/rtkKatsevichBackProjectionImageFilter.hxx:460: trailing whitespace.
+      else if (lambda < sb + delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:461: trailing whitespace.
+        rho = 0.5 + d_in + 0.5 * d_in * d_in;
include/rtkKatsevichBackProjectionImageFilter.hxx:462: trailing whitespace.
+      else if (lambda < st - delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:463: trailing whitespace.
+        rho = 1;
include/rtkKatsevichBackProjectionImageFilter.hxx:464: trailing whitespace.
+      else if (lambda < st)
include/rtkKatsevichBackProjectionImageFilter.hxx:465: trailing whitespace.
+        rho = 0.5 + d_out + 0.5 * d_out * d_out;
include/rtkKatsevichBackProjectionImageFilter.hxx:466: trailing whitespace.
+      else if (lambda < st + delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:467: trailing whitespace.
+        rho = 0.5 * (1 + d_out * (1 + d_out));
include/rtkKatsevichBackProjectionImageFilter.hxx:468: trailing whitespace.
+      else
include/rtkKatsevichBackProjectionImageFilter.hxx:469: trailing whitespace.
+        rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:470: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:471: trailing whitespace.
+      ////Méthode sans adoucissement des bords
include/rtkKatsevichBackProjectionImageFilter.hxx:472: trailing whitespace.
+      // double sign_lambda_b = std::signbit(sb-lambda);
include/rtkKatsevichBackProjectionImageFilter.hxx:473: trailing whitespace.
+      // double sign_lambda_t = std::signbit(lambda - st);
include/rtkKatsevichBackProjectionImageFilter.hxx:474: trailing whitespace.
+      // double rho = (sign_lambda_b*sign_lambda_t+1)/2;
include/rtkKatsevichBackProjectionImageFilter.hxx:475: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:476: trailing whitespace.
+      // Compute normlazation coefficient wstar
include/rtkKatsevichBackProjectionImageFilter.hxx:477: trailing whitespace.
+      typename TOutputImage::PointType outPoint;
include/rtkKatsevichBackProjectionImageFilter.hxx:478: trailing whitespace.
+      this->GetOutput()->TransformIndexToPhysicalPoint(itOut.GetIndex(), outPoint);
include/rtkKatsevichBackProjectionImageFilter.hxx:479: trailing whitespace.
+      double sid = this->GetGeometry()->GetHelixRadius();
include/rtkKatsevichBackProjectionImageFilter.hxx:480: trailing whitespace.
+      double wstar = sid - outPoint[0] * sin(lambda) - outPoint[2] * cos(lambda);
include/rtkKatsevichBackProjectionImageFilter.hxx:481: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:482: trailing whitespace.
+      itOut.Set(itOut.Get() +
include/rtkKatsevichBackProjectionImageFilter.hxx:483: trailing whitespace.
+                rho * delta_lambda * interpolator->EvaluateAtContinuousIndex(pointProj) / (wstar * 2 * M_PI));
include/rtkKatsevichBackProjectionImageFilter.hxx:484: trailing whitespace.
+    }
include/rtkKatsevichBackProjectionImageFilter.hxx:485: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:486: trailing whitespace.
+    ++itOut;
include/rtkKatsevichBackProjectionImageFilter.hxx:487: trailing whitespace.
+    ++itPIL;
include/rtkKatsevichBackProjectionImageFilter.hxx:488: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:489: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:490: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:491: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:492: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:493: trailing whitespace.
+void
include/rtkKatsevichBackProjectionImageFilter.hxx:494: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::OptimizedBackprojectionX(
include/rtkKatsevichBackProjectionImageFilter.hxx:495: trailing whitespace.
+  const OutputImageRegionType & region,
include/rtkKatsevichBackProjectionImageFilter.hxx:496: trailing whitespace.
+  const ProjectionMatrixType &  matrix,
include/rtkKatsevichBackProjectionImageFilter.hxx:497: trailing whitespace.
+  const ProjectionImagePointer  projection,
include/rtkKatsevichBackProjectionImageFilter.hxx:498: trailing whitespace.
+  const double                  lambda,
include/rtkKatsevichBackProjectionImageFilter.hxx:499: trailing whitespace.
+  const double                  delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:500: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:501: trailing whitespace.
+  typename ProjectionImageType::SizeType    pSize = projection->GetBufferedRegion().GetSize();
include/rtkKatsevichBackProjectionImageFilter.hxx:502: trailing whitespace.
+  typename ProjectionImageType::IndexType   pIndex = projection->GetBufferedRegion().GetIndex();
include/rtkKatsevichBackProjectionImageFilter.hxx:503: trailing whitespace.
+  typename TOutputImage::SizeType           vBufferSize = this->GetOutput()->GetBufferedRegion().GetSize();
include/rtkKatsevichBackProjectionImageFilter.hxx:504: trailing whitespace.
+  typename TOutputImage::IndexType          vBufferIndex = this->GetOutput()->GetBufferedRegion().GetIndex();
include/rtkKatsevichBackProjectionImageFilter.hxx:505: trailing whitespace.
+  typename TInputImage::InternalPixelType * pProj = nullptr;
include/rtkKatsevichBackProjectionImageFilter.hxx:506: trailing whitespace.
+  typename TOutputImage::InternalPixelType *pVol = nullptr, *pVolZeroPointer = nullptr;
include/rtkKatsevichBackProjectionImageFilter.hxx:507: trailing whitespace.
+  typename TOutputImage::IndexType          indexOutput;
include/rtkKatsevichBackProjectionImageFilter.hxx:508: trailing whitespace.
+  typename TOutputImage::PointType          outPoint;
include/rtkKatsevichBackProjectionImageFilter.hxx:509: trailing whitespace.
+  double                                    sid = this->GetGeometry()->GetHelixRadius();
include/rtkKatsevichBackProjectionImageFilter.hxx:510: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:511: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:512: trailing whitespace.
+  // Pointers in memory to index (0,0,0) which do not necessarily exist
include/rtkKatsevichBackProjectionImageFilter.hxx:513: trailing whitespace.
+  pVolZeroPointer = this->GetOutput()->GetBufferPointer();
include/rtkKatsevichBackProjectionImageFilter.hxx:514: trailing whitespace.
+  pVolZeroPointer -= vBufferIndex[0] + vBufferSize[0] * (vBufferIndex[1] + vBufferSize[1] * vBufferIndex[2]);
include/rtkKatsevichBackProjectionImageFilter.hxx:515: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:516: trailing whitespace.
+  using PILineIterator = itk::ImageRegionConstIterator<PILineImageType>;
include/rtkKatsevichBackProjectionImageFilter.hxx:517: trailing whitespace.
+  PILineIterator itPIL(this->m_PILines, region);
include/rtkKatsevichBackProjectionImageFilter.hxx:518: trailing whitespace.
+  itPIL.GoToBegin();
include/rtkKatsevichBackProjectionImageFilter.hxx:519: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:520: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:521: trailing whitespace.
+  // Continuous index at which we interpolate
include/rtkKatsevichBackProjectionImageFilter.hxx:522: trailing whitespace.
+  double u = NAN, v = NAN, w = NAN;
include/rtkKatsevichBackProjectionImageFilter.hxx:523: trailing whitespace.
+  int    ui = 0, vi = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:524: trailing whitespace.
+  double du = NAN;
include/rtkKatsevichBackProjectionImageFilter.hxx:525: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:526: trailing whitespace.
+  for (int k = region.GetIndex(2); k < region.GetIndex(2) + (int)region.GetSize(2); k++)
include/rtkKatsevichBackProjectionImageFilter.hxx:527: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:528: trailing whitespace.
+    for (int j = region.GetIndex(1); j < region.GetIndex(1) + (int)region.GetSize(1); j++)
include/rtkKatsevichBackProjectionImageFilter.hxx:529: trailing whitespace.
+    {
include/rtkKatsevichBackProjectionImageFilter.hxx:530: trailing whitespace.
+      int i = region.GetIndex(0);
include/rtkKatsevichBackProjectionImageFilter.hxx:531: trailing whitespace.
+      u = matrix[0][0] * i + matrix[0][1] * j + matrix[0][2] * k + matrix[0][3];
include/rtkKatsevichBackProjectionImageFilter.hxx:532: trailing whitespace.
+      v = matrix[1][1] * j + matrix[1][2] * k + matrix[1][3];
include/rtkKatsevichBackProjectionImageFilter.hxx:533: trailing whitespace.
+      w = matrix[2][1] * j + matrix[2][2] * k + matrix[2][3];
include/rtkKatsevichBackProjectionImageFilter.hxx:534: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:535: trailing whitespace.
+      // Apply perspective
include/rtkKatsevichBackProjectionImageFilter.hxx:536: trailing whitespace.
+      w = 1 / w;
include/rtkKatsevichBackProjectionImageFilter.hxx:537: trailing whitespace.
+      u = u * w - pIndex[0];
include/rtkKatsevichBackProjectionImageFilter.hxx:538: trailing whitespace.
+      v = v * w - pIndex[1];
include/rtkKatsevichBackProjectionImageFilter.hxx:539: trailing whitespace.
+      du = w * matrix[0][0];
include/rtkKatsevichBackProjectionImageFilter.hxx:540: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:541: trailing whitespace.
+      using ComponentType = typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType;
include/rtkKatsevichBackProjectionImageFilter.hxx:542: trailing whitespace.
+      ComponentType u1, u2, v1, v2;
include/rtkKatsevichBackProjectionImageFilter.hxx:543: trailing whitespace.
+      vi = itk::Math::floor(v);
include/rtkKatsevichBackProjectionImageFilter.hxx:544: trailing whitespace.
+      if (vi >= 0 && vi < (int)pSize[1] - 1)
include/rtkKatsevichBackProjectionImageFilter.hxx:545: trailing whitespace.
+      {
include/rtkKatsevichBackProjectionImageFilter.hxx:546: trailing whitespace.
+        v1 = v - vi;
include/rtkKatsevichBackProjectionImageFilter.hxx:547: trailing whitespace.
+        v2 = 1.0 - v1;
include/rtkKatsevichBackProjectionImageFilter.hxx:548: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:549: trailing whitespace.
+        pProj = projection->GetBufferPointer() + vi * pSize[0];
include/rtkKatsevichBackProjectionImageFilter.hxx:550: trailing whitespace.
+        pVol = pVolZeroPointer + i + vBufferSize[0] * (j + k * vBufferSize[1]);
include/rtkKatsevichBackProjectionImageFilter.hxx:551: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:552: trailing whitespace.
+        // Innermost loop
include/rtkKatsevichBackProjectionImageFilter.hxx:553: trailing whitespace.
+        for (; i < (region.GetIndex(0) + (int)region.GetSize(0)); i++, u += du, pVol++)
include/rtkKatsevichBackProjectionImageFilter.hxx:554: trailing whitespace.
+        {
include/rtkKatsevichBackProjectionImageFilter.hxx:555: trailing whitespace.
+          ui = itk::Math::floor(u);
include/rtkKatsevichBackProjectionImageFilter.hxx:556: trailing whitespace.
+          if (ui >= 0 && ui < (int)pSize[0] - 1)
include/rtkKatsevichBackProjectionImageFilter.hxx:557: trailing whitespace.
+          {
include/rtkKatsevichBackProjectionImageFilter.hxx:558: trailing whitespace.
+            itk::Vector<typename TOutputImage::InternalPixelType, 2> piline = itPIL.Get();
include/rtkKatsevichBackProjectionImageFilter.hxx:559: trailing whitespace.
+            typename TOutputImage::InternalPixelType                 sb = piline[0];
include/rtkKatsevichBackProjectionImageFilter.hxx:560: trailing whitespace.
+            typename TOutputImage::InternalPixelType                 st = piline[1];
include/rtkKatsevichBackProjectionImageFilter.hxx:561: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:562: trailing whitespace.
+            double rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:563: trailing whitespace.
+            double d_in = (lambda - sb) / delta_lambda;
include/rtkKatsevichBackProjectionImageFilter.hxx:564: trailing whitespace.
+            double d_out = (st - lambda) / delta_lambda;
include/rtkKatsevichBackProjectionImageFilter.hxx:565: trailing whitespace.
+            // Apply PiLineConditions
include/rtkKatsevichBackProjectionImageFilter.hxx:566: trailing whitespace.
+            if (lambda < sb - delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:567: trailing whitespace.
+              rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:568: trailing whitespace.
+            else if (lambda < sb)
include/rtkKatsevichBackProjectionImageFilter.hxx:569: trailing whitespace.
+              rho = 0.5 * (d_in + 1) * (d_in + 1);
include/rtkKatsevichBackProjectionImageFilter.hxx:570: trailing whitespace.
+            else if (lambda < sb + delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:571: trailing whitespace.
+              rho = 0.5 + d_in + 0.5 * d_in * d_in;
include/rtkKatsevichBackProjectionImageFilter.hxx:572: trailing whitespace.
+            else if (lambda < st - delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:573: trailing whitespace.
+              rho = 1;
include/rtkKatsevichBackProjectionImageFilter.hxx:574: trailing whitespace.
+            else if (lambda < st)
include/rtkKatsevichBackProjectionImageFilter.hxx:575: trailing whitespace.
+              rho = 0.5 + d_out + 0.5 * d_out * d_out;
include/rtkKatsevichBackProjectionImageFilter.hxx:576: trailing whitespace.
+            else if (lambda < st + delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:577: trailing whitespace.
+              rho = 0.5 * (1 + d_out * (1 + d_out));
include/rtkKatsevichBackProjectionImageFilter.hxx:578: trailing whitespace.
+            else
include/rtkKatsevichBackProjectionImageFilter.hxx:579: trailing whitespace.
+              rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:580: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:581: trailing whitespace.
+            /**Méthode sans adoucissement des bords
include/rtkKatsevichBackProjectionImageFilter.hxx:582: trailing whitespace.
+            double sign_lambda_b = std::signbit(sb-lambda);
include/rtkKatsevichBackProjectionImageFilter.hxx:583: trailing whitespace.
+            double sign_lambda_t = std::signbit(lambda - st);
include/rtkKatsevichBackProjectionImageFilter.hxx:584: trailing whitespace.
+            double rho = (sign_lambda_b*sign_lambda_t+1)/2;**/
include/rtkKatsevichBackProjectionImageFilter.hxx:585: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:586: trailing whitespace.
+            this->GetOutput()->TransformIndexToPhysicalPoint(indexOutput, outPoint);
include/rtkKatsevichBackProjectionImageFilter.hxx:587: trailing whitespace.
+            double wstar = sid - outPoint[0] * sin(lambda) - outPoint[2] * cos(lambda);
include/rtkKatsevichBackProjectionImageFilter.hxx:588: trailing whitespace.
+            u1 = u - ui;
include/rtkKatsevichBackProjectionImageFilter.hxx:589: trailing whitespace.
+            u2 = 1.0 - u1;
include/rtkKatsevichBackProjectionImageFilter.hxx:590: trailing whitespace.
+            *pVol += delta_lambda * rho *
include/rtkKatsevichBackProjectionImageFilter.hxx:591: trailing whitespace.
+                     (v2 * (u2 * *(pProj + ui) + u1 * *(pProj + ui + 1)) +
include/rtkKatsevichBackProjectionImageFilter.hxx:592: trailing whitespace.
+                      v1 * (u2 * *(pProj + ui + pSize[0]) + u1 * *(pProj + ui + pSize[0] + 1))) /
include/rtkKatsevichBackProjectionImageFilter.hxx:593: trailing whitespace.
+                     (wstar * 2 * M_PI);
include/rtkKatsevichBackProjectionImageFilter.hxx:594: trailing whitespace.
+          }
include/rtkKatsevichBackProjectionImageFilter.hxx:595: trailing whitespace.
+          ++itPIL;
include/rtkKatsevichBackProjectionImageFilter.hxx:596: trailing whitespace.
+        } // i
include/rtkKatsevichBackProjectionImageFilter.hxx:597: trailing whitespace.
+      }
include/rtkKatsevichBackProjectionImageFilter.hxx:598: trailing whitespace.
+    } // j
include/rtkKatsevichBackProjectionImageFilter.hxx:599: trailing whitespace.
+  }   // k
include/rtkKatsevichBackProjectionImageFilter.hxx:600: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:601: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:602: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:603: trailing whitespace.
+void
include/rtkKatsevichBackProjectionImageFilter.hxx:604: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::OptimizedBackprojectionY(
include/rtkKatsevichBackProjectionImageFilter.hxx:605: trailing whitespace.
+  const OutputImageRegionType & region,
include/rtkKatsevichBackProjectionImageFilter.hxx:606: trailing whitespace.
+  const ProjectionMatrixType &  matrix,
include/rtkKatsevichBackProjectionImageFilter.hxx:607: trailing whitespace.
+  const ProjectionImagePointer  projection,
include/rtkKatsevichBackProjectionImageFilter.hxx:608: trailing whitespace.
+  const double                  lambda,
include/rtkKatsevichBackProjectionImageFilter.hxx:609: trailing whitespace.
+  const double                  delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:610: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:611: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:612: trailing whitespace.
+  typename ProjectionImageType::SizeType    pSize = projection->GetBufferedRegion().GetSize();
include/rtkKatsevichBackProjectionImageFilter.hxx:613: trailing whitespace.
+  typename ProjectionImageType::IndexType   pIndex = projection->GetBufferedRegion().GetIndex();
include/rtkKatsevichBackProjectionImageFilter.hxx:614: trailing whitespace.
+  typename TOutputImage::SizeType           vBufferSize = this->GetOutput()->GetBufferedRegion().GetSize();
include/rtkKatsevichBackProjectionImageFilter.hxx:615: trailing whitespace.
+  typename TOutputImage::IndexType          vBufferIndex = this->GetOutput()->GetBufferedRegion().GetIndex();
include/rtkKatsevichBackProjectionImageFilter.hxx:616: trailing whitespace.
+  typename TInputImage::InternalPixelType * pProj = nullptr;
include/rtkKatsevichBackProjectionImageFilter.hxx:617: trailing whitespace.
+  typename TOutputImage::InternalPixelType *pVol = nullptr, *pVolZeroPointer = nullptr;
include/rtkKatsevichBackProjectionImageFilter.hxx:618: trailing whitespace.
+  typename TOutputImage::IndexType          indexOutput;
include/rtkKatsevichBackProjectionImageFilter.hxx:619: trailing whitespace.
+  typename TOutputImage::PointType          outPoint;
include/rtkKatsevichBackProjectionImageFilter.hxx:620: trailing whitespace.
+  double                                    sid = this->GetGeometry()->GetHelixRadius();
include/rtkKatsevichBackProjectionImageFilter.hxx:621: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:622: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:623: trailing whitespace.
+  // Pointers in memory to index (0,0,0) which do not necessarily exist
include/rtkKatsevichBackProjectionImageFilter.hxx:624: trailing whitespace.
+  pVolZeroPointer = this->GetOutput()->GetBufferPointer();
include/rtkKatsevichBackProjectionImageFilter.hxx:625: trailing whitespace.
+  pVolZeroPointer -= vBufferIndex[0] + vBufferSize[0] * (vBufferIndex[1] + vBufferSize[1] * vBufferIndex[2]);
include/rtkKatsevichBackProjectionImageFilter.hxx:626: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:627: trailing whitespace.
+  using PILineIterator = itk::ImageRegionConstIterator<PILineImageType>;
include/rtkKatsevichBackProjectionImageFilter.hxx:628: trailing whitespace.
+  PILineIterator itPIL(this->m_PILines, region);
include/rtkKatsevichBackProjectionImageFilter.hxx:629: trailing whitespace.
+  itPIL.GoToBegin();
include/rtkKatsevichBackProjectionImageFilter.hxx:630: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:631: trailing whitespace.
+  // Continuous index at which we interpolate
include/rtkKatsevichBackProjectionImageFilter.hxx:632: trailing whitespace.
+  double u = NAN, v = NAN, w = NAN;
include/rtkKatsevichBackProjectionImageFilter.hxx:633: trailing whitespace.
+  int    ui = 0, vi = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:634: trailing whitespace.
+  double du = NAN;
include/rtkKatsevichBackProjectionImageFilter.hxx:635: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:636: trailing whitespace.
+  for (int k = region.GetIndex(2); k < region.GetIndex(2) + (int)region.GetSize(2); k++)
include/rtkKatsevichBackProjectionImageFilter.hxx:637: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:638: trailing whitespace.
+    for (int i = region.GetIndex(0); i < region.GetIndex(0) + (int)region.GetSize(0); i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:639: trailing whitespace.
+    {
include/rtkKatsevichBackProjectionImageFilter.hxx:640: trailing whitespace.
+      int j = region.GetIndex(1);
include/rtkKatsevichBackProjectionImageFilter.hxx:641: trailing whitespace.
+      u = matrix[0][0] * i + matrix[0][1] * j + matrix[0][2] * k + matrix[0][3];
include/rtkKatsevichBackProjectionImageFilter.hxx:642: trailing whitespace.
+      v = matrix[1][0] * i + matrix[1][2] * k + matrix[1][3];
include/rtkKatsevichBackProjectionImageFilter.hxx:643: trailing whitespace.
+      w = matrix[2][0] * i + matrix[2][2] * k + matrix[2][3];
include/rtkKatsevichBackProjectionImageFilter.hxx:644: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:645: trailing whitespace.
+      // Apply perspective
include/rtkKatsevichBackProjectionImageFilter.hxx:646: trailing whitespace.
+      w = 1 / w;
include/rtkKatsevichBackProjectionImageFilter.hxx:647: trailing whitespace.
+      u = u * w - pIndex[0];
include/rtkKatsevichBackProjectionImageFilter.hxx:648: trailing whitespace.
+      v = v * w - pIndex[1];
include/rtkKatsevichBackProjectionImageFilter.hxx:649: trailing whitespace.
+      du = w * matrix[0][1];
include/rtkKatsevichBackProjectionImageFilter.hxx:650: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:651: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:652: trailing whitespace.
+      vi = itk::Math::floor(v);
include/rtkKatsevichBackProjectionImageFilter.hxx:653: trailing whitespace.
+      if (vi >= 0 && vi < (int)pSize[1] - 1)
include/rtkKatsevichBackProjectionImageFilter.hxx:654: trailing whitespace.
+      {
include/rtkKatsevichBackProjectionImageFilter.hxx:655: trailing whitespace.
+        pVol = pVolZeroPointer + i + vBufferSize[0] * (j + k * vBufferSize[1]);
include/rtkKatsevichBackProjectionImageFilter.hxx:656: trailing whitespace.
+        for (; j < (region.GetIndex(1) + (int)region.GetSize(1)); j++, pVol += vBufferSize[0], u += du)
include/rtkKatsevichBackProjectionImageFilter.hxx:657: trailing whitespace.
+        {
include/rtkKatsevichBackProjectionImageFilter.hxx:658: trailing whitespace.
+          ui = itk::Math::floor(u);
include/rtkKatsevichBackProjectionImageFilter.hxx:659: trailing whitespace.
+          if (ui >= 0 && ui < (int)pSize[0] - 1)
include/rtkKatsevichBackProjectionImageFilter.hxx:660: trailing whitespace.
+          {
include/rtkKatsevichBackProjectionImageFilter.hxx:661: trailing whitespace.
+            indexOutput[0] = i;
include/rtkKatsevichBackProjectionImageFilter.hxx:662: trailing whitespace.
+            indexOutput[1] = j;
include/rtkKatsevichBackProjectionImageFilter.hxx:663: trailing whitespace.
+            indexOutput[2] = k;
include/rtkKatsevichBackProjectionImageFilter.hxx:664: trailing whitespace.
+            using ComponentType = typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType;
include/rtkKatsevichBackProjectionImageFilter.hxx:665: trailing whitespace.
+            ComponentType u1, u2, v1, v2;
include/rtkKatsevichBackProjectionImageFilter.hxx:666: trailing whitespace.
+            pProj = projection->GetBufferPointer() + vi * pSize[0] + ui;
include/rtkKatsevichBackProjectionImageFilter.hxx:667: trailing whitespace.
+            v1 = v - vi;
include/rtkKatsevichBackProjectionImageFilter.hxx:668: trailing whitespace.
+            v2 = 1.0 - v1;
include/rtkKatsevichBackProjectionImageFilter.hxx:669: trailing whitespace.
+            u1 = u - ui;
include/rtkKatsevichBackProjectionImageFilter.hxx:670: trailing whitespace.
+            u2 = 1.0 - u1;
include/rtkKatsevichBackProjectionImageFilter.hxx:671: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:672: trailing whitespace.
+            itk::Vector<typename TOutputImage::InternalPixelType, 2> piline = itPIL.Get();
include/rtkKatsevichBackProjectionImageFilter.hxx:673: trailing whitespace.
+            typename TOutputImage::InternalPixelType                 sb = piline[0];
include/rtkKatsevichBackProjectionImageFilter.hxx:674: trailing whitespace.
+            typename TOutputImage::InternalPixelType                 st = piline[1];
include/rtkKatsevichBackProjectionImageFilter.hxx:675: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:676: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:677: trailing whitespace.
+            double rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:678: trailing whitespace.
+            double d_in = (lambda - sb) / delta_lambda;
include/rtkKatsevichBackProjectionImageFilter.hxx:679: trailing whitespace.
+            double d_out = (st - lambda) / delta_lambda;
include/rtkKatsevichBackProjectionImageFilter.hxx:680: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:681: trailing whitespace.
+            // Apply PiLineConditions
include/rtkKatsevichBackProjectionImageFilter.hxx:682: trailing whitespace.
+            if (lambda < sb - delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:683: trailing whitespace.
+              rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:684: trailing whitespace.
+            else if (lambda < sb)
include/rtkKatsevichBackProjectionImageFilter.hxx:685: trailing whitespace.
+              rho = 0.5 * (d_in + 1) * (d_in + 1);
include/rtkKatsevichBackProjectionImageFilter.hxx:686: trailing whitespace.
+            else if (lambda < sb + delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:687: trailing whitespace.
+              rho = 0.5 + d_in + 0.5 * d_in * d_in;
include/rtkKatsevichBackProjectionImageFilter.hxx:688: trailing whitespace.
+            else if (lambda < st - delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:689: trailing whitespace.
+              rho = 1;
include/rtkKatsevichBackProjectionImageFilter.hxx:690: trailing whitespace.
+            else if (lambda < st)
include/rtkKatsevichBackProjectionImageFilter.hxx:691: trailing whitespace.
+              rho = 0.5 + d_out + 0.5 * d_out * d_out;
include/rtkKatsevichBackProjectionImageFilter.hxx:692: trailing whitespace.
+            else if (lambda < st + delta_lambda)
include/rtkKatsevichBackProjectionImageFilter.hxx:693: trailing whitespace.
+              rho = 0.5 * (1 + d_out * (1 + d_out));
include/rtkKatsevichBackProjectionImageFilter.hxx:694: trailing whitespace.
+            else
include/rtkKatsevichBackProjectionImageFilter.hxx:695: trailing whitespace.
+              rho = 0;
include/rtkKatsevichBackProjectionImageFilter.hxx:696: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:697: trailing whitespace.
+            /**Méthode sans adoucissement des bords
include/rtkKatsevichBackProjectionImageFilter.hxx:698: trailing whitespace.
+            double sign_lambda_b = std::signbit(sb-lambda);
include/rtkKatsevichBackProjectionImageFilter.hxx:699: trailing whitespace.
+            double sign_lambda_t = std::signbit(lambda - st);
include/rtkKatsevichBackProjectionImageFilter.hxx:700: trailing whitespace.
+            double rho = (sign_lambda_b*sign_lambda_t+1)/2;**/
include/rtkKatsevichBackProjectionImageFilter.hxx:701: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:702: trailing whitespace.
+            this->GetOutput()->TransformIndexToPhysicalPoint(indexOutput, outPoint);
include/rtkKatsevichBackProjectionImageFilter.hxx:703: trailing whitespace.
+            double wstar = sid - outPoint[0] * sin(lambda) - outPoint[2] * cos(lambda);
include/rtkKatsevichBackProjectionImageFilter.hxx:704: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:705: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:706: trailing whitespace.
+            *pVol += rho * delta_lambda *
include/rtkKatsevichBackProjectionImageFilter.hxx:707: trailing whitespace.
+                     (v2 * (u2 * *(pProj) + u1 * *(pProj + 1)) +
include/rtkKatsevichBackProjectionImageFilter.hxx:708: trailing whitespace.
+                      v1 * (u2 * *(pProj + pSize[0]) + u1 * *(pProj + pSize[0] + 1))) /
include/rtkKatsevichBackProjectionImageFilter.hxx:709: trailing whitespace.
+                     (wstar * 2 * M_PI);
include/rtkKatsevichBackProjectionImageFilter.hxx:710: trailing whitespace.
+          }
include/rtkKatsevichBackProjectionImageFilter.hxx:711: trailing whitespace.
+          ++itPIL;
include/rtkKatsevichBackProjectionImageFilter.hxx:712: trailing whitespace.
+        } // j
include/rtkKatsevichBackProjectionImageFilter.hxx:713: trailing whitespace.
+      }
include/rtkKatsevichBackProjectionImageFilter.hxx:714: trailing whitespace.
+    } // i
include/rtkKatsevichBackProjectionImageFilter.hxx:715: trailing whitespace.
+  }   // k
include/rtkKatsevichBackProjectionImageFilter.hxx:716: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:717: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:718: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:719: trailing whitespace.
+template <class TProjectionImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:720: trailing whitespace.
+typename TProjectionImage::Pointer
include/rtkKatsevichBackProjectionImageFilter.hxx:721: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::GetProjection(const unsigned int iProj)
include/rtkKatsevichBackProjectionImageFilter.hxx:722: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:723: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:724: trailing whitespace.
+  typename Superclass::InputImagePointer stack = const_cast<TInputImage *>(this->GetInput(1));
include/rtkKatsevichBackProjectionImageFilter.hxx:725: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:726: trailing whitespace.
+  const int iProjBuff = stack->GetBufferedRegion().GetIndex(ProjectionImageType::ImageDimension);
include/rtkKatsevichBackProjectionImageFilter.hxx:727: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:728: trailing whitespace.
+  typename TProjectionImage::Pointer     projection = TProjectionImage::New();
include/rtkKatsevichBackProjectionImageFilter.hxx:729: trailing whitespace.
+  typename TProjectionImage::RegionType  region;
include/rtkKatsevichBackProjectionImageFilter.hxx:730: trailing whitespace.
+  typename TProjectionImage::SpacingType spacing;
include/rtkKatsevichBackProjectionImageFilter.hxx:731: trailing whitespace.
+  typename TProjectionImage::PointType   origin;
include/rtkKatsevichBackProjectionImageFilter.hxx:732: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:733: trailing whitespace.
+  for (unsigned int i = 0; i < TProjectionImage::ImageDimension; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:734: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:735: trailing whitespace.
+    origin[i] = stack->GetOrigin()[i];
include/rtkKatsevichBackProjectionImageFilter.hxx:736: trailing whitespace.
+    spacing[i] = stack->GetSpacing()[i];
include/rtkKatsevichBackProjectionImageFilter.hxx:737: trailing whitespace.
+    region.SetSize(i, stack->GetBufferedRegion().GetSize()[i]);
include/rtkKatsevichBackProjectionImageFilter.hxx:738: trailing whitespace.
+    region.SetIndex(i, stack->GetBufferedRegion().GetIndex()[i]);
include/rtkKatsevichBackProjectionImageFilter.hxx:739: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:740: trailing whitespace.
+  if (this->GetTranspose())
include/rtkKatsevichBackProjectionImageFilter.hxx:741: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:742: trailing whitespace.
+    typename TProjectionImage::SizeType  size = region.GetSize();
include/rtkKatsevichBackProjectionImageFilter.hxx:743: trailing whitespace.
+    typename TProjectionImage::IndexType index = region.GetIndex();
include/rtkKatsevichBackProjectionImageFilter.hxx:744: trailing whitespace.
+    std::swap(size[0], size[1]);
include/rtkKatsevichBackProjectionImageFilter.hxx:745: trailing whitespace.
+    std::swap(index[0], index[1]);
include/rtkKatsevichBackProjectionImageFilter.hxx:746: trailing whitespace.
+    std::swap(origin[0], origin[1]);
include/rtkKatsevichBackProjectionImageFilter.hxx:747: trailing whitespace.
+    std::swap(spacing[0], spacing[1]);
include/rtkKatsevichBackProjectionImageFilter.hxx:748: trailing whitespace.
+    region.SetSize(size);
include/rtkKatsevichBackProjectionImageFilter.hxx:749: trailing whitespace.
+    region.SetIndex(index);
include/rtkKatsevichBackProjectionImageFilter.hxx:750: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:751: trailing whitespace.
+  projection->SetSpacing(spacing);
include/rtkKatsevichBackProjectionImageFilter.hxx:752: trailing whitespace.
+  projection->SetOrigin(origin);
include/rtkKatsevichBackProjectionImageFilter.hxx:753: trailing whitespace.
+  projection->SetRegions(region);
include/rtkKatsevichBackProjectionImageFilter.hxx:754: trailing whitespace.
+  projection->Allocate();
include/rtkKatsevichBackProjectionImageFilter.hxx:755: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:756: trailing whitespace.
+  const unsigned int             npixels = projection->GetBufferedRegion().GetNumberOfPixels();
include/rtkKatsevichBackProjectionImageFilter.hxx:757: trailing whitespace.
+  const InternalInputPixelType * pi = stack->GetBufferPointer() + (iProj - iProjBuff) * npixels;
include/rtkKatsevichBackProjectionImageFilter.hxx:758: trailing whitespace.
+  InternalInputPixelType *       po = projection->GetBufferPointer();
include/rtkKatsevichBackProjectionImageFilter.hxx:759: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:760: trailing whitespace.
+  // Transpose projection for optimization
include/rtkKatsevichBackProjectionImageFilter.hxx:761: trailing whitespace.
+  if (this->GetTranspose())
include/rtkKatsevichBackProjectionImageFilter.hxx:762: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:763: trailing whitespace.
+    for (unsigned int j = 0; j < region.GetSize(0); j++, po -= npixels - 1)
include/rtkKatsevichBackProjectionImageFilter.hxx:764: trailing whitespace.
+      for (unsigned int i = 0; i < region.GetSize(1); i++, po += region.GetSize(0))
include/rtkKatsevichBackProjectionImageFilter.hxx:765: trailing whitespace.
+        *po = *pi++;
include/rtkKatsevichBackProjectionImageFilter.hxx:766: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:767: trailing whitespace.
+  else
include/rtkKatsevichBackProjectionImageFilter.hxx:768: trailing whitespace.
+    for (unsigned int i = 0; i < npixels; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:769: trailing whitespace.
+      *po++ = *pi++;
include/rtkKatsevichBackProjectionImageFilter.hxx:770: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:771: trailing whitespace.
+  return projection;
include/rtkKatsevichBackProjectionImageFilter.hxx:772: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:773: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:774: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:775: trailing whitespace.
+typename KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::ProjectionMatrixType
include/rtkKatsevichBackProjectionImageFilter.hxx:776: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::GetIndexToIndexProjectionMatrix(const unsigned int iProj)
include/rtkKatsevichBackProjectionImageFilter.hxx:777: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:778: trailing whitespace.
+  const unsigned int Dimension = TInputImage::ImageDimension;
include/rtkKatsevichBackProjectionImageFilter.hxx:779: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:780: trailing whitespace.
+  ProjectionMatrixType VolumeIndexToProjectionPhysicalPointMatrix =
include/rtkKatsevichBackProjectionImageFilter.hxx:781: trailing whitespace.
+    GetVolumeIndexToProjectionPhysicalPointMatrix(iProj);
include/rtkKatsevichBackProjectionImageFilter.hxx:782: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:783: trailing whitespace.
+  itk::Matrix<double, Dimension, Dimension> ProjectionPhysicalPointToProjectionIndexMatrix =
include/rtkKatsevichBackProjectionImageFilter.hxx:784: trailing whitespace.
+    GetProjectionPhysicalPointToProjectionIndexMatrix(iProj);
include/rtkKatsevichBackProjectionImageFilter.hxx:785: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:786: trailing whitespace.
+  return ProjectionMatrixType(ProjectionPhysicalPointToProjectionIndexMatrix.GetVnlMatrix() *
include/rtkKatsevichBackProjectionImageFilter.hxx:787: trailing whitespace.
+                              VolumeIndexToProjectionPhysicalPointMatrix.GetVnlMatrix());
include/rtkKatsevichBackProjectionImageFilter.hxx:788: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:789: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:790: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:791: trailing whitespace.
+typename KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::ProjectionMatrixType
include/rtkKatsevichBackProjectionImageFilter.hxx:792: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::GetVolumeIndexToProjectionPhysicalPointMatrix(
include/rtkKatsevichBackProjectionImageFilter.hxx:793: trailing whitespace.
+  const unsigned int iProj)
include/rtkKatsevichBackProjectionImageFilter.hxx:794: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:795: trailing whitespace.
+  const unsigned int Dimension = TInputImage::ImageDimension;
include/rtkKatsevichBackProjectionImageFilter.hxx:796: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:797: trailing whitespace.
+  itk::Matrix<double, Dimension + 1, Dimension + 1> matrixVol =
include/rtkKatsevichBackProjectionImageFilter.hxx:798: trailing whitespace.
+    GetIndexToPhysicalPointMatrix<TOutputImage>(this->GetOutput());
include/rtkKatsevichBackProjectionImageFilter.hxx:799: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:800: trailing whitespace.
+  return ProjectionMatrixType(this->m_Geometry->GetMagnificationMatrices()[iProj].GetVnlMatrix() *
include/rtkKatsevichBackProjectionImageFilter.hxx:801: trailing whitespace.
+                              this->m_Geometry->GetSourceTranslationMatrices()[iProj].GetVnlMatrix() *
include/rtkKatsevichBackProjectionImageFilter.hxx:802: trailing whitespace.
+                              this->m_Geometry->GetRotationMatrices()[iProj].GetVnlMatrix() * matrixVol.GetVnlMatrix());
include/rtkKatsevichBackProjectionImageFilter.hxx:803: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:804: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:805: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackProjectionImageFilter.hxx:806: trailing whitespace.
+itk::Matrix<double, TInputImage::ImageDimension, TInputImage::ImageDimension>
include/rtkKatsevichBackProjectionImageFilter.hxx:807: trailing whitespace.
+KatsevichBackProjectionImageFilter<TInputImage, TOutputImage>::GetProjectionPhysicalPointToProjectionIndexMatrix(
include/rtkKatsevichBackProjectionImageFilter.hxx:808: trailing whitespace.
+  const unsigned int iProj)
include/rtkKatsevichBackProjectionImageFilter.hxx:809: trailing whitespace.
+{
include/rtkKatsevichBackProjectionImageFilter.hxx:810: trailing whitespace.
+  const unsigned int Dimension = TInputImage::ImageDimension;
include/rtkKatsevichBackProjectionImageFilter.hxx:811: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:812: trailing whitespace.
+  itk::Matrix<double, Dimension + 1, Dimension + 1> matrixStackProj =
include/rtkKatsevichBackProjectionImageFilter.hxx:813: trailing whitespace.
+    GetPhysicalPointToIndexMatrix<TOutputImage>(this->GetInput(1));
include/rtkKatsevichBackProjectionImageFilter.hxx:814: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:815: trailing whitespace.
+  itk::Matrix<double, Dimension, Dimension> matrixProj;
include/rtkKatsevichBackProjectionImageFilter.hxx:816: trailing whitespace.
+  matrixProj.SetIdentity();
include/rtkKatsevichBackProjectionImageFilter.hxx:817: trailing whitespace.
+  for (unsigned int i = 0; i < Dimension - 1; i++)
include/rtkKatsevichBackProjectionImageFilter.hxx:818: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:819: trailing whitespace.
+    matrixProj[i][Dimension - 1] = matrixStackProj[i][Dimension];
include/rtkKatsevichBackProjectionImageFilter.hxx:820: trailing whitespace.
+    for (unsigned int j = 0; j < Dimension - 1; j++)
include/rtkKatsevichBackProjectionImageFilter.hxx:821: trailing whitespace.
+      matrixProj[i][j] = matrixStackProj[i][j];
include/rtkKatsevichBackProjectionImageFilter.hxx:822: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:823: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:824: trailing whitespace.
+  // Transpose projection for optimization
include/rtkKatsevichBackProjectionImageFilter.hxx:825: trailing whitespace.
+  itk::Matrix<double, Dimension, Dimension> matrixFlip;
include/rtkKatsevichBackProjectionImageFilter.hxx:826: trailing whitespace.
+  matrixFlip.SetIdentity();
include/rtkKatsevichBackProjectionImageFilter.hxx:827: trailing whitespace.
+  if (this->GetTranspose())
include/rtkKatsevichBackProjectionImageFilter.hxx:828: trailing whitespace.
+  {
include/rtkKatsevichBackProjectionImageFilter.hxx:829: trailing whitespace.
+    std::swap(matrixFlip[0][0], matrixFlip[0][1]);
include/rtkKatsevichBackProjectionImageFilter.hxx:830: trailing whitespace.
+    std::swap(matrixFlip[1][0], matrixFlip[1][1]);
include/rtkKatsevichBackProjectionImageFilter.hxx:831: trailing whitespace.
+  }
include/rtkKatsevichBackProjectionImageFilter.hxx:832: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:833: trailing whitespace.
+  return itk::Matrix<double, TInputImage::ImageDimension, TInputImage::ImageDimension>(
include/rtkKatsevichBackProjectionImageFilter.hxx:834: trailing whitespace.
+    matrixFlip.GetVnlMatrix() * matrixProj.GetVnlMatrix() *
include/rtkKatsevichBackProjectionImageFilter.hxx:835: trailing whitespace.
+    this->m_Geometry->GetProjectionTranslationMatrices()[iProj].GetVnlMatrix());
include/rtkKatsevichBackProjectionImageFilter.hxx:836: trailing whitespace.
+}
include/rtkKatsevichBackProjectionImageFilter.hxx:837: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:838: trailing whitespace.
+} // end namespace rtk
include/rtkKatsevichBackProjectionImageFilter.hxx:839: trailing whitespace.
+
include/rtkKatsevichBackProjectionImageFilter.hxx:840: trailing whitespace.
+#endif
include/rtkKatsevichBackwardBinningImageFilter.h:1: trailing whitespace.
+/*=========================================================================
include/rtkKatsevichBackwardBinningImageFilter.h:2: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.h:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkKatsevichBackwardBinningImageFilter.h:4: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.h:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkKatsevichBackwardBinningImageFilter.h:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkKatsevichBackwardBinningImageFilter.h:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkKatsevichBackwardBinningImageFilter.h:8: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.h:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkKatsevichBackwardBinningImageFilter.h:10: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.h:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkKatsevichBackwardBinningImageFilter.h:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkKatsevichBackwardBinningImageFilter.h:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkKatsevichBackwardBinningImageFilter.h:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkKatsevichBackwardBinningImageFilter.h:15: trailing whitespace.
+ *  limitations under the License.
include/rtkKatsevichBackwardBinningImageFilter.h:16: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.h:17: trailing whitespace.
+ *=========================================================================*/
include/rtkKatsevichBackwardBinningImageFilter.h:18: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:19: trailing whitespace.
+#ifndef rtkKatsevichBackwardBinningImageFilter_h
include/rtkKatsevichBackwardBinningImageFilter.h:20: trailing whitespace.
+#define rtkKatsevichBackwardBinningImageFilter_h
include/rtkKatsevichBackwardBinningImageFilter.h:21: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:22: trailing whitespace.
+#include <rtkConfiguration.h>
include/rtkKatsevichBackwardBinningImageFilter.h:23: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:24: trailing whitespace.
+#include <itkInPlaceImageFilter.h>
include/rtkKatsevichBackwardBinningImageFilter.h:25: trailing whitespace.
+#include <itkConceptChecking.h>
include/rtkKatsevichBackwardBinningImageFilter.h:26: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:27: trailing whitespace.
+#include <rtkThreeDHelicalProjectionGeometry.h>
include/rtkKatsevichBackwardBinningImageFilter.h:28: trailing whitespace.
+#include <rtkConstantImageSource.h>
include/rtkKatsevichBackwardBinningImageFilter.h:29: trailing whitespace.
+#include "itkImageSliceIteratorWithIndex.h"
include/rtkKatsevichBackwardBinningImageFilter.h:30: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:31: trailing whitespace.
+#include <type_traits>
include/rtkKatsevichBackwardBinningImageFilter.h:32: trailing whitespace.
+#include <typeinfo>
include/rtkKatsevichBackwardBinningImageFilter.h:33: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:34: trailing whitespace.
+namespace rtk
include/rtkKatsevichBackwardBinningImageFilter.h:35: trailing whitespace.
+{
include/rtkKatsevichBackwardBinningImageFilter.h:36: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:37: trailing whitespace.
+/** \class KatsevichBackwardBinningImageFilter
include/rtkKatsevichBackwardBinningImageFilter.h:38: trailing whitespace.
+ * \brief
include/rtkKatsevichBackwardBinningImageFilter.h:39: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.h:40: trailing whitespace.
+ * Backprojects a stack of projection images (input 1) in a 3D volume (input 0)
include/rtkKatsevichBackwardBinningImageFilter.h:41: trailing whitespace.
+ * using linear interpolation according to a specified geometry. The operation
include/rtkKatsevichBackwardBinningImageFilter.h:42: trailing whitespace.
+ * is voxel-based, meaning that the center of each voxel is projected in the
include/rtkKatsevichBackwardBinningImageFilter.h:43: trailing whitespace.
+ * projection images to determine the interpolation location.
include/rtkKatsevichBackwardBinningImageFilter.h:44: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.h:45: trailing whitespace.
+ * \test rtkfovtest.cxx
include/rtkKatsevichBackwardBinningImageFilter.h:46: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.h:47: trailing whitespace.
+ * \author Simon Rit
include/rtkKatsevichBackwardBinningImageFilter.h:48: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.h:49: trailing whitespace.
+ * \ingroup RTK Projector
include/rtkKatsevichBackwardBinningImageFilter.h:50: trailing whitespace.
+ */
include/rtkKatsevichBackwardBinningImageFilter.h:51: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackwardBinningImageFilter.h:52: trailing whitespace.
+class KatsevichBackwardBinningImageFilter : public itk::ImageToImageFilter<TInputImage, TOutputImage>
include/rtkKatsevichBackwardBinningImageFilter.h:53: trailing whitespace.
+{
include/rtkKatsevichBackwardBinningImageFilter.h:54: trailing whitespace.
+public:
include/rtkKatsevichBackwardBinningImageFilter.h:55: trailing whitespace.
+  ITK_DISALLOW_COPY_AND_ASSIGN(KatsevichBackwardBinningImageFilter);
include/rtkKatsevichBackwardBinningImageFilter.h:56: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:57: trailing whitespace.
+  /** Standard class type alias. */
include/rtkKatsevichBackwardBinningImageFilter.h:58: trailing whitespace.
+  using Self = KatsevichBackwardBinningImageFilter;
include/rtkKatsevichBackwardBinningImageFilter.h:59: trailing whitespace.
+  using OutputImageType = TOutputImage;
include/rtkKatsevichBackwardBinningImageFilter.h:60: trailing whitespace.
+  using InputImageType = TInputImage;
include/rtkKatsevichBackwardBinningImageFilter.h:61: trailing whitespace.
+  using Superclass = itk::ImageToImageFilter<TInputImage, TOutputImage>;
include/rtkKatsevichBackwardBinningImageFilter.h:62: trailing whitespace.
+  using Pointer = itk::SmartPointer<Self>;
include/rtkKatsevichBackwardBinningImageFilter.h:63: trailing whitespace.
+  using ConstPointer = itk::SmartPointer<const Self>;
include/rtkKatsevichBackwardBinningImageFilter.h:64: trailing whitespace.
+  using InputPixelType = typename TInputImage::PixelType;
include/rtkKatsevichBackwardBinningImageFilter.h:65: trailing whitespace.
+  using OutputPixelType = typename TOutputImage::PixelType;
include/rtkKatsevichBackwardBinningImageFilter.h:66: trailing whitespace.
+  using InternalInputPixelType = typename TInputImage::InternalPixelType;
include/rtkKatsevichBackwardBinningImageFilter.h:67: trailing whitespace.
+  using OutputImageRegionType = typename TOutputImage::RegionType;
include/rtkKatsevichBackwardBinningImageFilter.h:68: trailing whitespace.
+  using OutputImageIndexType = typename TOutputImage::IndexType;
include/rtkKatsevichBackwardBinningImageFilter.h:69: trailing whitespace.
+  using OutputImageSizeType = typename TOutputImage::SizeType;
include/rtkKatsevichBackwardBinningImageFilter.h:70: trailing whitespace.
+  using InputImageRegionType = typename TInputImage::RegionType;
include/rtkKatsevichBackwardBinningImageFilter.h:71: trailing whitespace.
+  using InputImageIndexType = typename TInputImage::IndexType;
include/rtkKatsevichBackwardBinningImageFilter.h:72: trailing whitespace.
+  using InputImageSizeType = typename TInputImage::SizeType;
include/rtkKatsevichBackwardBinningImageFilter.h:73: trailing whitespace.
+  using InputSliceIteratorType = itk::ImageSliceIteratorWithIndex<const InputImageType>;
include/rtkKatsevichBackwardBinningImageFilter.h:74: trailing whitespace.
+  using OutputSliceIteratorType = itk::ImageSliceIteratorWithIndex<OutputImageType>;
include/rtkKatsevichBackwardBinningImageFilter.h:75: trailing whitespace.
+  using ConstantImageType = rtk::ConstantImageSource<OutputImageType>;
include/rtkKatsevichBackwardBinningImageFilter.h:76: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:77: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:78: trailing whitespace.
+  using GeometryType = rtk::ThreeDHelicalProjectionGeometry;
include/rtkKatsevichBackwardBinningImageFilter.h:79: trailing whitespace.
+  using GeometryPointer = GeometryType::Pointer;
include/rtkKatsevichBackwardBinningImageFilter.h:80: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:81: trailing whitespace.
+  /** Method for creation through the object factory. */
include/rtkKatsevichBackwardBinningImageFilter.h:82: trailing whitespace.
+  itkNewMacro(Self);
include/rtkKatsevichBackwardBinningImageFilter.h:83: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:84: trailing whitespace.
+  /** Run-time type information (and related methods). */
include/rtkKatsevichBackwardBinningImageFilter.h:85: trailing whitespace.
+  itkTypeMacro(KatsevichBackwardBinningImageFilter, itk::ImageToImageFilter);
include/rtkKatsevichBackwardBinningImageFilter.h:86: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:87: trailing whitespace.
+  /** Get / Set the object pointer to projection geometry */
include/rtkKatsevichBackwardBinningImageFilter.h:88: trailing whitespace.
+  itkGetMacro(Geometry, GeometryPointer);
include/rtkKatsevichBackwardBinningImageFilter.h:89: trailing whitespace.
+  itkSetMacro(Geometry, GeometryPointer);
include/rtkKatsevichBackwardBinningImageFilter.h:90: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:91: trailing whitespace.
+  /** Get / Set the transpose flag for 2D projections (optimization trick) */
include/rtkKatsevichBackwardBinningImageFilter.h:92: trailing whitespace.
+  itkGetMacro(Transpose, bool);
include/rtkKatsevichBackwardBinningImageFilter.h:93: trailing whitespace.
+  itkSetMacro(Transpose, bool);
include/rtkKatsevichBackwardBinningImageFilter.h:94: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:95: trailing whitespace.
+protected:
include/rtkKatsevichBackwardBinningImageFilter.h:96: trailing whitespace.
+  KatsevichBackwardBinningImageFilter() = default;
include/rtkKatsevichBackwardBinningImageFilter.h:97: trailing whitespace.
+  ~KatsevichBackwardBinningImageFilter() override = default;
include/rtkKatsevichBackwardBinningImageFilter.h:98: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:99: trailing whitespace.
+  /** Set up requested region for inputs*/
include/rtkKatsevichBackwardBinningImageFilter.h:100: trailing whitespace.
+  void
include/rtkKatsevichBackwardBinningImageFilter.h:101: trailing whitespace.
+  GenerateInputRequestedRegion() override;
include/rtkKatsevichBackwardBinningImageFilter.h:102: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:103: trailing whitespace.
+  void
include/rtkKatsevichBackwardBinningImageFilter.h:104: trailing whitespace.
+  GenerateOutputInformation() override;
include/rtkKatsevichBackwardBinningImageFilter.h:105: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:106: trailing whitespace.
+  /** Checks that inputs are correctly set. */
include/rtkKatsevichBackwardBinningImageFilter.h:107: trailing whitespace.
+  void
include/rtkKatsevichBackwardBinningImageFilter.h:108: trailing whitespace.
+  VerifyPreconditions() ITKv5_CONST override;
include/rtkKatsevichBackwardBinningImageFilter.h:109: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:110: trailing whitespace.
+  void
include/rtkKatsevichBackwardBinningImageFilter.h:111: trailing whitespace.
+  DynamicThreadedGenerateData(const OutputImageRegionType & outputRegionForThread) override;
include/rtkKatsevichBackwardBinningImageFilter.h:112: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:113: trailing whitespace.
+  /** The two inputs should not be in the same space so there is nothing
include/rtkKatsevichBackwardBinningImageFilter.h:114: trailing whitespace.
+   * to verify. */
include/rtkKatsevichBackwardBinningImageFilter.h:115: trailing whitespace.
+  void
include/rtkKatsevichBackwardBinningImageFilter.h:116: trailing whitespace.
+  VerifyInputInformation() const override
include/rtkKatsevichBackwardBinningImageFilter.h:117: trailing whitespace.
+  {}
include/rtkKatsevichBackwardBinningImageFilter.h:118: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:119: trailing whitespace.
+  /** The input is a stack of projections, we need to interpolate in one projection
include/rtkKatsevichBackwardBinningImageFilter.h:120: trailing whitespace.
+      for efficiency during interpolation. Use of itk::ExtractImageFilter is
include/rtkKatsevichBackwardBinningImageFilter.h:121: trailing whitespace.
+      not threadsafe in ThreadedGenerateData, this one is. The output can be multiplied by a constant.
include/rtkKatsevichBackwardBinningImageFilter.h:122: trailing whitespace.
+      The function is templated to allow getting an itk::CudaImage. */
include/rtkKatsevichBackwardBinningImageFilter.h:123: trailing whitespace.
+  template <class TProjectionImage>
include/rtkKatsevichBackwardBinningImageFilter.h:124: trailing whitespace.
+  typename TProjectionImage::Pointer
include/rtkKatsevichBackwardBinningImageFilter.h:125: trailing whitespace.
+  GetProjection(const unsigned int iProj);
include/rtkKatsevichBackwardBinningImageFilter.h:126: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:127: trailing whitespace.
+  /** RTK geometry object */
include/rtkKatsevichBackwardBinningImageFilter.h:128: trailing whitespace.
+  GeometryPointer m_Geometry;
include/rtkKatsevichBackwardBinningImageFilter.h:129: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:130: trailing whitespace.
+private:
include/rtkKatsevichBackwardBinningImageFilter.h:131: trailing whitespace.
+  /** Flip projection flag: infludences GetProjection and
include/rtkKatsevichBackwardBinningImageFilter.h:132: trailing whitespace.
+    GetIndexToIndexProjectionMatrix for optimization */
include/rtkKatsevichBackwardBinningImageFilter.h:133: trailing whitespace.
+  bool m_Transpose{ false };
include/rtkKatsevichBackwardBinningImageFilter.h:134: trailing whitespace.
+};
include/rtkKatsevichBackwardBinningImageFilter.h:135: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:136: trailing whitespace.
+} // end namespace rtk
include/rtkKatsevichBackwardBinningImageFilter.h:137: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:138: trailing whitespace.
+#ifndef ITK_MANUAL_INSTANTIATION
include/rtkKatsevichBackwardBinningImageFilter.h:139: trailing whitespace.
+#  include "rtkKatsevichBackwardBinningImageFilter.hxx"
include/rtkKatsevichBackwardBinningImageFilter.h:140: trailing whitespace.
+#endif
include/rtkKatsevichBackwardBinningImageFilter.h:141: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.h:142: trailing whitespace.
+#endif
include/rtkKatsevichBackwardBinningImageFilter.hxx:1: trailing whitespace.
+/*=========================================================================
include/rtkKatsevichBackwardBinningImageFilter.hxx:2: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.hxx:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkKatsevichBackwardBinningImageFilter.hxx:4: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.hxx:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkKatsevichBackwardBinningImageFilter.hxx:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkKatsevichBackwardBinningImageFilter.hxx:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkKatsevichBackwardBinningImageFilter.hxx:8: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.hxx:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkKatsevichBackwardBinningImageFilter.hxx:10: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.hxx:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkKatsevichBackwardBinningImageFilter.hxx:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkKatsevichBackwardBinningImageFilter.hxx:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkKatsevichBackwardBinningImageFilter.hxx:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkKatsevichBackwardBinningImageFilter.hxx:15: trailing whitespace.
+ *  limitations under the License.
include/rtkKatsevichBackwardBinningImageFilter.hxx:16: trailing whitespace.
+ *
include/rtkKatsevichBackwardBinningImageFilter.hxx:17: trailing whitespace.
+ *=========================================================================*/
include/rtkKatsevichBackwardBinningImageFilter.hxx:18: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:19: trailing whitespace.
+#ifndef rtkKatsevichBackwardBinningImageFilter_hxx
include/rtkKatsevichBackwardBinningImageFilter.hxx:20: trailing whitespace.
+#define rtkKatsevichBackwardBinningImageFilter_hxx
include/rtkKatsevichBackwardBinningImageFilter.hxx:21: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:22: trailing whitespace.
+#include "math.h"
include/rtkKatsevichBackwardBinningImageFilter.hxx:23: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:24: trailing whitespace.
+#include <rtkKatsevichBackwardBinningImageFilter.h>
include/rtkKatsevichBackwardBinningImageFilter.hxx:25: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:26: trailing whitespace.
+#include <rtkHomogeneousMatrix.h>
include/rtkKatsevichBackwardBinningImageFilter.hxx:27: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:28: trailing whitespace.
+#include <itkImageRegionConstIterator.h>
include/rtkKatsevichBackwardBinningImageFilter.hxx:29: trailing whitespace.
+#include <itkImageRegionIteratorWithIndex.h>
include/rtkKatsevichBackwardBinningImageFilter.hxx:30: trailing whitespace.
+#include <itkLinearInterpolateImageFunction.h>
include/rtkKatsevichBackwardBinningImageFilter.hxx:31: trailing whitespace.
+#include <itkPixelTraits.h>
include/rtkKatsevichBackwardBinningImageFilter.hxx:32: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:33: trailing whitespace.
+namespace rtk
include/rtkKatsevichBackwardBinningImageFilter.hxx:34: trailing whitespace.
+{
include/rtkKatsevichBackwardBinningImageFilter.hxx:35: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:36: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackwardBinningImageFilter.hxx:37: trailing whitespace.
+void
include/rtkKatsevichBackwardBinningImageFilter.hxx:38: trailing whitespace.
+KatsevichBackwardBinningImageFilter<TInputImage, TOutputImage>::GenerateInputRequestedRegion()
include/rtkKatsevichBackwardBinningImageFilter.hxx:39: trailing whitespace.
+{
include/rtkKatsevichBackwardBinningImageFilter.hxx:40: trailing whitespace.
+  //  // Input 0 is Output ie result of forward binning
include/rtkKatsevichBackwardBinningImageFilter.hxx:41: trailing whitespace.
+  //  typename Superclass::InputImagePointer inputPtr0 = const_cast<TInputImage *>(this->GetInput());
include/rtkKatsevichBackwardBinningImageFilter.hxx:42: trailing whitespace.
+  //  std::cout << "Input largest : " << this->GetInput()->GetLargestPossibleRegion() << std::endl;
include/rtkKatsevichBackwardBinningImageFilter.hxx:43: trailing whitespace.
+  //  std::cout << "inputPtr0 : " << inputPtr0->GetRequestedRegion() << std::endl;
include/rtkKatsevichBackwardBinningImageFilter.hxx:44: trailing whitespace.
+  //  if (!inputPtr0)
include/rtkKatsevichBackwardBinningImageFilter.hxx:45: trailing whitespace.
+  //    return;
include/rtkKatsevichBackwardBinningImageFilter.hxx:46: trailing whitespace.
+  //  inputPtr0->SetRequestedRegion(this->GetInput()->GetLargestPossibleRegion());
include/rtkKatsevichBackwardBinningImageFilter.hxx:47: trailing whitespace.
+  //
include/rtkKatsevichBackwardBinningImageFilter.hxx:48: trailing whitespace.
+  //  //TO DELETE : SPACING AND ORIGIN ALWAYS (1,1,1) AND (0,0,0) -> NOT OKAY !!!!
include/rtkKatsevichBackwardBinningImageFilter.hxx:49: trailing whitespace.
+  //  //std::cout<<"Input size: "<<this->GetInput()->GetLargestPossibleRegion().GetSize()<<std::endl;
include/rtkKatsevichBackwardBinningImageFilter.hxx:50: trailing whitespace.
+  //  //std::cout<<"Input spacing : "<<this->GetInput()->GetSpacing()<<std::endl;
include/rtkKatsevichBackwardBinningImageFilter.hxx:51: trailing whitespace.
+  //  //std::cout<<"Input origin : "<<this->GetInput()->GetOrigin()<<std::endl;
include/rtkKatsevichBackwardBinningImageFilter.hxx:52: trailing whitespace.
+  //
include/rtkKatsevichBackwardBinningImageFilter.hxx:53: trailing whitespace.
+  //
include/rtkKatsevichBackwardBinningImageFilter.hxx:54: trailing whitespace.
+}
include/rtkKatsevichBackwardBinningImageFilter.hxx:55: trailing whitespace.
+// Not necessary as GetInput()->GetLargest = inputPtr0->GetRequested before assignment.
include/rtkKatsevichBackwardBinningImageFilter.hxx:56: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:57: trailing whitespace.
+template <typename TInputImage, typename TOutputImage>
include/rtkKatsevichBackwardBinningImageFilter.hxx:58: trailing whitespace.
+void
include/rtkKatsevichBackwardBinningImageFilter.hxx:59: trailing whitespace.
+KatsevichBackwardBinningImageFilter<TInputImage, TOutputImage>::GenerateOutputInformation()
include/rtkKatsevichBackwardBinningImageFilter.hxx:60: trailing whitespace.
+{
include/rtkKatsevichBackwardBinningImageFilter.hxx:61: trailing whitespace.
+  // Mettre a jour la taille de l'image de sortie. Ainsi que l'origine.
include/rtkKatsevichBackwardBinningImageFilter.hxx:62: trailing whitespace.
+  // Sur le modele de itk::ShrinkImageFilter
include/rtkKatsevichBackwardBinningImageFilter.hxx:63: trailing whitespace.
+  // Call the superclass' implementation of this method
include/rtkKatsevichBackwardBinningImageFilter.hxx:64: trailing whitespace.
+  Superclass::GenerateOutputInformation();
include/rtkKatsevichBackwardBinningImageFilter.hxx:65: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:66: trailing whitespace.
+  // Get pointers to the input and output
include/rtkKatsevichBackwardBinningImageFilter.hxx:67: trailing whitespace.
+  const InputImageType * inputPtr = this->GetInput();
include/rtkKatsevichBackwardBinningImageFilter.hxx:68: trailing whitespace.
+  OutputImageType *      outputPtr = this->GetOutput();
include/rtkKatsevichBackwardBinningImageFilter.hxx:69: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:70: trailing whitespace.
+  itkAssertInDebugAndIgnoreInReleaseMacro(inputPtr);
include/rtkKatsevichBackwardBinningImageFilter.hxx:71: trailing whitespace.
+  itkAssertInDebugAndIgnoreInReleaseMacro(outputPtr != nullptr);
include/rtkKatsevichBackwardBinningImageFilter.hxx:72: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:73: trailing whitespace.
+  unsigned int                              i;
include/rtkKatsevichBackwardBinningImageFilter.hxx:74: trailing whitespace.
+  const typename TInputImage::SpacingType & inputSpacing = inputPtr->GetSpacing();
include/rtkKatsevichBackwardBinningImageFilter.hxx:75: trailing whitespace.
+  const typename TInputImage::PointType &   inputOrigin = inputPtr->GetOrigin();
include/rtkKatsevichBackwardBinningImageFilter.hxx:76: trailing whitespace.
+  const typename TInputImage::SizeType &    inputSize = inputPtr->GetLargestPossibleRegion().GetSize();
include/rtkKatsevichBackwardBinningImageFilter.hxx:77: trailing whitespace.
+  const typename TInputImage::IndexType &   inputStartIndex = inputPtr->GetLargestPossibleRegion().GetIndex();
include/rtkKatsevichBackwardBinningImageFilter.hxx:78: trailing whitespace.
+  typename TOutputImage::IndexType          outputStartIndex;
include/rtkKatsevichBackwardBinningImageFilter.hxx:79: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:80: trailing whitespace.
+  typename TOutputImage::SpacingType outputSpacing(inputSpacing);
include/rtkKatsevichBackwardBinningImageFilter.hxx:81: trailing whitespace.
+  typename TOutputImage::SizeType    outputSize(inputSize);
include/rtkKatsevichBackwardBinningImageFilter.hxx:82: trailing whitespace.
+  typename TOutputImage::PointType   outputOrigin(inputOrigin);
include/rtkKatsevichBackwardBinningImageFilter.hxx:83: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:84: trailing whitespace.
+  outputSize[1] = (int)(inputSize[1] - 1) / 2;
include/rtkKatsevichBackwardBinningImageFilter.hxx:85: trailing whitespace.
+  outputSpacing[1] = outputSpacing[0];
include/rtkKatsevichBackwardBinningImageFilter.hxx:86: trailing whitespace.
+  outputOrigin[1] = -0.5 * outputSpacing[1] * (outputSize[1] - 1);
include/rtkKatsevichBackwardBinningImageFilter.hxx:87: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:88: trailing whitespace.
+  // std::cout << "Output orig " << outputOrigin << " outputSpacing :" << outputSpacing << " outputSize : " <<
include/rtkKatsevichBackwardBinningImageFilter.hxx:89: trailing whitespace.
+  // outputSize << " Input size : " << inputSize << std::endl;
include/rtkKatsevichBackwardBinningImageFilter.hxx:90: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:91: trailing whitespace.
+  typename TOutputImage::RegionType outputLargestPossibleRegion;
include/rtkKatsevichBackwardBinningImageFilter.hxx:92: trailing whitespace.
+  outputLargestPossibleRegion.SetIndex(inputStartIndex);
include/rtkKatsevichBackwardBinningImageFilter.hxx:93: trailing whitespace.
+  outputLargestPossibleRegion.SetSize(outputSize);
include/rtkKatsevichBackwardBinningImageFilter.hxx:94: trailing whitespace.
+  outputPtr->SetLargestPossibleRegion(outputLargestPossibleRegion);
include/rtkKatsevichBackwardBinningImageFilter.hxx:95: trailing whitespace.
+  outputPtr->SetOrigin(outputOrigin);
include/rtkKatsevichBackwardBinningImageFilter.hxx:96: trailing whitespace.
+  outputPtr->SetSpacing(outputSpacing);
include/rtkKatsevichBackwardBinningImageFilter.hxx:97: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:98: trailing whitespace.
+  // std::cout << "KatsBackwardBinning::GenerateOutputInformation : OK" << std::endl;
include/rtkKatsevichBackwardBinningImageFilter.hxx:99: trailing whitespace.
+}
include/rtkKatsevichBackwardBinningImageFilter.hxx:100: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:101: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackwardBinningImageFilter.hxx:102: trailing whitespace.
+void
include/rtkKatsevichBackwardBinningImageFilter.hxx:103: trailing whitespace.
+KatsevichBackwardBinningImageFilter<TInputImage, TOutputImage>::VerifyPreconditions() ITKv5_CONST
include/rtkKatsevichBackwardBinningImageFilter.hxx:104: trailing whitespace.
+{
include/rtkKatsevichBackwardBinningImageFilter.hxx:105: trailing whitespace.
+  this->Superclass::VerifyPreconditions();
include/rtkKatsevichBackwardBinningImageFilter.hxx:106: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:107: trailing whitespace.
+  if (this->m_Geometry.IsNull() || !this->m_Geometry->GetTheGeometryIsVerified())
include/rtkKatsevichBackwardBinningImageFilter.hxx:108: trailing whitespace.
+    itkExceptionMacro(<< "Geometry has not been set or not been verified");
include/rtkKatsevichBackwardBinningImageFilter.hxx:109: trailing whitespace.
+}
include/rtkKatsevichBackwardBinningImageFilter.hxx:110: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:111: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:112: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichBackwardBinningImageFilter.hxx:113: trailing whitespace.
+void
include/rtkKatsevichBackwardBinningImageFilter.hxx:114: trailing whitespace.
+KatsevichBackwardBinningImageFilter<TInputImage, TOutputImage>::DynamicThreadedGenerateData(
include/rtkKatsevichBackwardBinningImageFilter.hxx:115: trailing whitespace.
+  const OutputImageRegionType & outputRegionForThread)
include/rtkKatsevichBackwardBinningImageFilter.hxx:116: trailing whitespace.
+{
include/rtkKatsevichBackwardBinningImageFilter.hxx:117: trailing whitespace.
+  const unsigned int Dimension = TInputImage::ImageDimension;
include/rtkKatsevichBackwardBinningImageFilter.hxx:118: trailing whitespace.
+  // JL const unsigned int nProj = this->GetInput()->GetLargestPossibleRegion().GetSize(Dimension - 1);
include/rtkKatsevichBackwardBinningImageFilter.hxx:119: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:120: trailing whitespace.
+  // std::cout << "Output region index : " << outputRegionForThread.GetIndex() << " size : " <<
include/rtkKatsevichBackwardBinningImageFilter.hxx:121: trailing whitespace.
+  // outputRegionForThread.GetSize() << std::endl;
include/rtkKatsevichBackwardBinningImageFilter.hxx:122: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:123: trailing whitespace.
+  // Iterator over output projections (in v)
include/rtkKatsevichBackwardBinningImageFilter.hxx:124: trailing whitespace.
+  OutputSliceIteratorType itOut(this->GetOutput(), outputRegionForThread);
include/rtkKatsevichBackwardBinningImageFilter.hxx:125: trailing whitespace.
+  itOut.SetFirstDirection(1);
include/rtkKatsevichBackwardBinningImageFilter.hxx:126: trailing whitespace.
+  itOut.SetSecondDirection(0);
include/rtkKatsevichBackwardBinningImageFilter.hxx:127: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:128: trailing whitespace.
+  // Detector details
include/rtkKatsevichBackwardBinningImageFilter.hxx:129: trailing whitespace.
+  unsigned int nbproj = outputRegionForThread.GetSize()[2];
include/rtkKatsevichBackwardBinningImageFilter.hxx:130: trailing whitespace.
+  unsigned int det_nu = outputRegionForThread.GetSize()[0];
include/rtkKatsevichBackwardBinningImageFilter.hxx:131: trailing whitespace.
+  unsigned int det_nv = outputRegionForThread.GetSize()[1];
include/rtkKatsevichBackwardBinningImageFilter.hxx:132: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:133: trailing whitespace.
+  unsigned int idx_proj = outputRegionForThread.GetIndex()[2];
include/rtkKatsevichBackwardBinningImageFilter.hxx:134: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:135: trailing whitespace.
+  InputImageRegionType requiredInputRegion;
include/rtkKatsevichBackwardBinningImageFilter.hxx:136: trailing whitespace.
+  InputImageIndexType  inIndex = this->GetInput()->GetLargestPossibleRegion().GetIndex();
include/rtkKatsevichBackwardBinningImageFilter.hxx:137: trailing whitespace.
+  InputImageSizeType   inSize = this->GetInput()->GetLargestPossibleRegion().GetSize();
include/rtkKatsevichBackwardBinningImageFilter.hxx:138: trailing whitespace.
+  inIndex[2] = idx_proj;
include/rtkKatsevichBackwardBinningImageFilter.hxx:139: trailing whitespace.
+  inSize[2] = nbproj;
include/rtkKatsevichBackwardBinningImageFilter.hxx:140: trailing whitespace.
+  requiredInputRegion.SetIndex(inIndex);
include/rtkKatsevichBackwardBinningImageFilter.hxx:141: trailing whitespace.
+  requiredInputRegion.SetSize(inSize);
include/rtkKatsevichBackwardBinningImageFilter.hxx:142: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:143: trailing whitespace.
+  InputSliceIteratorType itIn(this->GetInput(), requiredInputRegion);
include/rtkKatsevichBackwardBinningImageFilter.hxx:144: trailing whitespace.
+  itIn.SetFirstDirection(1);
include/rtkKatsevichBackwardBinningImageFilter.hxx:145: trailing whitespace.
+  itIn.SetSecondDirection(0);
include/rtkKatsevichBackwardBinningImageFilter.hxx:146: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:147: trailing whitespace.
+  double u = 0;
include/rtkKatsevichBackwardBinningImageFilter.hxx:148: trailing whitespace.
+  double v_current = 0;
include/rtkKatsevichBackwardBinningImageFilter.hxx:149: trailing whitespace.
+  double v_psi = 0;
include/rtkKatsevichBackwardBinningImageFilter.hxx:150: trailing whitespace.
+  double psi = 0;
include/rtkKatsevichBackwardBinningImageFilter.hxx:151: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:152: trailing whitespace.
+  double u_spacing = this->GetInput()->GetSpacing()[0];
include/rtkKatsevichBackwardBinningImageFilter.hxx:153: trailing whitespace.
+  double psi_spacing = this->GetInput()->GetSpacing()[1];
include/rtkKatsevichBackwardBinningImageFilter.hxx:154: trailing whitespace.
+  double v_spacing = this->GetOutput()->GetSpacing()[1];
include/rtkKatsevichBackwardBinningImageFilter.hxx:155: trailing whitespace.
+  double u_orig = this->GetInput()->GetOrigin()[0];
include/rtkKatsevichBackwardBinningImageFilter.hxx:156: trailing whitespace.
+  double psi_orig = this->GetInput()->GetOrigin()[1];
include/rtkKatsevichBackwardBinningImageFilter.hxx:157: trailing whitespace.
+  double v_orig = this->GetOutput()->GetOrigin()[1];
include/rtkKatsevichBackwardBinningImageFilter.hxx:158: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:159: trailing whitespace.
+  // Geometry details
include/rtkKatsevichBackwardBinningImageFilter.hxx:160: trailing whitespace.
+  double D = m_Geometry->GetHelixSourceToDetectorDist();
include/rtkKatsevichBackwardBinningImageFilter.hxx:161: trailing whitespace.
+  double P = m_Geometry->GetHelixPitch();
include/rtkKatsevichBackwardBinningImageFilter.hxx:162: trailing whitespace.
+  double R = m_Geometry->GetHelixRadius();
include/rtkKatsevichBackwardBinningImageFilter.hxx:163: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:164: trailing whitespace.
+  // double alpha_m = atan(0.5*u_spacing*(det_nu-1)/D); Générique mais doit être cohérent avec le fwd binning.
include/rtkKatsevichBackwardBinningImageFilter.hxx:165: trailing whitespace.
+  // double r = R*sin(alpha_m);
include/rtkKatsevichBackwardBinningImageFilter.hxx:166: trailing whitespace.
+  double r = 300.; // JL : en dur pour comparaison avec Python. Calculer a partir du detecteur :
include/rtkKatsevichBackwardBinningImageFilter.hxx:167: trailing whitespace.
+                   // sid*sin(atan(0.5*spacing*size/sdd)
include/rtkKatsevichBackwardBinningImageFilter.hxx:168: trailing whitespace.
+  double    alpha_m = asin(r / R);
include/rtkKatsevichBackwardBinningImageFilter.hxx:169: trailing whitespace.
+  const int L = this->GetInput()->GetLargestPossibleRegion().GetSize(1);
include/rtkKatsevichBackwardBinningImageFilter.hxx:170: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:171: trailing whitespace.
+  unsigned int idx_v = 0;
include/rtkKatsevichBackwardBinningImageFilter.hxx:172: trailing whitespace.
+  double       coeff_s = 0., coeff_i = 0.;
include/rtkKatsevichBackwardBinningImageFilter.hxx:173: trailing whitespace.
+  itIn.GoToBegin();
include/rtkKatsevichBackwardBinningImageFilter.hxx:174: trailing whitespace.
+  itOut.GoToBegin();
include/rtkKatsevichBackwardBinningImageFilter.hxx:175: trailing whitespace.
+  while (!itIn.IsAtEnd())
include/rtkKatsevichBackwardBinningImageFilter.hxx:176: trailing whitespace.
+  {
include/rtkKatsevichBackwardBinningImageFilter.hxx:177: trailing whitespace.
+    while (!itIn.IsAtEndOfSlice())
include/rtkKatsevichBackwardBinningImageFilter.hxx:178: trailing whitespace.
+    {
include/rtkKatsevichBackwardBinningImageFilter.hxx:179: trailing whitespace.
+      // Vectors of output values and coeffs accumulator
include/rtkKatsevichBackwardBinningImageFilter.hxx:180: trailing whitespace.
+      std::vector<float> coeffs(det_nv, 0.);
include/rtkKatsevichBackwardBinningImageFilter.hxx:181: trailing whitespace.
+      std::vector<float> outputVals(det_nv, 0.);
include/rtkKatsevichBackwardBinningImageFilter.hxx:182: trailing whitespace.
+      while (!itIn.IsAtEndOfLine())
include/rtkKatsevichBackwardBinningImageFilter.hxx:183: trailing whitespace.
+      {
include/rtkKatsevichBackwardBinningImageFilter.hxx:184: trailing whitespace.
+        const typename TInputImage::IndexType idx = itIn.GetIndex();
include/rtkKatsevichBackwardBinningImageFilter.hxx:185: trailing whitespace.
+        psi = psi_orig + idx[1] * psi_spacing;
include/rtkKatsevichBackwardBinningImageFilter.hxx:186: trailing whitespace.
+        u = u_orig + idx[0] * u_spacing;
include/rtkKatsevichBackwardBinningImageFilter.hxx:187: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:188: trailing whitespace.
+        // Compute v corresponding to current psi value
include/rtkKatsevichBackwardBinningImageFilter.hxx:189: trailing whitespace.
+        if (psi != 0)
include/rtkKatsevichBackwardBinningImageFilter.hxx:190: trailing whitespace.
+          v_psi = (psi + (psi / tan(psi)) * (u / D)) * D * P / (R * 2 * M_PI);
include/rtkKatsevichBackwardBinningImageFilter.hxx:191: trailing whitespace.
+        else
include/rtkKatsevichBackwardBinningImageFilter.hxx:192: trailing whitespace.
+          v_psi = (u / D) * D * P / (R * 2 * M_PI);
include/rtkKatsevichBackwardBinningImageFilter.hxx:193: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:194: trailing whitespace.
+        // Raise error if v outside detector range
include/rtkKatsevichBackwardBinningImageFilter.hxx:195: trailing whitespace.
+        if (v_psi < v_orig - 0.5 * v_spacing || v_psi >= v_orig + v_spacing * (det_nv - 1 + 0.5))
include/rtkKatsevichBackwardBinningImageFilter.hxx:196: trailing whitespace.
+        {
include/rtkKatsevichBackwardBinningImageFilter.hxx:197: trailing whitespace.
+          itkExceptionMacro(<< "The v_k(psi) value is outside v-range. v_psi :" << v_psi << " v_orig, v_spacing "
include/rtkKatsevichBackwardBinningImageFilter.hxx:198: trailing whitespace.
+                            << v_orig << " " << v_spacing << "psi : " << psi << " P : " << P << " D : " << D
include/rtkKatsevichBackwardBinningImageFilter.hxx:199: trailing whitespace.
+                            << " R : " << R << " u : " << u);
include/rtkKatsevichBackwardBinningImageFilter.hxx:200: trailing whitespace.
+        }
include/rtkKatsevichBackwardBinningImageFilter.hxx:201: trailing whitespace.
+        else if (v_psi < v_orig) // v is before first pixel center but within the detector range
include/rtkKatsevichBackwardBinningImageFilter.hxx:202: trailing whitespace.
+        {
include/rtkKatsevichBackwardBinningImageFilter.hxx:203: trailing whitespace.
+          idx_v = itk::Math::floor((v_psi - v_orig) / v_spacing);
include/rtkKatsevichBackwardBinningImageFilter.hxx:204: trailing whitespace.
+          v_current = v_orig + idx_v * v_spacing;
include/rtkKatsevichBackwardBinningImageFilter.hxx:205: trailing whitespace.
+          coeff_s = (v_psi - v_current) / v_spacing;
include/rtkKatsevichBackwardBinningImageFilter.hxx:206: trailing whitespace.
+          // Accumulate
include/rtkKatsevichBackwardBinningImageFilter.hxx:207: trailing whitespace.
+          outputVals[0] += coeff_s * itIn.Get();
include/rtkKatsevichBackwardBinningImageFilter.hxx:208: trailing whitespace.
+          coeffs[0] += coeff_s;
include/rtkKatsevichBackwardBinningImageFilter.hxx:209: trailing whitespace.
+        }
include/rtkKatsevichBackwardBinningImageFilter.hxx:210: trailing whitespace.
+        else if (v_psi >=
include/rtkKatsevichBackwardBinningImageFilter.hxx:211: trailing whitespace.
+                 v_orig + v_spacing * (det_nv - 1)) // v is after last pixel center but within the detector range
include/rtkKatsevichBackwardBinningImageFilter.hxx:212: trailing whitespace.
+        {
include/rtkKatsevichBackwardBinningImageFilter.hxx:213: trailing whitespace.
+          idx_v = itk::Math::floor((v_psi - v_orig) / v_spacing);
include/rtkKatsevichBackwardBinningImageFilter.hxx:214: trailing whitespace.
+          v_current = v_orig + idx_v * v_spacing;
include/rtkKatsevichBackwardBinningImageFilter.hxx:215: trailing whitespace.
+          coeff_s = (v_psi - v_current) / v_spacing;
include/rtkKatsevichBackwardBinningImageFilter.hxx:216: trailing whitespace.
+          coeff_i = 1 - coeff_s;
include/rtkKatsevichBackwardBinningImageFilter.hxx:217: trailing whitespace.
+          // output projection pointers
include/rtkKatsevichBackwardBinningImageFilter.hxx:218: trailing whitespace.
+          // OutputPixelType * pvi = nullptr;
include/rtkKatsevichBackwardBinningImageFilter.hxx:219: trailing whitespace.
+          // pvi = itOut + idx_v;
include/rtkKatsevichBackwardBinningImageFilter.hxx:220: trailing whitespace.
+          // Accumulate
include/rtkKatsevichBackwardBinningImageFilter.hxx:221: trailing whitespace.
+          //*pvi += coeff_i*itIn.Get();
include/rtkKatsevichBackwardBinningImageFilter.hxx:222: trailing whitespace.
+          outputVals[det_nv - 1] += coeff_i * itIn.Get();
include/rtkKatsevichBackwardBinningImageFilter.hxx:223: trailing whitespace.
+          coeffs[det_nv - 1] += coeff_i;
include/rtkKatsevichBackwardBinningImageFilter.hxx:224: trailing whitespace.
+        }
include/rtkKatsevichBackwardBinningImageFilter.hxx:225: trailing whitespace.
+        else // standard case
include/rtkKatsevichBackwardBinningImageFilter.hxx:226: trailing whitespace.
+        {
include/rtkKatsevichBackwardBinningImageFilter.hxx:227: trailing whitespace.
+          idx_v = itk::Math::floor((v_psi - v_orig) / v_spacing);
include/rtkKatsevichBackwardBinningImageFilter.hxx:228: trailing whitespace.
+          v_current = v_orig + idx_v * v_spacing;
include/rtkKatsevichBackwardBinningImageFilter.hxx:229: trailing whitespace.
+          coeff_s = (v_psi - v_current) / v_spacing;
include/rtkKatsevichBackwardBinningImageFilter.hxx:230: trailing whitespace.
+          coeff_i = 1 - coeff_s;
include/rtkKatsevichBackwardBinningImageFilter.hxx:231: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:232: trailing whitespace.
+          // Accumulate
include/rtkKatsevichBackwardBinningImageFilter.hxx:233: trailing whitespace.
+          //*pvi += coeff_i*itIn.Get();
include/rtkKatsevichBackwardBinningImageFilter.hxx:234: trailing whitespace.
+          //*pvs += coeff_s*itIn.Get();
include/rtkKatsevichBackwardBinningImageFilter.hxx:235: trailing whitespace.
+          outputVals[idx_v] += coeff_i * itIn.Get();
include/rtkKatsevichBackwardBinningImageFilter.hxx:236: trailing whitespace.
+          outputVals[idx_v + 1] += coeff_s * itIn.Get();
include/rtkKatsevichBackwardBinningImageFilter.hxx:237: trailing whitespace.
+          coeffs[idx_v] += coeff_i;
include/rtkKatsevichBackwardBinningImageFilter.hxx:238: trailing whitespace.
+          coeffs[idx_v + 1] += coeff_s;
include/rtkKatsevichBackwardBinningImageFilter.hxx:239: trailing whitespace.
+        }
include/rtkKatsevichBackwardBinningImageFilter.hxx:240: trailing whitespace.
+        // Move iterator forward
include/rtkKatsevichBackwardBinningImageFilter.hxx:241: trailing whitespace.
+        ++itIn;
include/rtkKatsevichBackwardBinningImageFilter.hxx:242: trailing whitespace.
+      }
include/rtkKatsevichBackwardBinningImageFilter.hxx:243: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:244: trailing whitespace.
+      // Divide output by the sum of all coeffs contributions.
include/rtkKatsevichBackwardBinningImageFilter.hxx:245: trailing whitespace.
+      while (!itOut.IsAtEndOfLine())
include/rtkKatsevichBackwardBinningImageFilter.hxx:246: trailing whitespace.
+      {
include/rtkKatsevichBackwardBinningImageFilter.hxx:247: trailing whitespace.
+        int idx = itOut.GetIndex()[1];
include/rtkKatsevichBackwardBinningImageFilter.hxx:248: trailing whitespace.
+        if (coeffs[idx] == 0.)
include/rtkKatsevichBackwardBinningImageFilter.hxx:249: trailing whitespace.
+        {
include/rtkKatsevichBackwardBinningImageFilter.hxx:250: trailing whitespace.
+          itOut.Set(0.);
include/rtkKatsevichBackwardBinningImageFilter.hxx:251: trailing whitespace.
+        }
include/rtkKatsevichBackwardBinningImageFilter.hxx:252: trailing whitespace.
+        else
include/rtkKatsevichBackwardBinningImageFilter.hxx:253: trailing whitespace.
+        {
include/rtkKatsevichBackwardBinningImageFilter.hxx:254: trailing whitespace.
+          itOut.Set(outputVals[idx] / coeffs[idx]);
include/rtkKatsevichBackwardBinningImageFilter.hxx:255: trailing whitespace.
+        }
include/rtkKatsevichBackwardBinningImageFilter.hxx:256: trailing whitespace.
+        ++itOut;
include/rtkKatsevichBackwardBinningImageFilter.hxx:257: trailing whitespace.
+      }
include/rtkKatsevichBackwardBinningImageFilter.hxx:258: trailing whitespace.
+      itIn.NextLine();
include/rtkKatsevichBackwardBinningImageFilter.hxx:259: trailing whitespace.
+      itOut.NextLine();
include/rtkKatsevichBackwardBinningImageFilter.hxx:260: trailing whitespace.
+    }
include/rtkKatsevichBackwardBinningImageFilter.hxx:261: trailing whitespace.
+    itIn.NextSlice();
include/rtkKatsevichBackwardBinningImageFilter.hxx:262: trailing whitespace.
+    itOut.NextSlice();
include/rtkKatsevichBackwardBinningImageFilter.hxx:263: trailing whitespace.
+  }
include/rtkKatsevichBackwardBinningImageFilter.hxx:264: trailing whitespace.
+}
include/rtkKatsevichBackwardBinningImageFilter.hxx:265: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:266: trailing whitespace.
+} // end namespace rtk
include/rtkKatsevichBackwardBinningImageFilter.hxx:267: trailing whitespace.
+
include/rtkKatsevichBackwardBinningImageFilter.hxx:268: trailing whitespace.
+#endif
include/rtkKatsevichDerivativeImageFilter.h:1: trailing whitespace.
+/*=========================================================================
include/rtkKatsevichDerivativeImageFilter.h:2: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.h:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkKatsevichDerivativeImageFilter.h:4: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.h:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkKatsevichDerivativeImageFilter.h:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkKatsevichDerivativeImageFilter.h:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkKatsevichDerivativeImageFilter.h:8: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.h:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkKatsevichDerivativeImageFilter.h:10: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.h:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkKatsevichDerivativeImageFilter.h:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkKatsevichDerivativeImageFilter.h:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkKatsevichDerivativeImageFilter.h:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkKatsevichDerivativeImageFilter.h:15: trailing whitespace.
+ *  limitations under the License.
include/rtkKatsevichDerivativeImageFilter.h:16: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.h:17: trailing whitespace.
+ *=========================================================================*/
include/rtkKatsevichDerivativeImageFilter.h:18: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:19: trailing whitespace.
+#ifndef rtkKatsevichDerivativeImageFilter_h
include/rtkKatsevichDerivativeImageFilter.h:20: trailing whitespace.
+#define rtkKatsevichDerivativeImageFilter_h
include/rtkKatsevichDerivativeImageFilter.h:21: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:22: trailing whitespace.
+#include "itkImageToImageFilter.h"
include/rtkKatsevichDerivativeImageFilter.h:23: trailing whitespace.
+#include "itkNumericTraits.h"
include/rtkKatsevichDerivativeImageFilter.h:24: trailing whitespace.
+#include "itkIndent.h"
include/rtkKatsevichDerivativeImageFilter.h:25: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:26: trailing whitespace.
+#include "itkConstShapedNeighborhoodIterator.h"
include/rtkKatsevichDerivativeImageFilter.h:27: trailing whitespace.
+#include "itkImageRegionIterator.h"
include/rtkKatsevichDerivativeImageFilter.h:28: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:29: trailing whitespace.
+#include "itkImageSliceIteratorWithIndex.h"
include/rtkKatsevichDerivativeImageFilter.h:30: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:31: trailing whitespace.
+#include "rtkThreeDHelicalProjectionGeometry.h"
include/rtkKatsevichDerivativeImageFilter.h:32: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:33: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:34: trailing whitespace.
+namespace rtk
include/rtkKatsevichDerivativeImageFilter.h:35: trailing whitespace.
+{
include/rtkKatsevichDerivativeImageFilter.h:36: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:37: trailing whitespace.
+/** \class KatsevichDerivativeImageFilter
include/rtkKatsevichDerivativeImageFilter.h:38: trailing whitespace.
+ * \brief Computes the derivatives of the projections wrt the projection index (the rotation angle).
include/rtkKatsevichDerivativeImageFilter.h:39: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.h:40: trailing whitespace.
+ * This filter implements the derivative as described in Noo et al., PMB, 2003
include/rtkKatsevichDerivativeImageFilter.h:41: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.h:42: trailing whitespace.
+ * \author Jerome Lesaint
include/rtkKatsevichDerivativeImageFilter.h:43: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.h:44: trailing whitespace.
+ * \ingroup
include/rtkKatsevichDerivativeImageFilter.h:45: trailing whitespace.
+ */
include/rtkKatsevichDerivativeImageFilter.h:46: trailing whitespace.
+template <class TInputImage, class TOutputImage = TInputImage>
include/rtkKatsevichDerivativeImageFilter.h:47: trailing whitespace.
+class ITK_EXPORT KatsevichDerivativeImageFilter : public itk::ImageToImageFilter<TInputImage, TOutputImage>
include/rtkKatsevichDerivativeImageFilter.h:48: trailing whitespace.
+{
include/rtkKatsevichDerivativeImageFilter.h:49: trailing whitespace.
+public:
include/rtkKatsevichDerivativeImageFilter.h:50: trailing whitespace.
+  ITK_DISALLOW_COPY_AND_ASSIGN(KatsevichDerivativeImageFilter);
include/rtkKatsevichDerivativeImageFilter.h:51: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:52: trailing whitespace.
+  /** Standard class type alias. */
include/rtkKatsevichDerivativeImageFilter.h:53: trailing whitespace.
+  using Self = KatsevichDerivativeImageFilter;
include/rtkKatsevichDerivativeImageFilter.h:54: trailing whitespace.
+  using Superclass = itk::ImageToImageFilter<TInputImage, TOutputImage>;
include/rtkKatsevichDerivativeImageFilter.h:55: trailing whitespace.
+  using Pointer = itk::SmartPointer<Self>;
include/rtkKatsevichDerivativeImageFilter.h:56: trailing whitespace.
+  using ConstPointer = itk::SmartPointer<const Self>;
include/rtkKatsevichDerivativeImageFilter.h:57: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:58: trailing whitespace.
+  /** Method for creation through the object factory. */
include/rtkKatsevichDerivativeImageFilter.h:59: trailing whitespace.
+  itkNewMacro(Self);
include/rtkKatsevichDerivativeImageFilter.h:60: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:61: trailing whitespace.
+  /** Run-time type information (and related methods). */
include/rtkKatsevichDerivativeImageFilter.h:62: trailing whitespace.
+  itkTypeMacro(KatsevichDerivativeImageFilter, ImageToImageFilter);
include/rtkKatsevichDerivativeImageFilter.h:63: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:64: trailing whitespace.
+  /** Typedef to images */
include/rtkKatsevichDerivativeImageFilter.h:65: trailing whitespace.
+  using OutputImageType = TOutputImage;
include/rtkKatsevichDerivativeImageFilter.h:66: trailing whitespace.
+  using InputImageType = TInputImage;
include/rtkKatsevichDerivativeImageFilter.h:67: trailing whitespace.
+  using OutputImagePointer = typename OutputImageType::Pointer;
include/rtkKatsevichDerivativeImageFilter.h:68: trailing whitespace.
+  using InputImagePointer = typename InputImageType::Pointer;
include/rtkKatsevichDerivativeImageFilter.h:69: trailing whitespace.
+  using InputImageConstPointer = typename InputImageType::ConstPointer;
include/rtkKatsevichDerivativeImageFilter.h:70: trailing whitespace.
+  using OutputImageRegionType = typename TOutputImage::RegionType;
include/rtkKatsevichDerivativeImageFilter.h:71: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:72: trailing whitespace.
+  using ConstShapedNeighborhoodIteratorType = itk::ConstShapedNeighborhoodIterator<InputImageType>;
include/rtkKatsevichDerivativeImageFilter.h:73: trailing whitespace.
+  using IteratorType = itk::ImageRegionIterator<InputImageType>;
include/rtkKatsevichDerivativeImageFilter.h:74: trailing whitespace.
+  using SliceIteratorType = itk::ImageSliceIteratorWithIndex<InputImageType>;
include/rtkKatsevichDerivativeImageFilter.h:75: trailing whitespace.
+  using IndexType = typename InputImageType::IndexType;
include/rtkKatsevichDerivativeImageFilter.h:76: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:77: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:78: trailing whitespace.
+  using OutputPixelType = typename TOutputImage::PixelType;
include/rtkKatsevichDerivativeImageFilter.h:79: trailing whitespace.
+  using OutputInternalPixelType = typename TOutputImage::InternalPixelType;
include/rtkKatsevichDerivativeImageFilter.h:80: trailing whitespace.
+  using InputPixelType = typename TInputImage::PixelType;
include/rtkKatsevichDerivativeImageFilter.h:81: trailing whitespace.
+  using InputInternalPixelType = typename TInputImage::InternalPixelType;
include/rtkKatsevichDerivativeImageFilter.h:82: trailing whitespace.
+  static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension;
include/rtkKatsevichDerivativeImageFilter.h:83: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:84: trailing whitespace.
+  /** Get/ Set geometry structure */
include/rtkKatsevichDerivativeImageFilter.h:85: trailing whitespace.
+  itkGetMacro(Geometry, ::rtk::ThreeDHelicalProjectionGeometry::Pointer);
include/rtkKatsevichDerivativeImageFilter.h:86: trailing whitespace.
+  itkSetObjectMacro(Geometry, ::rtk::ThreeDHelicalProjectionGeometry);
include/rtkKatsevichDerivativeImageFilter.h:87: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:88: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:89: trailing whitespace.
+  void
include/rtkKatsevichDerivativeImageFilter.h:90: trailing whitespace.
+  GenerateOutputInformation() override;
include/rtkKatsevichDerivativeImageFilter.h:91: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:92: trailing whitespace.
+  void
include/rtkKatsevichDerivativeImageFilter.h:93: trailing whitespace.
+  GenerateInputRequestedRegion() override;
include/rtkKatsevichDerivativeImageFilter.h:94: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:95: trailing whitespace.
+protected:
include/rtkKatsevichDerivativeImageFilter.h:96: trailing whitespace.
+  KatsevichDerivativeImageFilter();
include/rtkKatsevichDerivativeImageFilter.h:97: trailing whitespace.
+  ~KatsevichDerivativeImageFilter() override = default;
include/rtkKatsevichDerivativeImageFilter.h:98: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:99: trailing whitespace.
+  /** Checks that inputs are correctly set. */
include/rtkKatsevichDerivativeImageFilter.h:100: trailing whitespace.
+  void
include/rtkKatsevichDerivativeImageFilter.h:101: trailing whitespace.
+  VerifyPreconditions() ITKv5_CONST override;
include/rtkKatsevichDerivativeImageFilter.h:102: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:103: trailing whitespace.
+  void
include/rtkKatsevichDerivativeImageFilter.h:104: trailing whitespace.
+  PrintSelf(std::ostream & os, itk::Indent indent) const override;
include/rtkKatsevichDerivativeImageFilter.h:105: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:106: trailing whitespace.
+  /** Standard pipeline method. While this class does not implement a
include/rtkKatsevichDerivativeImageFilter.h:107: trailing whitespace.
+   * ThreadedGenerateData(), its GenerateData() delegates all
include/rtkKatsevichDerivativeImageFilter.h:108: trailing whitespace.
+   * calculations to an NeighborhoodOperatorImageFilter.  Since the
include/rtkKatsevichDerivativeImageFilter.h:109: trailing whitespace.
+   * NeighborhoodOperatorImageFilter is multithreaded, this filter is
include/rtkKatsevichDerivativeImageFilter.h:110: trailing whitespace.
+   * multithreaded by default. */
include/rtkKatsevichDerivativeImageFilter.h:111: trailing whitespace.
+  void
include/rtkKatsevichDerivativeImageFilter.h:112: trailing whitespace.
+  GenerateData() override;
include/rtkKatsevichDerivativeImageFilter.h:113: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:114: trailing whitespace.
+  // void
include/rtkKatsevichDerivativeImageFilter.h:115: trailing whitespace.
+  // DynamicThreadedGenerateData(const OutputImageRegionType & outputRegionForThread) override;
include/rtkKatsevichDerivativeImageFilter.h:116: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:117: trailing whitespace.
+private:
include/rtkKatsevichDerivativeImageFilter.h:118: trailing whitespace.
+  ThreeDHelicalProjectionGeometry::Pointer m_Geometry;
include/rtkKatsevichDerivativeImageFilter.h:119: trailing whitespace.
+};
include/rtkKatsevichDerivativeImageFilter.h:120: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:121: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:122: trailing whitespace.
+} // end namespace rtk
include/rtkKatsevichDerivativeImageFilter.h:123: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:124: trailing whitespace.
+#ifndef rtk_MANUAL_INSTANTIATION
include/rtkKatsevichDerivativeImageFilter.h:125: trailing whitespace.
+#  include "rtkKatsevichDerivativeImageFilter.hxx"
include/rtkKatsevichDerivativeImageFilter.h:126: trailing whitespace.
+#endif
include/rtkKatsevichDerivativeImageFilter.h:127: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.h:128: trailing whitespace.
+#endif
include/rtkKatsevichDerivativeImageFilter.hxx:1: trailing whitespace.
+/*=========================================================================
include/rtkKatsevichDerivativeImageFilter.hxx:2: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.hxx:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkKatsevichDerivativeImageFilter.hxx:4: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.hxx:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkKatsevichDerivativeImageFilter.hxx:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkKatsevichDerivativeImageFilter.hxx:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkKatsevichDerivativeImageFilter.hxx:8: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.hxx:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkKatsevichDerivativeImageFilter.hxx:10: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.hxx:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkKatsevichDerivativeImageFilter.hxx:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkKatsevichDerivativeImageFilter.hxx:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkKatsevichDerivativeImageFilter.hxx:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkKatsevichDerivativeImageFilter.hxx:15: trailing whitespace.
+ *  limitations under the License.
include/rtkKatsevichDerivativeImageFilter.hxx:16: trailing whitespace.
+ *
include/rtkKatsevichDerivativeImageFilter.hxx:17: trailing whitespace.
+ *=========================================================================*/
include/rtkKatsevichDerivativeImageFilter.hxx:18: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:19: trailing whitespace.
+#ifndef rtkKatsevichDerivativeImageFilter_hxx
include/rtkKatsevichDerivativeImageFilter.hxx:20: trailing whitespace.
+#define rtkKatsevichDerivativeImageFilter_hxx
include/rtkKatsevichDerivativeImageFilter.hxx:21: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:22: trailing whitespace.
+#include "rtkKatsevichDerivativeImageFilter.h"
include/rtkKatsevichDerivativeImageFilter.hxx:23: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:24: trailing whitespace.
+#include "itkNeighborhoodOperatorImageFilter.h"
include/rtkKatsevichDerivativeImageFilter.hxx:25: trailing whitespace.
+#include "itkAddImageFilter.h"
include/rtkKatsevichDerivativeImageFilter.hxx:26: trailing whitespace.
+#include "itkProgressAccumulator.h"
include/rtkKatsevichDerivativeImageFilter.hxx:27: trailing whitespace.
+#include "itkObjectFactory.h"
include/rtkKatsevichDerivativeImageFilter.hxx:28: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:29: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:30: trailing whitespace.
+namespace rtk
include/rtkKatsevichDerivativeImageFilter.hxx:31: trailing whitespace.
+{
include/rtkKatsevichDerivativeImageFilter.hxx:32: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:33: trailing whitespace.
+/**
include/rtkKatsevichDerivativeImageFilter.hxx:34: trailing whitespace.
+ *   Constructor
include/rtkKatsevichDerivativeImageFilter.hxx:35: trailing whitespace.
+ */
include/rtkKatsevichDerivativeImageFilter.hxx:36: trailing whitespace.
+template <typename TInputImage, typename TOutputImage>
include/rtkKatsevichDerivativeImageFilter.hxx:37: trailing whitespace.
+KatsevichDerivativeImageFilter<TInputImage, TOutputImage>::KatsevichDerivativeImageFilter()
include/rtkKatsevichDerivativeImageFilter.hxx:38: trailing whitespace.
+{
include/rtkKatsevichDerivativeImageFilter.hxx:39: trailing whitespace.
+  this->SetNumberOfRequiredInputs(1);
include/rtkKatsevichDerivativeImageFilter.hxx:40: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:41: trailing whitespace.
+  // m_Geometry = nullptr;
include/rtkKatsevichDerivativeImageFilter.hxx:42: trailing whitespace.
+  // this->DynamicMultiThreadingOn();
include/rtkKatsevichDerivativeImageFilter.hxx:43: trailing whitespace.
+}
include/rtkKatsevichDerivativeImageFilter.hxx:44: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:45: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichDerivativeImageFilter.hxx:46: trailing whitespace.
+void
include/rtkKatsevichDerivativeImageFilter.hxx:47: trailing whitespace.
+KatsevichDerivativeImageFilter<TInputImage, TOutputImage>::VerifyPreconditions() ITKv5_CONST
include/rtkKatsevichDerivativeImageFilter.hxx:48: trailing whitespace.
+{
include/rtkKatsevichDerivativeImageFilter.hxx:49: trailing whitespace.
+  this->Superclass::VerifyPreconditions();
include/rtkKatsevichDerivativeImageFilter.hxx:50: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:51: trailing whitespace.
+  if (this->m_Geometry.IsNull() || !this->m_Geometry->GetTheGeometryIsVerified())
include/rtkKatsevichDerivativeImageFilter.hxx:52: trailing whitespace.
+    itkExceptionMacro(<< "Geometry has not been set or not been checked");
include/rtkKatsevichDerivativeImageFilter.hxx:53: trailing whitespace.
+}
include/rtkKatsevichDerivativeImageFilter.hxx:54: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:55: trailing whitespace.
+template <typename TInputImage, typename TOutputImage>
include/rtkKatsevichDerivativeImageFilter.hxx:56: trailing whitespace.
+void
include/rtkKatsevichDerivativeImageFilter.hxx:57: trailing whitespace.
+KatsevichDerivativeImageFilter<TInputImage, TOutputImage>::GenerateOutputInformation()
include/rtkKatsevichDerivativeImageFilter.hxx:58: trailing whitespace.
+{
include/rtkKatsevichDerivativeImageFilter.hxx:59: trailing whitespace.
+  // Mettre a jour la taille de l'image de sortie. Ainsi que l'origine.
include/rtkKatsevichDerivativeImageFilter.hxx:60: trailing whitespace.
+  // Sur le modele de itk::ShrinkImageFilter
include/rtkKatsevichDerivativeImageFilter.hxx:61: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:62: trailing whitespace.
+  // Call the superclass' implementation of this method
include/rtkKatsevichDerivativeImageFilter.hxx:63: trailing whitespace.
+  Superclass::GenerateOutputInformation();
include/rtkKatsevichDerivativeImageFilter.hxx:64: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:65: trailing whitespace.
+  // Get pointers to the input and output
include/rtkKatsevichDerivativeImageFilter.hxx:66: trailing whitespace.
+  const InputImageType * inputPtr = this->GetInput();
include/rtkKatsevichDerivativeImageFilter.hxx:67: trailing whitespace.
+  OutputImageType *      outputPtr = this->GetOutput();
include/rtkKatsevichDerivativeImageFilter.hxx:68: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:69: trailing whitespace.
+  itkAssertInDebugAndIgnoreInReleaseMacro(inputPtr);
include/rtkKatsevichDerivativeImageFilter.hxx:70: trailing whitespace.
+  itkAssertInDebugAndIgnoreInReleaseMacro(outputPtr != nullptr);
include/rtkKatsevichDerivativeImageFilter.hxx:71: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:72: trailing whitespace.
+  const typename TInputImage::SpacingType & inputSpacing = inputPtr->GetSpacing();
include/rtkKatsevichDerivativeImageFilter.hxx:73: trailing whitespace.
+  const typename TInputImage::PointType &   inputOrigin = inputPtr->GetOrigin();
include/rtkKatsevichDerivativeImageFilter.hxx:74: trailing whitespace.
+  const typename TInputImage::SizeType &    inputSize = inputPtr->GetLargestPossibleRegion().GetSize();
include/rtkKatsevichDerivativeImageFilter.hxx:75: trailing whitespace.
+  const typename TInputImage::IndexType &   inputStartIndex = inputPtr->GetLargestPossibleRegion().GetIndex();
include/rtkKatsevichDerivativeImageFilter.hxx:76: trailing whitespace.
+  typename TOutputImage::IndexType          outputStartIndex;
include/rtkKatsevichDerivativeImageFilter.hxx:77: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:78: trailing whitespace.
+  typename TOutputImage::SpacingType outputSpacing(inputSpacing);
include/rtkKatsevichDerivativeImageFilter.hxx:79: trailing whitespace.
+  typename TOutputImage::SizeType    outputSize(inputSize);
include/rtkKatsevichDerivativeImageFilter.hxx:80: trailing whitespace.
+  typename TOutputImage::PointType   outputOrigin(inputOrigin);
include/rtkKatsevichDerivativeImageFilter.hxx:81: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:82: trailing whitespace.
+  for (int i = 0; i < 3; i++)
include/rtkKatsevichDerivativeImageFilter.hxx:83: trailing whitespace.
+  {
include/rtkKatsevichDerivativeImageFilter.hxx:84: trailing whitespace.
+    outputOrigin[i] += 0.5 * inputSpacing[i];
include/rtkKatsevichDerivativeImageFilter.hxx:85: trailing whitespace.
+    // If cylindrical detector, sampling in v is unchanged. In case of a flat panel
include/rtkKatsevichDerivativeImageFilter.hxx:86: trailing whitespace.
+    // derivative is also computed at interlaced positions in v.
include/rtkKatsevichDerivativeImageFilter.hxx:87: trailing whitespace.
+    if (!(this->m_Geometry->GetRadiusCylindricalDetector() != 0. && i == 1))
include/rtkKatsevichDerivativeImageFilter.hxx:88: trailing whitespace.
+    {
include/rtkKatsevichDerivativeImageFilter.hxx:89: trailing whitespace.
+      outputSize[i] -= 1;
include/rtkKatsevichDerivativeImageFilter.hxx:90: trailing whitespace.
+    }
include/rtkKatsevichDerivativeImageFilter.hxx:91: trailing whitespace.
+    if (outputSize[i] < 1)
include/rtkKatsevichDerivativeImageFilter.hxx:92: trailing whitespace.
+    {
include/rtkKatsevichDerivativeImageFilter.hxx:93: trailing whitespace.
+      itkExceptionMacro(<< "Output size is 0 on dimension " << i);
include/rtkKatsevichDerivativeImageFilter.hxx:94: trailing whitespace.
+    }
include/rtkKatsevichDerivativeImageFilter.hxx:95: trailing whitespace.
+  }
include/rtkKatsevichDerivativeImageFilter.hxx:96: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:97: trailing whitespace.
+  typename TOutputImage::RegionType outputLargestPossibleRegion;
include/rtkKatsevichDerivativeImageFilter.hxx:98: trailing whitespace.
+  outputLargestPossibleRegion.SetIndex(inputStartIndex);
include/rtkKatsevichDerivativeImageFilter.hxx:99: trailing whitespace.
+  outputLargestPossibleRegion.SetSize(outputSize);
include/rtkKatsevichDerivativeImageFilter.hxx:100: trailing whitespace.
+  outputPtr->SetLargestPossibleRegion(outputLargestPossibleRegion);
include/rtkKatsevichDerivativeImageFilter.hxx:101: trailing whitespace.
+  outputPtr->SetOrigin(outputOrigin);
include/rtkKatsevichDerivativeImageFilter.hxx:102: trailing whitespace.
+  outputPtr->SetSpacing(outputSpacing);
include/rtkKatsevichDerivativeImageFilter.hxx:103: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:104: trailing whitespace.
+  // std::cout << "(DerivativeInterlaced) InputSize : " << this->GetInput()->GetLargestPossibleRegion().GetSize();
include/rtkKatsevichDerivativeImageFilter.hxx:105: trailing whitespace.
+  // std::cout << "OutputSize : " << this->GetOutput()->GetLargestPossibleRegion().GetSize() << std::endl;
include/rtkKatsevichDerivativeImageFilter.hxx:106: trailing whitespace.
+}
include/rtkKatsevichDerivativeImageFilter.hxx:107: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:108: trailing whitespace.
+template <typename TInputImage, typename TOutputImage>
include/rtkKatsevichDerivativeImageFilter.hxx:109: trailing whitespace.
+void
include/rtkKatsevichDerivativeImageFilter.hxx:110: trailing whitespace.
+KatsevichDerivativeImageFilter<TInputImage, TOutputImage>::GenerateInputRequestedRegion()
include/rtkKatsevichDerivativeImageFilter.hxx:111: trailing whitespace.
+{
include/rtkKatsevichDerivativeImageFilter.hxx:112: trailing whitespace.
+  // call the superclass' implementation of this method. this should
include/rtkKatsevichDerivativeImageFilter.hxx:113: trailing whitespace.
+  // copy the output requested region to the input requested region
include/rtkKatsevichDerivativeImageFilter.hxx:114: trailing whitespace.
+  Superclass::GenerateInputRequestedRegion();
include/rtkKatsevichDerivativeImageFilter.hxx:115: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:116: trailing whitespace.
+  //// get pointers to the input and output
include/rtkKatsevichDerivativeImageFilter.hxx:117: trailing whitespace.
+  // typename Superclass::InputImagePointer inputPtr = const_cast<InputImageType *>(this->GetInput());
include/rtkKatsevichDerivativeImageFilter.hxx:118: trailing whitespace.
+  //
include/rtkKatsevichDerivativeImageFilter.hxx:119: trailing whitespace.
+  // if (!inputPtr)
include/rtkKatsevichDerivativeImageFilter.hxx:120: trailing whitespace.
+  //{
include/rtkKatsevichDerivativeImageFilter.hxx:121: trailing whitespace.
+  //  return;
include/rtkKatsevichDerivativeImageFilter.hxx:122: trailing whitespace.
+  //}
include/rtkKatsevichDerivativeImageFilter.hxx:123: trailing whitespace.
+  //// Build an operator so that we can determine the kernel size
include/rtkKatsevichDerivativeImageFilter.hxx:124: trailing whitespace.
+  //
include/rtkKatsevichDerivativeImageFilter.hxx:125: trailing whitespace.
+  // rtk::DerivativeOperator<OutputPixelType, ImageDimension> oper;
include/rtkKatsevichDerivativeImageFilter.hxx:126: trailing whitespace.
+  // oper.SetDirection(m_Direction);
include/rtkKatsevichDerivativeImageFilter.hxx:127: trailing whitespace.
+  // oper.SetOrder(m_Order);
include/rtkKatsevichDerivativeImageFilter.hxx:128: trailing whitespace.
+  // oper.CreateDirectional();
include/rtkKatsevichDerivativeImageFilter.hxx:129: trailing whitespace.
+  //
include/rtkKatsevichDerivativeImageFilter.hxx:130: trailing whitespace.
+  //// get a copy of the input requested region (should equal the output
include/rtkKatsevichDerivativeImageFilter.hxx:131: trailing whitespace.
+  //// requested region)
include/rtkKatsevichDerivativeImageFilter.hxx:132: trailing whitespace.
+  // typename TInputImage::RegionType inputRequestedRegion;
include/rtkKatsevichDerivativeImageFilter.hxx:133: trailing whitespace.
+  // inputRequestedRegion = inputPtr->GetRequestedRegion();
include/rtkKatsevichDerivativeImageFilter.hxx:134: trailing whitespace.
+  //
include/rtkKatsevichDerivativeImageFilter.hxx:135: trailing whitespace.
+  //// pad the input requested region by the operator radius
include/rtkKatsevichDerivativeImageFilter.hxx:136: trailing whitespace.
+  // inputRequestedRegion.PadByRadius(oper.GetRadius());
include/rtkKatsevichDerivativeImageFilter.hxx:137: trailing whitespace.
+  //
include/rtkKatsevichDerivativeImageFilter.hxx:138: trailing whitespace.
+  ////std::cout << "(Deriv) Largest : " << inputPtr->GetLargestPossibleRegion().GetSize() << " "
include/rtkKatsevichDerivativeImageFilter.hxx:139: trailing whitespace.
+  ///<<inputPtr->GetLargestPossibleRegion().GetIndex() << std::endl; /std::cout << "(Deriv) Req'ted : " <<
include/rtkKatsevichDerivativeImageFilter.hxx:140: trailing whitespace.
+  /// inputRequestedRegion.GetSize() << " " << inputRequestedRegion.GetIndex() << std::endl;
include/rtkKatsevichDerivativeImageFilter.hxx:141: trailing whitespace.
+  //
include/rtkKatsevichDerivativeImageFilter.hxx:142: trailing whitespace.
+  //
include/rtkKatsevichDerivativeImageFilter.hxx:143: trailing whitespace.
+  //// crop the input requested region at the input's largest possible region
include/rtkKatsevichDerivativeImageFilter.hxx:144: trailing whitespace.
+  // if (inputRequestedRegion.Crop(inputPtr->GetLargestPossibleRegion()))
include/rtkKatsevichDerivativeImageFilter.hxx:145: trailing whitespace.
+  //{
include/rtkKatsevichDerivativeImageFilter.hxx:146: trailing whitespace.
+  // inputPtr->SetRequestedRegion(inputRequestedRegion);
include/rtkKatsevichDerivativeImageFilter.hxx:147: trailing whitespace.
+  //  return;
include/rtkKatsevichDerivativeImageFilter.hxx:148: trailing whitespace.
+  //}
include/rtkKatsevichDerivativeImageFilter.hxx:149: trailing whitespace.
+  // else
include/rtkKatsevichDerivativeImageFilter.hxx:150: trailing whitespace.
+  //{
include/rtkKatsevichDerivativeImageFilter.hxx:151: trailing whitespace.
+  //  // Couldn't crop the region (requested region is outside the largest
include/rtkKatsevichDerivativeImageFilter.hxx:152: trailing whitespace.
+  //  // possible region).  Throw an exception.
include/rtkKatsevichDerivativeImageFilter.hxx:153: trailing whitespace.
+  //
include/rtkKatsevichDerivativeImageFilter.hxx:154: trailing whitespace.
+  //  // store what we tried to request (prior to trying to crop)
include/rtkKatsevichDerivativeImageFilter.hxx:155: trailing whitespace.
+  //  inputPtr->SetRequestedRegion(inputRequestedRegion);
include/rtkKatsevichDerivativeImageFilter.hxx:156: trailing whitespace.
+  //
include/rtkKatsevichDerivativeImageFilter.hxx:157: trailing whitespace.
+  //  // build an exception
include/rtkKatsevichDerivativeImageFilter.hxx:158: trailing whitespace.
+  //  InvalidRequestedRegionError e(__FILE__, __LINE__);
include/rtkKatsevichDerivativeImageFilter.hxx:159: trailing whitespace.
+  //  e.SetLocation(ITK_LOCATION);
include/rtkKatsevichDerivativeImageFilter.hxx:160: trailing whitespace.
+  //  e.SetDescription("Requested region is (at least partially) outside the largest possible region.");
include/rtkKatsevichDerivativeImageFilter.hxx:161: trailing whitespace.
+  //  e.SetDataObject(inputPtr);
include/rtkKatsevichDerivativeImageFilter.hxx:162: trailing whitespace.
+  //  throw e;
include/rtkKatsevichDerivativeImageFilter.hxx:163: trailing whitespace.
+  //}
include/rtkKatsevichDerivativeImageFilter.hxx:164: trailing whitespace.
+  ////std::cout << "KatsevichDerivativeInterlaced::GenerateInputRequestedRegion : OK" << std::endl;
include/rtkKatsevichDerivativeImageFilter.hxx:165: trailing whitespace.
+}
include/rtkKatsevichDerivativeImageFilter.hxx:166: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:167: trailing whitespace.
+template <typename TInputImage, typename TOutputImage>
include/rtkKatsevichDerivativeImageFilter.hxx:168: trailing whitespace.
+void
include/rtkKatsevichDerivativeImageFilter.hxx:169: trailing whitespace.
+KatsevichDerivativeImageFilter<TInputImage, TOutputImage>::GenerateData()
include/rtkKatsevichDerivativeImageFilter.hxx:170: trailing whitespace.
+{
include/rtkKatsevichDerivativeImageFilter.hxx:171: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:172: trailing whitespace.
+  // Get pointers to the input and output
include/rtkKatsevichDerivativeImageFilter.hxx:173: trailing whitespace.
+  const InputImageType * inputPtr = this->GetInput();
include/rtkKatsevichDerivativeImageFilter.hxx:174: trailing whitespace.
+  OutputImageType *      outputPtr = this->GetOutput();
include/rtkKatsevichDerivativeImageFilter.hxx:175: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:176: trailing whitespace.
+  if (this->m_Geometry->GetRadiusCylindricalDetector() != 0) // Curved detector
include/rtkKatsevichDerivativeImageFilter.hxx:177: trailing whitespace.
+  {
include/rtkKatsevichDerivativeImageFilter.hxx:178: trailing whitespace.
+    // ShapedIterator on InputImage
include/rtkKatsevichDerivativeImageFilter.hxx:179: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset1 = { { 1, 0, 1 } };
include/rtkKatsevichDerivativeImageFilter.hxx:180: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset2 = { { 1, 0, 0 } };
include/rtkKatsevichDerivativeImageFilter.hxx:181: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset3 = { { 0, 0, 1 } };
include/rtkKatsevichDerivativeImageFilter.hxx:182: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset4 = { { 0, 0, 0 } };
include/rtkKatsevichDerivativeImageFilter.hxx:183: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:184: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::RadiusType radius;
include/rtkKatsevichDerivativeImageFilter.hxx:185: trailing whitespace.
+    radius.Fill(1);
include/rtkKatsevichDerivativeImageFilter.hxx:186: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:187: trailing whitespace.
+    ConstShapedNeighborhoodIteratorType it(radius, inputPtr, inputPtr->GetRequestedRegion());
include/rtkKatsevichDerivativeImageFilter.hxx:188: trailing whitespace.
+    it.ActivateOffset(offset1);
include/rtkKatsevichDerivativeImageFilter.hxx:189: trailing whitespace.
+    it.ActivateOffset(offset2);
include/rtkKatsevichDerivativeImageFilter.hxx:190: trailing whitespace.
+    it.ActivateOffset(offset3);
include/rtkKatsevichDerivativeImageFilter.hxx:191: trailing whitespace.
+    it.ActivateOffset(offset4);
include/rtkKatsevichDerivativeImageFilter.hxx:192: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:193: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:194: trailing whitespace.
+    std::cout << outputPtr->GetBufferedRegion() << std::endl;
include/rtkKatsevichDerivativeImageFilter.hxx:195: trailing whitespace.
+    outputPtr->SetRegions(outputPtr->GetLargestPossibleRegion());
include/rtkKatsevichDerivativeImageFilter.hxx:196: trailing whitespace.
+    outputPtr->Allocate();
include/rtkKatsevichDerivativeImageFilter.hxx:197: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:198: trailing whitespace.
+    IteratorType outit(outputPtr, outputPtr->GetRequestedRegion());
include/rtkKatsevichDerivativeImageFilter.hxx:199: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:200: trailing whitespace.
+    std::cout << "Toto" << std::endl;
include/rtkKatsevichDerivativeImageFilter.hxx:201: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:202: trailing whitespace.
+    typename InputImageType::SpacingType spacing = inputPtr->GetSpacing();
include/rtkKatsevichDerivativeImageFilter.hxx:203: trailing whitespace.
+    typename InputImageType::PointType   origin = inputPtr->GetOrigin();
include/rtkKatsevichDerivativeImageFilter.hxx:204: trailing whitespace.
+    typename InputImageType::PixelType   angular_step = this->m_Geometry->GetHelixAngularGap();
include/rtkKatsevichDerivativeImageFilter.hxx:205: trailing whitespace.
+    float                                D = this->m_Geometry->GetHelixSourceToDetectorDist();
include/rtkKatsevichDerivativeImageFilter.hxx:206: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:207: trailing whitespace.
+    for (it.GoToBegin(), outit.GoToBegin(); !it.IsAtEnd(); ++it, ++outit)
include/rtkKatsevichDerivativeImageFilter.hxx:208: trailing whitespace.
+    {
include/rtkKatsevichDerivativeImageFilter.hxx:209: trailing whitespace.
+      OutputPixelType t1 = 0.5 * (1 / spacing[0] + 1 / angular_step) * it.GetPixel(offset1);
include/rtkKatsevichDerivativeImageFilter.hxx:210: trailing whitespace.
+      OutputPixelType t2 = 0.5 * (1 / spacing[0] - 1 / angular_step) * it.GetPixel(offset2);
include/rtkKatsevichDerivativeImageFilter.hxx:211: trailing whitespace.
+      OutputPixelType t3 = 0.5 * (-1 / spacing[0] + 1 / angular_step) * it.GetPixel(offset3);
include/rtkKatsevichDerivativeImageFilter.hxx:212: trailing whitespace.
+      OutputPixelType t4 = 0.5 * (-1 / spacing[0] - 1 / angular_step) * it.GetPixel(offset4);
include/rtkKatsevichDerivativeImageFilter.hxx:213: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:214: trailing whitespace.
+      // Length-correction weighting
include/rtkKatsevichDerivativeImageFilter.hxx:215: trailing whitespace.
+      typename InputImageType::IndexType index = it.GetIndex();
include/rtkKatsevichDerivativeImageFilter.hxx:216: trailing whitespace.
+      OutputPixelType                    v = origin[1] + spacing[1] * (index[1] + 0.5);
include/rtkKatsevichDerivativeImageFilter.hxx:217: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:218: trailing whitespace.
+      OutputPixelType length_correction = D / (sqrt(pow(D, 2) + pow(v, 2)));
include/rtkKatsevichDerivativeImageFilter.hxx:219: trailing whitespace.
+      outit.Set(length_correction * (t1 + t2 + t3 + t4));
include/rtkKatsevichDerivativeImageFilter.hxx:220: trailing whitespace.
+      // outit.Set((it.GetPixel(offset3) - it.GetPixel(offset4))*0.5);
include/rtkKatsevichDerivativeImageFilter.hxx:221: trailing whitespace.
+    }
include/rtkKatsevichDerivativeImageFilter.hxx:222: trailing whitespace.
+  }
include/rtkKatsevichDerivativeImageFilter.hxx:223: trailing whitespace.
+  else // Flat panel detector
include/rtkKatsevichDerivativeImageFilter.hxx:224: trailing whitespace.
+  {
include/rtkKatsevichDerivativeImageFilter.hxx:225: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:226: trailing whitespace.
+    // ShapedIterator on InputImage
include/rtkKatsevichDerivativeImageFilter.hxx:227: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset000 = { { 0, 0, 0 } };
include/rtkKatsevichDerivativeImageFilter.hxx:228: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset100 = { { 1, 0, 0 } };
include/rtkKatsevichDerivativeImageFilter.hxx:229: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset010 = { { 0, 1, 0 } };
include/rtkKatsevichDerivativeImageFilter.hxx:230: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset001 = { { 0, 0, 1 } };
include/rtkKatsevichDerivativeImageFilter.hxx:231: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset110 = { { 1, 1, 0 } };
include/rtkKatsevichDerivativeImageFilter.hxx:232: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset101 = { { 1, 0, 1 } };
include/rtkKatsevichDerivativeImageFilter.hxx:233: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset011 = { { 0, 1, 1 } };
include/rtkKatsevichDerivativeImageFilter.hxx:234: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::OffsetType offset111 = { { 1, 1, 1 } };
include/rtkKatsevichDerivativeImageFilter.hxx:235: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:236: trailing whitespace.
+    typename ConstShapedNeighborhoodIteratorType::RadiusType radius;
include/rtkKatsevichDerivativeImageFilter.hxx:237: trailing whitespace.
+    radius.Fill(1);
include/rtkKatsevichDerivativeImageFilter.hxx:238: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:239: trailing whitespace.
+    ConstShapedNeighborhoodIteratorType it(radius, inputPtr, inputPtr->GetRequestedRegion());
include/rtkKatsevichDerivativeImageFilter.hxx:240: trailing whitespace.
+    it.ActivateOffset(offset000);
include/rtkKatsevichDerivativeImageFilter.hxx:241: trailing whitespace.
+    it.ActivateOffset(offset100);
include/rtkKatsevichDerivativeImageFilter.hxx:242: trailing whitespace.
+    it.ActivateOffset(offset010);
include/rtkKatsevichDerivativeImageFilter.hxx:243: trailing whitespace.
+    it.ActivateOffset(offset001);
include/rtkKatsevichDerivativeImageFilter.hxx:244: trailing whitespace.
+    it.ActivateOffset(offset110);
include/rtkKatsevichDerivativeImageFilter.hxx:245: trailing whitespace.
+    it.ActivateOffset(offset101);
include/rtkKatsevichDerivativeImageFilter.hxx:246: trailing whitespace.
+    it.ActivateOffset(offset011);
include/rtkKatsevichDerivativeImageFilter.hxx:247: trailing whitespace.
+    it.ActivateOffset(offset111);
include/rtkKatsevichDerivativeImageFilter.hxx:248: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:249: trailing whitespace.
+    outputPtr->SetRegions(outputPtr->GetLargestPossibleRegion());
include/rtkKatsevichDerivativeImageFilter.hxx:250: trailing whitespace.
+    outputPtr->Allocate();
include/rtkKatsevichDerivativeImageFilter.hxx:251: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:252: trailing whitespace.
+    IteratorType outit(outputPtr, outputPtr->GetRequestedRegion());
include/rtkKatsevichDerivativeImageFilter.hxx:253: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:254: trailing whitespace.
+    typename InputImageType::SpacingType spacing = inputPtr->GetSpacing();
include/rtkKatsevichDerivativeImageFilter.hxx:255: trailing whitespace.
+    typename InputImageType::PointType   origin = inputPtr->GetOrigin();
include/rtkKatsevichDerivativeImageFilter.hxx:256: trailing whitespace.
+    typename InputImageType::PixelType   angular_step = this->m_Geometry->GetHelixAngularGap();
include/rtkKatsevichDerivativeImageFilter.hxx:257: trailing whitespace.
+    float                                D = this->m_Geometry->GetHelixSourceToDetectorDist();
include/rtkKatsevichDerivativeImageFilter.hxx:258: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:259: trailing whitespace.
+    for (it.GoToBegin(), outit.GoToBegin(); !it.IsAtEnd(); ++it, ++outit)
include/rtkKatsevichDerivativeImageFilter.hxx:260: trailing whitespace.
+    {
include/rtkKatsevichDerivativeImageFilter.hxx:261: trailing whitespace.
+      OutputPixelType p000 = it.GetPixel(offset000);
include/rtkKatsevichDerivativeImageFilter.hxx:262: trailing whitespace.
+      OutputPixelType p100 = it.GetPixel(offset100);
include/rtkKatsevichDerivativeImageFilter.hxx:263: trailing whitespace.
+      OutputPixelType p010 = it.GetPixel(offset010);
include/rtkKatsevichDerivativeImageFilter.hxx:264: trailing whitespace.
+      OutputPixelType p001 = it.GetPixel(offset001);
include/rtkKatsevichDerivativeImageFilter.hxx:265: trailing whitespace.
+      OutputPixelType p110 = it.GetPixel(offset110);
include/rtkKatsevichDerivativeImageFilter.hxx:266: trailing whitespace.
+      OutputPixelType p101 = it.GetPixel(offset101);
include/rtkKatsevichDerivativeImageFilter.hxx:267: trailing whitespace.
+      OutputPixelType p011 = it.GetPixel(offset011);
include/rtkKatsevichDerivativeImageFilter.hxx:268: trailing whitespace.
+      OutputPixelType p111 = it.GetPixel(offset111);
include/rtkKatsevichDerivativeImageFilter.hxx:269: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:270: trailing whitespace.
+      typename InputImageType::IndexType index = it.GetIndex();
include/rtkKatsevichDerivativeImageFilter.hxx:271: trailing whitespace.
+      OutputPixelType u = origin[0] + spacing[0] * (index[0] + 0.5); // Add half-pixel for interlaced positions.
include/rtkKatsevichDerivativeImageFilter.hxx:272: trailing whitespace.
+      OutputPixelType v = origin[1] + spacing[1] * (index[1] + 0.5); //
include/rtkKatsevichDerivativeImageFilter.hxx:273: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:274: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:275: trailing whitespace.
+      OutputPixelType dl = 0.25 * (1 / angular_step) * (p001 - p000 + p011 - p010 + p101 - p100 + p111 - p110);
include/rtkKatsevichDerivativeImageFilter.hxx:276: trailing whitespace.
+      OutputPixelType dutmp = 0.25 * spacing[0] * (p100 - p000 + p110 - p010 + p101 - p001 + p111 - p011);
include/rtkKatsevichDerivativeImageFilter.hxx:277: trailing whitespace.
+      OutputPixelType dvtmp = 0.25 * spacing[0] * (p010 - p000 + p110 - p100 + p011 - p001 + p111 - p101);
include/rtkKatsevichDerivativeImageFilter.hxx:278: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:279: trailing whitespace.
+      OutputPixelType length_correction = D / (sqrt(pow(D, 2) + pow(u, 2) + pow(v, 2)));
include/rtkKatsevichDerivativeImageFilter.hxx:280: trailing whitespace.
+      outit.Set(length_correction * (dl + (pow(u, 2) + pow(D, 2)) / D * dutmp + u * v / D * dvtmp));
include/rtkKatsevichDerivativeImageFilter.hxx:281: trailing whitespace.
+    }
include/rtkKatsevichDerivativeImageFilter.hxx:282: trailing whitespace.
+  }
include/rtkKatsevichDerivativeImageFilter.hxx:283: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:284: trailing whitespace.
+  this->GraftOutput(outputPtr);
include/rtkKatsevichDerivativeImageFilter.hxx:285: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:286: trailing whitespace.
+  // Update geometry to shift gantry angle by half angular step
include/rtkKatsevichDerivativeImageFilter.hxx:287: trailing whitespace.
+  rtk::ThreeDHelicalProjectionGeometry::Pointer new_geometry = rtk::ThreeDHelicalProjectionGeometry::New();
include/rtkKatsevichDerivativeImageFilter.hxx:288: trailing whitespace.
+  const std::vector<double>                     angles = this->GetGeometry()->GetHelicalAngles();
include/rtkKatsevichDerivativeImageFilter.hxx:289: trailing whitespace.
+  const double                                  angular_gap = this->GetGeometry()->GetHelixAngularGap();
include/rtkKatsevichDerivativeImageFilter.hxx:290: trailing whitespace.
+  const double                                  sid = this->GetGeometry()->GetHelixRadius();
include/rtkKatsevichDerivativeImageFilter.hxx:291: trailing whitespace.
+  const double                                  sdd = this->GetGeometry()->GetHelixSourceToDetectorDist();
include/rtkKatsevichDerivativeImageFilter.hxx:292: trailing whitespace.
+  const std::vector<double>                     dy = this->GetGeometry()->GetSourceOffsetsY();
include/rtkKatsevichDerivativeImageFilter.hxx:293: trailing whitespace.
+  const double                                  vertical_gap = this->GetGeometry()->GetHelixVerticalGap();
include/rtkKatsevichDerivativeImageFilter.hxx:294: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:295: trailing whitespace.
+  double new_angle(0);
include/rtkKatsevichDerivativeImageFilter.hxx:296: trailing whitespace.
+  double new_dy(0);
include/rtkKatsevichDerivativeImageFilter.hxx:297: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:298: trailing whitespace.
+  for (int i = 0; i < angles.size(); i++)
include/rtkKatsevichDerivativeImageFilter.hxx:299: trailing whitespace.
+  {
include/rtkKatsevichDerivativeImageFilter.hxx:300: trailing whitespace.
+    new_angle = angles[i] + angular_gap * 0.5;
include/rtkKatsevichDerivativeImageFilter.hxx:301: trailing whitespace.
+    new_dy = dy[i] + vertical_gap * 0.5;
include/rtkKatsevichDerivativeImageFilter.hxx:302: trailing whitespace.
+    new_geometry->AddProjectionInRadians(sid, sdd, new_angle, 0, new_dy, 0, 0, 0, new_dy);
include/rtkKatsevichDerivativeImageFilter.hxx:303: trailing whitespace.
+  }
include/rtkKatsevichDerivativeImageFilter.hxx:304: trailing whitespace.
+  new_geometry->VerifyHelixParameters();
include/rtkKatsevichDerivativeImageFilter.hxx:305: trailing whitespace.
+  this->SetGeometry(new_geometry);
include/rtkKatsevichDerivativeImageFilter.hxx:306: trailing whitespace.
+}
include/rtkKatsevichDerivativeImageFilter.hxx:307: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:308: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:309: trailing whitespace.
+template <typename TInputImage, typename TOutputImage>
include/rtkKatsevichDerivativeImageFilter.hxx:310: trailing whitespace.
+void
include/rtkKatsevichDerivativeImageFilter.hxx:311: trailing whitespace.
+KatsevichDerivativeImageFilter<TInputImage, TOutputImage>::PrintSelf(std::ostream & os, itk::Indent indent) const
include/rtkKatsevichDerivativeImageFilter.hxx:312: trailing whitespace.
+{
include/rtkKatsevichDerivativeImageFilter.hxx:313: trailing whitespace.
+  Superclass::PrintSelf(os, indent);
include/rtkKatsevichDerivativeImageFilter.hxx:314: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:315: trailing whitespace.
+  // os << indent << "Direction: " << m_Direction << std::endl;
include/rtkKatsevichDerivativeImageFilter.hxx:316: trailing whitespace.
+}
include/rtkKatsevichDerivativeImageFilter.hxx:317: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:318: trailing whitespace.
+} // end namespace rtk
include/rtkKatsevichDerivativeImageFilter.hxx:319: trailing whitespace.
+
include/rtkKatsevichDerivativeImageFilter.hxx:320: trailing whitespace.
+#endif
include/rtkKatsevichForwardBinningImageFilter.h:1: trailing whitespace.
+/*=========================================================================
include/rtkKatsevichForwardBinningImageFilter.h:2: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.h:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkKatsevichForwardBinningImageFilter.h:4: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.h:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkKatsevichForwardBinningImageFilter.h:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkKatsevichForwardBinningImageFilter.h:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkKatsevichForwardBinningImageFilter.h:8: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.h:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkKatsevichForwardBinningImageFilter.h:10: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.h:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkKatsevichForwardBinningImageFilter.h:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkKatsevichForwardBinningImageFilter.h:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkKatsevichForwardBinningImageFilter.h:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkKatsevichForwardBinningImageFilter.h:15: trailing whitespace.
+ *  limitations under the License.
include/rtkKatsevichForwardBinningImageFilter.h:16: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.h:17: trailing whitespace.
+ *=========================================================================*/
include/rtkKatsevichForwardBinningImageFilter.h:18: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:19: trailing whitespace.
+#ifndef rtkKatsevichForwardBinningImageFilter_h
include/rtkKatsevichForwardBinningImageFilter.h:20: trailing whitespace.
+#define rtkKatsevichForwardBinningImageFilter_h
include/rtkKatsevichForwardBinningImageFilter.h:21: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:22: trailing whitespace.
+#include <rtkConfiguration.h>
include/rtkKatsevichForwardBinningImageFilter.h:23: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:24: trailing whitespace.
+#include <itkInPlaceImageFilter.h>
include/rtkKatsevichForwardBinningImageFilter.h:25: trailing whitespace.
+#include <itkConceptChecking.h>
include/rtkKatsevichForwardBinningImageFilter.h:26: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:27: trailing whitespace.
+#include <rtkThreeDHelicalProjectionGeometry.h>
include/rtkKatsevichForwardBinningImageFilter.h:28: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:29: trailing whitespace.
+#include <type_traits>
include/rtkKatsevichForwardBinningImageFilter.h:30: trailing whitespace.
+#include <typeinfo>
include/rtkKatsevichForwardBinningImageFilter.h:31: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:32: trailing whitespace.
+namespace rtk
include/rtkKatsevichForwardBinningImageFilter.h:33: trailing whitespace.
+{
include/rtkKatsevichForwardBinningImageFilter.h:34: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:35: trailing whitespace.
+/** \class rtkKatsevichForwardBinningImageFilter
include/rtkKatsevichForwardBinningImageFilter.h:36: trailing whitespace.
+ * \brief 3D backprojection
include/rtkKatsevichForwardBinningImageFilter.h:37: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.h:38: trailing whitespace.
+ * Backprojects a stack of projection images (input 1) in a 3D volume (input 0)
include/rtkKatsevichForwardBinningImageFilter.h:39: trailing whitespace.
+ * using linear interpolation according to a specified geometry. The operation
include/rtkKatsevichForwardBinningImageFilter.h:40: trailing whitespace.
+ * is voxel-based, meaning that the center of each voxel is projected in the
include/rtkKatsevichForwardBinningImageFilter.h:41: trailing whitespace.
+ * projection images to determine the interpolation location.
include/rtkKatsevichForwardBinningImageFilter.h:42: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.h:43: trailing whitespace.
+ * \test rtkfovtest.cxx
include/rtkKatsevichForwardBinningImageFilter.h:44: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.h:45: trailing whitespace.
+ * \author Simon Rit
include/rtkKatsevichForwardBinningImageFilter.h:46: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.h:47: trailing whitespace.
+ * \ingroup RTK Projector
include/rtkKatsevichForwardBinningImageFilter.h:48: trailing whitespace.
+ */
include/rtkKatsevichForwardBinningImageFilter.h:49: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichForwardBinningImageFilter.h:50: trailing whitespace.
+class KatsevichForwardBinningImageFilter : public itk::ImageToImageFilter<TInputImage, TOutputImage>
include/rtkKatsevichForwardBinningImageFilter.h:51: trailing whitespace.
+{
include/rtkKatsevichForwardBinningImageFilter.h:52: trailing whitespace.
+public:
include/rtkKatsevichForwardBinningImageFilter.h:53: trailing whitespace.
+  ITK_DISALLOW_COPY_AND_ASSIGN(KatsevichForwardBinningImageFilter);
include/rtkKatsevichForwardBinningImageFilter.h:54: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:55: trailing whitespace.
+  /** Standard class type alias. */
include/rtkKatsevichForwardBinningImageFilter.h:56: trailing whitespace.
+  using Self = KatsevichForwardBinningImageFilter;
include/rtkKatsevichForwardBinningImageFilter.h:57: trailing whitespace.
+  using OutputImageType = TOutputImage;
include/rtkKatsevichForwardBinningImageFilter.h:58: trailing whitespace.
+  using InputImageType = TInputImage;
include/rtkKatsevichForwardBinningImageFilter.h:59: trailing whitespace.
+  using Superclass = itk::ImageToImageFilter<TInputImage, TOutputImage>;
include/rtkKatsevichForwardBinningImageFilter.h:60: trailing whitespace.
+  using Pointer = itk::SmartPointer<Self>;
include/rtkKatsevichForwardBinningImageFilter.h:61: trailing whitespace.
+  using ConstPointer = itk::SmartPointer<const Self>;
include/rtkKatsevichForwardBinningImageFilter.h:62: trailing whitespace.
+  using InputPixelType = typename TInputImage::PixelType;
include/rtkKatsevichForwardBinningImageFilter.h:63: trailing whitespace.
+  using InternalInputPixelType = typename TInputImage::InternalPixelType;
include/rtkKatsevichForwardBinningImageFilter.h:64: trailing whitespace.
+  using OutputImageRegionType = typename TOutputImage::RegionType;
include/rtkKatsevichForwardBinningImageFilter.h:65: trailing whitespace.
+  using OutputImageIndexType = typename TOutputImage::IndexType;
include/rtkKatsevichForwardBinningImageFilter.h:66: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:67: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:68: trailing whitespace.
+  using GeometryType = rtk::ThreeDHelicalProjectionGeometry;
include/rtkKatsevichForwardBinningImageFilter.h:69: trailing whitespace.
+  using GeometryPointer = typename GeometryType::Pointer;
include/rtkKatsevichForwardBinningImageFilter.h:70: trailing whitespace.
+  using ProjectionMatrixType = typename GeometryType::MatrixType;
include/rtkKatsevichForwardBinningImageFilter.h:71: trailing whitespace.
+  using ProjectionImageType = itk::Image<InputPixelType, TInputImage::ImageDimension - 1>;
include/rtkKatsevichForwardBinningImageFilter.h:72: trailing whitespace.
+  using ProjectionImagePointer = typename ProjectionImageType::Pointer;
include/rtkKatsevichForwardBinningImageFilter.h:73: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:74: trailing whitespace.
+  /** Method for creation through the object factory. */
include/rtkKatsevichForwardBinningImageFilter.h:75: trailing whitespace.
+  itkNewMacro(Self);
include/rtkKatsevichForwardBinningImageFilter.h:76: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:77: trailing whitespace.
+  /** Run-time type information (and related methods). */
include/rtkKatsevichForwardBinningImageFilter.h:78: trailing whitespace.
+  itkTypeMacro(KatsevichForwardBinningImageFilter, itk::ImageToImageFilter);
include/rtkKatsevichForwardBinningImageFilter.h:79: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:80: trailing whitespace.
+  /** Get / Set the object pointer to projection geometry */
include/rtkKatsevichForwardBinningImageFilter.h:81: trailing whitespace.
+  itkGetMacro(Geometry, GeometryPointer);
include/rtkKatsevichForwardBinningImageFilter.h:82: trailing whitespace.
+  itkSetMacro(Geometry, GeometryPointer);
include/rtkKatsevichForwardBinningImageFilter.h:83: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:84: trailing whitespace.
+  /** Get / Set the transpose flag for 2D projections (optimization trick) */
include/rtkKatsevichForwardBinningImageFilter.h:85: trailing whitespace.
+  itkGetMacro(Transpose, bool);
include/rtkKatsevichForwardBinningImageFilter.h:86: trailing whitespace.
+  itkSetMacro(Transpose, bool);
include/rtkKatsevichForwardBinningImageFilter.h:87: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:88: trailing whitespace.
+protected:
include/rtkKatsevichForwardBinningImageFilter.h:89: trailing whitespace.
+  KatsevichForwardBinningImageFilter() = default;
include/rtkKatsevichForwardBinningImageFilter.h:90: trailing whitespace.
+  ~KatsevichForwardBinningImageFilter() override = default;
include/rtkKatsevichForwardBinningImageFilter.h:91: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:92: trailing whitespace.
+  /** Set up requested region for inputs*/
include/rtkKatsevichForwardBinningImageFilter.h:93: trailing whitespace.
+  void
include/rtkKatsevichForwardBinningImageFilter.h:94: trailing whitespace.
+  GenerateInputRequestedRegion() override;
include/rtkKatsevichForwardBinningImageFilter.h:95: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:96: trailing whitespace.
+  void
include/rtkKatsevichForwardBinningImageFilter.h:97: trailing whitespace.
+  GenerateOutputInformation() override;
include/rtkKatsevichForwardBinningImageFilter.h:98: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:99: trailing whitespace.
+  /** Checks that inputs are correctly set. */
include/rtkKatsevichForwardBinningImageFilter.h:100: trailing whitespace.
+  void
include/rtkKatsevichForwardBinningImageFilter.h:101: trailing whitespace.
+  VerifyPreconditions() ITKv5_CONST override;
include/rtkKatsevichForwardBinningImageFilter.h:102: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:103: trailing whitespace.
+  void
include/rtkKatsevichForwardBinningImageFilter.h:104: trailing whitespace.
+  DynamicThreadedGenerateData(const OutputImageRegionType & outputRegionForThread) override;
include/rtkKatsevichForwardBinningImageFilter.h:105: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:106: trailing whitespace.
+  /** The two inputs should not be in the same space so there is nothing
include/rtkKatsevichForwardBinningImageFilter.h:107: trailing whitespace.
+   * to verify. */
include/rtkKatsevichForwardBinningImageFilter.h:108: trailing whitespace.
+  void
include/rtkKatsevichForwardBinningImageFilter.h:109: trailing whitespace.
+  VerifyInputInformation() const override
include/rtkKatsevichForwardBinningImageFilter.h:110: trailing whitespace.
+  {}
include/rtkKatsevichForwardBinningImageFilter.h:111: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:112: trailing whitespace.
+  /** The input is a stack of projections, we need to interpolate in one projection
include/rtkKatsevichForwardBinningImageFilter.h:113: trailing whitespace.
+      for efficiency during interpolation. Use of itk::ExtractImageFilter is
include/rtkKatsevichForwardBinningImageFilter.h:114: trailing whitespace.
+      not threadsafe in ThreadedGenerateData, this one is. The output can be multiplied by a constant.
include/rtkKatsevichForwardBinningImageFilter.h:115: trailing whitespace.
+      The function is templated to allow getting an itk::CudaImage. */
include/rtkKatsevichForwardBinningImageFilter.h:116: trailing whitespace.
+  template <class TProjectionImage>
include/rtkKatsevichForwardBinningImageFilter.h:117: trailing whitespace.
+  typename TProjectionImage::Pointer
include/rtkKatsevichForwardBinningImageFilter.h:118: trailing whitespace.
+  GetProjection(const unsigned int iProj);
include/rtkKatsevichForwardBinningImageFilter.h:119: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:120: trailing whitespace.
+  /** RTK geometry object */
include/rtkKatsevichForwardBinningImageFilter.h:121: trailing whitespace.
+  GeometryPointer m_Geometry;
include/rtkKatsevichForwardBinningImageFilter.h:122: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:123: trailing whitespace.
+private:
include/rtkKatsevichForwardBinningImageFilter.h:124: trailing whitespace.
+  /** Flip projection flag: infludences GetProjection and
include/rtkKatsevichForwardBinningImageFilter.h:125: trailing whitespace.
+    GetIndexToIndexProjectionMatrix for optimization */
include/rtkKatsevichForwardBinningImageFilter.h:126: trailing whitespace.
+  bool m_Transpose{ false };
include/rtkKatsevichForwardBinningImageFilter.h:127: trailing whitespace.
+};
include/rtkKatsevichForwardBinningImageFilter.h:128: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:129: trailing whitespace.
+} // end namespace rtk
include/rtkKatsevichForwardBinningImageFilter.h:130: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:131: trailing whitespace.
+#ifndef ITK_MANUAL_INSTANTIATION
include/rtkKatsevichForwardBinningImageFilter.h:132: trailing whitespace.
+#  include "rtkKatsevichForwardBinningImageFilter.hxx"
include/rtkKatsevichForwardBinningImageFilter.h:133: trailing whitespace.
+#endif
include/rtkKatsevichForwardBinningImageFilter.h:134: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.h:135: trailing whitespace.
+#endif
include/rtkKatsevichForwardBinningImageFilter.hxx:1: trailing whitespace.
+/*=========================================================================
include/rtkKatsevichForwardBinningImageFilter.hxx:2: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.hxx:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkKatsevichForwardBinningImageFilter.hxx:4: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.hxx:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkKatsevichForwardBinningImageFilter.hxx:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkKatsevichForwardBinningImageFilter.hxx:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkKatsevichForwardBinningImageFilter.hxx:8: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.hxx:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkKatsevichForwardBinningImageFilter.hxx:10: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.hxx:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkKatsevichForwardBinningImageFilter.hxx:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkKatsevichForwardBinningImageFilter.hxx:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkKatsevichForwardBinningImageFilter.hxx:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkKatsevichForwardBinningImageFilter.hxx:15: trailing whitespace.
+ *  limitations under the License.
include/rtkKatsevichForwardBinningImageFilter.hxx:16: trailing whitespace.
+ *
include/rtkKatsevichForwardBinningImageFilter.hxx:17: trailing whitespace.
+ *=========================================================================*/
include/rtkKatsevichForwardBinningImageFilter.hxx:18: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:19: trailing whitespace.
+#ifndef rtkKatsevichForwardBinningImageFilter_hxx
include/rtkKatsevichForwardBinningImageFilter.hxx:20: trailing whitespace.
+#define rtkKatsevichForwardBinningImageFilter_hxx
include/rtkKatsevichForwardBinningImageFilter.hxx:21: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:22: trailing whitespace.
+#include "math.h"
include/rtkKatsevichForwardBinningImageFilter.hxx:23: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:24: trailing whitespace.
+#include <rtkHomogeneousMatrix.h>
include/rtkKatsevichForwardBinningImageFilter.hxx:25: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:26: trailing whitespace.
+#include <itkImageRegionConstIterator.h>
include/rtkKatsevichForwardBinningImageFilter.hxx:27: trailing whitespace.
+#include <itkImageRegionIteratorWithIndex.h>
include/rtkKatsevichForwardBinningImageFilter.hxx:28: trailing whitespace.
+#include <itkLinearInterpolateImageFunction.h>
include/rtkKatsevichForwardBinningImageFilter.hxx:29: trailing whitespace.
+#include <itkPixelTraits.h>
include/rtkKatsevichForwardBinningImageFilter.hxx:30: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:31: trailing whitespace.
+#include <rtkKatsevichForwardBinningImageFilter.h>
include/rtkKatsevichForwardBinningImageFilter.hxx:32: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:33: trailing whitespace.
+namespace rtk
include/rtkKatsevichForwardBinningImageFilter.hxx:34: trailing whitespace.
+{
include/rtkKatsevichForwardBinningImageFilter.hxx:35: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:36: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichForwardBinningImageFilter.hxx:37: trailing whitespace.
+void
include/rtkKatsevichForwardBinningImageFilter.hxx:38: trailing whitespace.
+KatsevichForwardBinningImageFilter<TInputImage, TOutputImage>::GenerateInputRequestedRegion()
include/rtkKatsevichForwardBinningImageFilter.hxx:39: trailing whitespace.
+{
include/rtkKatsevichForwardBinningImageFilter.hxx:40: trailing whitespace.
+  //  // Input 0 is Output ie result of forward binning
include/rtkKatsevichForwardBinningImageFilter.hxx:41: trailing whitespace.
+  typename Superclass::InputImagePointer inputPtr0 = const_cast<TInputImage *>(this->GetInput());
include/rtkKatsevichForwardBinningImageFilter.hxx:42: trailing whitespace.
+  //  std::cout << "Input largest : " << this->GetInput()->GetLargestPossibleRegion() << std::endl;
include/rtkKatsevichForwardBinningImageFilter.hxx:43: trailing whitespace.
+  //  std::cout << "inputPtr0 : " << inputPtr0->GetRequestedRegion() << std::endl;
include/rtkKatsevichForwardBinningImageFilter.hxx:44: trailing whitespace.
+  if (!inputPtr0)
include/rtkKatsevichForwardBinningImageFilter.hxx:45: trailing whitespace.
+    return;
include/rtkKatsevichForwardBinningImageFilter.hxx:46: trailing whitespace.
+  inputPtr0->SetRequestedRegion(this->GetInput()->GetLargestPossibleRegion());
include/rtkKatsevichForwardBinningImageFilter.hxx:47: trailing whitespace.
+}
include/rtkKatsevichForwardBinningImageFilter.hxx:48: trailing whitespace.
+// Not necessary as GetInput()->GetLargest = inputPtr0->GetRequested before assignment.
include/rtkKatsevichForwardBinningImageFilter.hxx:49: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:50: trailing whitespace.
+template <typename TInputImage, typename TOutputImage>
include/rtkKatsevichForwardBinningImageFilter.hxx:51: trailing whitespace.
+void
include/rtkKatsevichForwardBinningImageFilter.hxx:52: trailing whitespace.
+KatsevichForwardBinningImageFilter<TInputImage, TOutputImage>::GenerateOutputInformation()
include/rtkKatsevichForwardBinningImageFilter.hxx:53: trailing whitespace.
+{
include/rtkKatsevichForwardBinningImageFilter.hxx:54: trailing whitespace.
+  // Call the superclass' implementation of this method
include/rtkKatsevichForwardBinningImageFilter.hxx:55: trailing whitespace.
+  Superclass::GenerateOutputInformation();
include/rtkKatsevichForwardBinningImageFilter.hxx:56: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:57: trailing whitespace.
+  // Get pointers to the input and output
include/rtkKatsevichForwardBinningImageFilter.hxx:58: trailing whitespace.
+  const InputImageType * inputPtr = this->GetInput();
include/rtkKatsevichForwardBinningImageFilter.hxx:59: trailing whitespace.
+  OutputImageType *      outputPtr = this->GetOutput();
include/rtkKatsevichForwardBinningImageFilter.hxx:60: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:61: trailing whitespace.
+  itkAssertInDebugAndIgnoreInReleaseMacro(inputPtr);
include/rtkKatsevichForwardBinningImageFilter.hxx:62: trailing whitespace.
+  itkAssertInDebugAndIgnoreInReleaseMacro(outputPtr != nullptr);
include/rtkKatsevichForwardBinningImageFilter.hxx:63: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:64: trailing whitespace.
+  unsigned int                              i;
include/rtkKatsevichForwardBinningImageFilter.hxx:65: trailing whitespace.
+  const typename TInputImage::SpacingType & inputSpacing = inputPtr->GetSpacing();
include/rtkKatsevichForwardBinningImageFilter.hxx:66: trailing whitespace.
+  const typename TInputImage::PointType &   inputOrigin = inputPtr->GetOrigin();
include/rtkKatsevichForwardBinningImageFilter.hxx:67: trailing whitespace.
+  const typename TInputImage::SizeType &    inputSize = inputPtr->GetLargestPossibleRegion().GetSize();
include/rtkKatsevichForwardBinningImageFilter.hxx:68: trailing whitespace.
+  const typename TInputImage::IndexType &   inputStartIndex = inputPtr->GetLargestPossibleRegion().GetIndex();
include/rtkKatsevichForwardBinningImageFilter.hxx:69: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:70: trailing whitespace.
+  typename TOutputImage::SpacingType outputSpacing(inputSpacing);
include/rtkKatsevichForwardBinningImageFilter.hxx:71: trailing whitespace.
+  typename TOutputImage::SizeType    outputSize(inputSize);
include/rtkKatsevichForwardBinningImageFilter.hxx:72: trailing whitespace.
+  typename TOutputImage::PointType   outputOrigin(inputOrigin);
include/rtkKatsevichForwardBinningImageFilter.hxx:73: trailing whitespace.
+  typename TOutputImage::IndexType   outputStartIndex;
include/rtkKatsevichForwardBinningImageFilter.hxx:74: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:75: trailing whitespace.
+  outputSize[1] = 2 * inputSize[1] + 1;
include/rtkKatsevichForwardBinningImageFilter.hxx:76: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:77: trailing whitespace.
+  // std::cout << "Output orig " << outputOrigin << " outputSpacing :" << outputSpacing << " outputSize : " <<
include/rtkKatsevichForwardBinningImageFilter.hxx:78: trailing whitespace.
+  // outputSize << " Input size : " << inputSize << std::endl;
include/rtkKatsevichForwardBinningImageFilter.hxx:79: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:80: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:81: trailing whitespace.
+  if (this->m_Geometry->GetRadiusCylindricalDetector() == 0.)
include/rtkKatsevichForwardBinningImageFilter.hxx:82: trailing whitespace.
+  { // Flat panel detector
include/rtkKatsevichForwardBinningImageFilter.hxx:83: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:84: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:85: trailing whitespace.
+    // Compute sampling in psi
include/rtkKatsevichForwardBinningImageFilter.hxx:86: trailing whitespace.
+    double r = 300; // JL : ATTENTION en dur pour comparaisons avec Python. A modifier avec un calcul basé detecteur
include/rtkKatsevichForwardBinningImageFilter.hxx:87: trailing whitespace.
+                    // (sid*sin(atan(0.5*size[0]*spacing[0]/sdd))).
include/rtkKatsevichForwardBinningImageFilter.hxx:88: trailing whitespace.
+    double R = m_Geometry->GetHelixRadius();
include/rtkKatsevichForwardBinningImageFilter.hxx:89: trailing whitespace.
+    double alpha_m = asin(r / R);
include/rtkKatsevichForwardBinningImageFilter.hxx:90: trailing whitespace.
+    double psi_spacing = (M_PI + 2 * alpha_m) / (outputSize[1] - 1);
include/rtkKatsevichForwardBinningImageFilter.hxx:91: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:92: trailing whitespace.
+    outputSpacing[1] = psi_spacing;
include/rtkKatsevichForwardBinningImageFilter.hxx:93: trailing whitespace.
+    outputOrigin[1] = -0.5 * psi_spacing * (outputSize[1] - 1);
include/rtkKatsevichForwardBinningImageFilter.hxx:94: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:95: trailing whitespace.
+    typename TOutputImage::RegionType outputLargestPossibleRegion;
include/rtkKatsevichForwardBinningImageFilter.hxx:96: trailing whitespace.
+    outputLargestPossibleRegion.SetIndex(inputStartIndex);
include/rtkKatsevichForwardBinningImageFilter.hxx:97: trailing whitespace.
+    outputLargestPossibleRegion.SetSize(outputSize);
include/rtkKatsevichForwardBinningImageFilter.hxx:98: trailing whitespace.
+    outputPtr->SetLargestPossibleRegion(outputLargestPossibleRegion);
include/rtkKatsevichForwardBinningImageFilter.hxx:99: trailing whitespace.
+    outputPtr->SetOrigin(outputOrigin);
include/rtkKatsevichForwardBinningImageFilter.hxx:100: trailing whitespace.
+    outputPtr->SetSpacing(outputSpacing);
include/rtkKatsevichForwardBinningImageFilter.hxx:101: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:102: trailing whitespace.
+    // std::cout << "KatsForwardBinning::GenerateOutputInformation : OK" << std::endl;
include/rtkKatsevichForwardBinningImageFilter.hxx:103: trailing whitespace.
+  }
include/rtkKatsevichForwardBinningImageFilter.hxx:104: trailing whitespace.
+  else
include/rtkKatsevichForwardBinningImageFilter.hxx:105: trailing whitespace.
+  { // Cylindrical detector
include/rtkKatsevichForwardBinningImageFilter.hxx:106: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:107: trailing whitespace.
+    double radius = this->m_Geometry->GetRadiusCylindricalDetector();
include/rtkKatsevichForwardBinningImageFilter.hxx:108: trailing whitespace.
+    // Compute sampling in psi
include/rtkKatsevichForwardBinningImageFilter.hxx:109: trailing whitespace.
+    double alpha_m = 0.5 * inputSize[0] * inputSpacing[0] / radius;
include/rtkKatsevichForwardBinningImageFilter.hxx:110: trailing whitespace.
+    double psi_spacing = (M_PI + 2 * alpha_m) / (outputSize[1] - 1);
include/rtkKatsevichForwardBinningImageFilter.hxx:111: trailing whitespace.
+    outputSpacing[1] = psi_spacing;
include/rtkKatsevichForwardBinningImageFilter.hxx:112: trailing whitespace.
+    outputOrigin[1] = -0.5 * psi_spacing * (outputSize[1] - 1);
include/rtkKatsevichForwardBinningImageFilter.hxx:113: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:114: trailing whitespace.
+    typename TOutputImage::RegionType outputLargestPossibleRegion;
include/rtkKatsevichForwardBinningImageFilter.hxx:115: trailing whitespace.
+    outputLargestPossibleRegion.SetIndex(inputStartIndex);
include/rtkKatsevichForwardBinningImageFilter.hxx:116: trailing whitespace.
+    outputLargestPossibleRegion.SetSize(outputSize);
include/rtkKatsevichForwardBinningImageFilter.hxx:117: trailing whitespace.
+    outputPtr->SetLargestPossibleRegion(outputLargestPossibleRegion);
include/rtkKatsevichForwardBinningImageFilter.hxx:118: trailing whitespace.
+    outputPtr->SetSpacing(outputSpacing);
include/rtkKatsevichForwardBinningImageFilter.hxx:119: trailing whitespace.
+    outputPtr->SetOrigin(outputOrigin);
include/rtkKatsevichForwardBinningImageFilter.hxx:120: trailing whitespace.
+  }
include/rtkKatsevichForwardBinningImageFilter.hxx:121: trailing whitespace.
+}
include/rtkKatsevichForwardBinningImageFilter.hxx:122: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:123: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichForwardBinningImageFilter.hxx:124: trailing whitespace.
+void
include/rtkKatsevichForwardBinningImageFilter.hxx:125: trailing whitespace.
+KatsevichForwardBinningImageFilter<TInputImage, TOutputImage>::VerifyPreconditions() ITKv5_CONST
include/rtkKatsevichForwardBinningImageFilter.hxx:126: trailing whitespace.
+{
include/rtkKatsevichForwardBinningImageFilter.hxx:127: trailing whitespace.
+  this->Superclass::VerifyPreconditions();
include/rtkKatsevichForwardBinningImageFilter.hxx:128: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:129: trailing whitespace.
+  if (this->m_Geometry.IsNull() || !this->m_Geometry->GetTheGeometryIsVerified())
include/rtkKatsevichForwardBinningImageFilter.hxx:130: trailing whitespace.
+    itkExceptionMacro(<< "Geometry has not been set or not been checked");
include/rtkKatsevichForwardBinningImageFilter.hxx:131: trailing whitespace.
+}
include/rtkKatsevichForwardBinningImageFilter.hxx:132: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:133: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:134: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkKatsevichForwardBinningImageFilter.hxx:135: trailing whitespace.
+void
include/rtkKatsevichForwardBinningImageFilter.hxx:136: trailing whitespace.
+KatsevichForwardBinningImageFilter<TInputImage, TOutputImage>::DynamicThreadedGenerateData(
include/rtkKatsevichForwardBinningImageFilter.hxx:137: trailing whitespace.
+  const OutputImageRegionType & outputRegionForThread)
include/rtkKatsevichForwardBinningImageFilter.hxx:138: trailing whitespace.
+{
include/rtkKatsevichForwardBinningImageFilter.hxx:139: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:140: trailing whitespace.
+  const unsigned int Dimension = TInputImage::ImageDimension;
include/rtkKatsevichForwardBinningImageFilter.hxx:141: trailing whitespace.
+  const unsigned int nProj = this->GetInput()->GetLargestPossibleRegion().GetSize(Dimension - 1);
include/rtkKatsevichForwardBinningImageFilter.hxx:142: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:143: trailing whitespace.
+  // Create interpolator, could be any interpolation
include/rtkKatsevichForwardBinningImageFilter.hxx:144: trailing whitespace.
+  using InterpolatorType = itk::LinearInterpolateImageFunction<TInputImage, float>;
include/rtkKatsevichForwardBinningImageFilter.hxx:145: trailing whitespace.
+  typename InterpolatorType::Pointer interpolator = InterpolatorType::New();
include/rtkKatsevichForwardBinningImageFilter.hxx:146: trailing whitespace.
+  interpolator->SetInputImage(this->GetInput());
include/rtkKatsevichForwardBinningImageFilter.hxx:147: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:148: trailing whitespace.
+  using OutputRegionIterator = itk::ImageRegionIteratorWithIndex<TOutputImage>;
include/rtkKatsevichForwardBinningImageFilter.hxx:149: trailing whitespace.
+  OutputRegionIterator itOut(this->GetOutput(), outputRegionForThread);
include/rtkKatsevichForwardBinningImageFilter.hxx:150: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:151: trailing whitespace.
+  // Continuous index at which we interpolate
include/rtkKatsevichForwardBinningImageFilter.hxx:152: trailing whitespace.
+  itk::ContinuousIndex<double, Dimension - 1> pointProj;
include/rtkKatsevichForwardBinningImageFilter.hxx:153: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:154: trailing whitespace.
+  const typename TOutputImage::SpacingType & outputSpacing = this->GetOutput()->GetSpacing();
include/rtkKatsevichForwardBinningImageFilter.hxx:155: trailing whitespace.
+  const typename TOutputImage::PointType &   outputOrigin = this->GetOutput()->GetOrigin();
include/rtkKatsevichForwardBinningImageFilter.hxx:156: trailing whitespace.
+  const typename TOutputImage::SizeType &    outputSize = this->GetOutput()->GetLargestPossibleRegion().GetSize();
include/rtkKatsevichForwardBinningImageFilter.hxx:157: trailing whitespace.
+  const typename TOutputImage::IndexType & outputStartIndex = this->GetOutput()->GetLargestPossibleRegion().GetIndex();
include/rtkKatsevichForwardBinningImageFilter.hxx:158: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:159: trailing whitespace.
+  const typename TInputImage::SpacingType & inputSpacing = this->GetInput()->GetSpacing();
include/rtkKatsevichForwardBinningImageFilter.hxx:160: trailing whitespace.
+  const typename TInputImage::PointType &   inputOrigin = this->GetInput()->GetOrigin();
include/rtkKatsevichForwardBinningImageFilter.hxx:161: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:162: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:163: trailing whitespace.
+  // Parameters to compute psi and v
include/rtkKatsevichForwardBinningImageFilter.hxx:164: trailing whitespace.
+  double    R = m_Geometry->GetHelixRadius();
include/rtkKatsevichForwardBinningImageFilter.hxx:165: trailing whitespace.
+  double    r = 300; /////FOV RADIUS, OU LE TROUVE T ON????????  DANS LA GEO??????
include/rtkKatsevichForwardBinningImageFilter.hxx:166: trailing whitespace.
+  double    alpha_m = asin(r / R);
include/rtkKatsevichForwardBinningImageFilter.hxx:167: trailing whitespace.
+  const int L = this->GetOutput()->GetLargestPossibleRegion().GetSize(1);
include/rtkKatsevichForwardBinningImageFilter.hxx:168: trailing whitespace.
+  double    delta_psi = (M_PI + 2 * alpha_m) / (L - 1);
include/rtkKatsevichForwardBinningImageFilter.hxx:169: trailing whitespace.
+  double    D = m_Geometry->GetHelixSourceToDetectorDist();
include/rtkKatsevichForwardBinningImageFilter.hxx:170: trailing whitespace.
+  double    P = m_Geometry->GetHelixPitch();
include/rtkKatsevichForwardBinningImageFilter.hxx:171: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:172: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:173: trailing whitespace.
+  for (itOut.GoToBegin(); !itOut.IsAtEnd(); ++itOut)
include/rtkKatsevichForwardBinningImageFilter.hxx:174: trailing whitespace.
+  {
include/rtkKatsevichForwardBinningImageFilter.hxx:175: trailing whitespace.
+    if (this->m_Geometry->GetRadiusCylindricalDetector() == 0.) // Flat panel
include/rtkKatsevichForwardBinningImageFilter.hxx:176: trailing whitespace.
+    {
include/rtkKatsevichForwardBinningImageFilter.hxx:177: trailing whitespace.
+      typename TOutputImage::IndexType index = itOut.GetIndex();
include/rtkKatsevichForwardBinningImageFilter.hxx:178: trailing whitespace.
+      double                           psi = outputOrigin[1] + index[1] * outputSpacing[1];
include/rtkKatsevichForwardBinningImageFilter.hxx:179: trailing whitespace.
+      double                           u = outputOrigin[0] + index[0] * outputSpacing[0];
include/rtkKatsevichForwardBinningImageFilter.hxx:180: trailing whitespace.
+      double                           v = D * P / (2 * M_PI * R);
include/rtkKatsevichForwardBinningImageFilter.hxx:181: trailing whitespace.
+      if (psi != 0.)
include/rtkKatsevichForwardBinningImageFilter.hxx:182: trailing whitespace.
+      {
include/rtkKatsevichForwardBinningImageFilter.hxx:183: trailing whitespace.
+        v *= (psi + (psi / tan(psi)) * u / D);
include/rtkKatsevichForwardBinningImageFilter.hxx:184: trailing whitespace.
+      }
include/rtkKatsevichForwardBinningImageFilter.hxx:185: trailing whitespace.
+      else
include/rtkKatsevichForwardBinningImageFilter.hxx:186: trailing whitespace.
+      {
include/rtkKatsevichForwardBinningImageFilter.hxx:187: trailing whitespace.
+        v *= u / D;
include/rtkKatsevichForwardBinningImageFilter.hxx:188: trailing whitespace.
+      }
include/rtkKatsevichForwardBinningImageFilter.hxx:189: trailing whitespace.
+      itk::ContinuousIndex<float, TInputImage::ImageDimension> point;
include/rtkKatsevichForwardBinningImageFilter.hxx:190: trailing whitespace.
+      point[0] = index[0];
include/rtkKatsevichForwardBinningImageFilter.hxx:191: trailing whitespace.
+      point[1] = (v - inputOrigin[1]) / inputSpacing[1];
include/rtkKatsevichForwardBinningImageFilter.hxx:192: trailing whitespace.
+      point[2] = index[2];
include/rtkKatsevichForwardBinningImageFilter.hxx:193: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:194: trailing whitespace.
+      // Interpolate
include/rtkKatsevichForwardBinningImageFilter.hxx:195: trailing whitespace.
+      if (interpolator->IsInsideBuffer(point))
include/rtkKatsevichForwardBinningImageFilter.hxx:196: trailing whitespace.
+      {
include/rtkKatsevichForwardBinningImageFilter.hxx:197: trailing whitespace.
+        itOut.Set(interpolator->EvaluateAtContinuousIndex(point));
include/rtkKatsevichForwardBinningImageFilter.hxx:198: trailing whitespace.
+      }
include/rtkKatsevichForwardBinningImageFilter.hxx:199: trailing whitespace.
+    }
include/rtkKatsevichForwardBinningImageFilter.hxx:200: trailing whitespace.
+    else // Curved detector
include/rtkKatsevichForwardBinningImageFilter.hxx:201: trailing whitespace.
+    {
include/rtkKatsevichForwardBinningImageFilter.hxx:202: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:203: trailing whitespace.
+      double radius = this->m_Geometry->GetRadiusCylindricalDetector();
include/rtkKatsevichForwardBinningImageFilter.hxx:204: trailing whitespace.
+      if (radius != D)
include/rtkKatsevichForwardBinningImageFilter.hxx:205: trailing whitespace.
+      {
include/rtkKatsevichForwardBinningImageFilter.hxx:206: trailing whitespace.
+        itkExceptionMacro(<< "Implementation currently only handles cylindrical detector centered on source (i.e. "
include/rtkKatsevichForwardBinningImageFilter.hxx:207: trailing whitespace.
+                             "radius = source to det distance");
include/rtkKatsevichForwardBinningImageFilter.hxx:208: trailing whitespace.
+      }
include/rtkKatsevichForwardBinningImageFilter.hxx:209: trailing whitespace.
+      typename TOutputImage::IndexType index = itOut.GetIndex();
include/rtkKatsevichForwardBinningImageFilter.hxx:210: trailing whitespace.
+      double                           alpha = (outputOrigin[0] + index[0] * outputSpacing[0]) / radius;
include/rtkKatsevichForwardBinningImageFilter.hxx:211: trailing whitespace.
+      double                           psi = outputOrigin[1] + index[1] * outputSpacing[1];
include/rtkKatsevichForwardBinningImageFilter.hxx:212: trailing whitespace.
+      double                           v = D * P / (2 * M_PI * R);
include/rtkKatsevichForwardBinningImageFilter.hxx:213: trailing whitespace.
+      if (psi != 0.)
include/rtkKatsevichForwardBinningImageFilter.hxx:214: trailing whitespace.
+      {
include/rtkKatsevichForwardBinningImageFilter.hxx:215: trailing whitespace.
+        v *= (psi * cos(alpha) + (psi / tan(psi)) * sin(alpha));
include/rtkKatsevichForwardBinningImageFilter.hxx:216: trailing whitespace.
+      }
include/rtkKatsevichForwardBinningImageFilter.hxx:217: trailing whitespace.
+      else
include/rtkKatsevichForwardBinningImageFilter.hxx:218: trailing whitespace.
+      {
include/rtkKatsevichForwardBinningImageFilter.hxx:219: trailing whitespace.
+        v *= sin(alpha);
include/rtkKatsevichForwardBinningImageFilter.hxx:220: trailing whitespace.
+      }
include/rtkKatsevichForwardBinningImageFilter.hxx:221: trailing whitespace.
+      itk::ContinuousIndex<float, TInputImage::ImageDimension> point;
include/rtkKatsevichForwardBinningImageFilter.hxx:222: trailing whitespace.
+      point[0] = index[0];
include/rtkKatsevichForwardBinningImageFilter.hxx:223: trailing whitespace.
+      point[1] = (v - inputOrigin[1]) / inputSpacing[1];
include/rtkKatsevichForwardBinningImageFilter.hxx:224: trailing whitespace.
+      point[2] = index[2];
include/rtkKatsevichForwardBinningImageFilter.hxx:225: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:226: trailing whitespace.
+      // Interpolate
include/rtkKatsevichForwardBinningImageFilter.hxx:227: trailing whitespace.
+      if (interpolator->IsInsideBuffer(point))
include/rtkKatsevichForwardBinningImageFilter.hxx:228: trailing whitespace.
+      {
include/rtkKatsevichForwardBinningImageFilter.hxx:229: trailing whitespace.
+        itOut.Set(interpolator->EvaluateAtContinuousIndex(point));
include/rtkKatsevichForwardBinningImageFilter.hxx:230: trailing whitespace.
+      }
include/rtkKatsevichForwardBinningImageFilter.hxx:231: trailing whitespace.
+    }
include/rtkKatsevichForwardBinningImageFilter.hxx:232: trailing whitespace.
+  }
include/rtkKatsevichForwardBinningImageFilter.hxx:233: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:234: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:235: trailing whitespace.
+  //  //Since we're not using iterator we need to define the  boundary of outputRegionForThread to iterate over the
include/rtkKatsevichForwardBinningImageFilter.hxx:236: trailing whitespace.
+  //  image OutputImageIndexType outputPixelIndex = outputRegionForThread.GetIndex(); unsigned int iFirstProj =
include/rtkKatsevichForwardBinningImageFilter.hxx:237: trailing whitespace.
+  //  outputRegionForThread.GetIndex()[2]; unsigned int u_0 = outputRegionForThread.GetIndex()[0]; unsigned int psi_0 =
include/rtkKatsevichForwardBinningImageFilter.hxx:238: trailing whitespace.
+  //  outputRegionForThread.GetIndex()[1];
include/rtkKatsevichForwardBinningImageFilter.hxx:239: trailing whitespace.
+  //
include/rtkKatsevichForwardBinningImageFilter.hxx:240: trailing whitespace.
+  //  unsigned int nbproj = outputRegionForThread.GetSize()[2];
include/rtkKatsevichForwardBinningImageFilter.hxx:241: trailing whitespace.
+  //  unsigned int det_nx = outputRegionForThread.GetSize()[0];
include/rtkKatsevichForwardBinningImageFilter.hxx:242: trailing whitespace.
+  //  unsigned int det_ny = outputRegionForThread.GetSize()[1];
include/rtkKatsevichForwardBinningImageFilter.hxx:243: trailing whitespace.
+  //
include/rtkKatsevichForwardBinningImageFilter.hxx:244: trailing whitespace.
+  //  double u = 0 ;
include/rtkKatsevichForwardBinningImageFilter.hxx:245: trailing whitespace.
+  //  double v = 0 ;
include/rtkKatsevichForwardBinningImageFilter.hxx:246: trailing whitespace.
+  //  double psi = 0;
include/rtkKatsevichForwardBinningImageFilter.hxx:247: trailing whitespace.
+  //
include/rtkKatsevichForwardBinningImageFilter.hxx:248: trailing whitespace.
+  //  double u_spacing = this->GetInput()->GetSpacing()[0];
include/rtkKatsevichForwardBinningImageFilter.hxx:249: trailing whitespace.
+  //  double v_spacing = this->GetInput()->GetSpacing()[1];
include/rtkKatsevichForwardBinningImageFilter.hxx:250: trailing whitespace.
+  //  double u_orig = this->GetInput()->GetOrigin()[0];
include/rtkKatsevichForwardBinningImageFilter.hxx:251: trailing whitespace.
+  //  double v_orig = this->GetInput()->GetOrigin()[1];
include/rtkKatsevichForwardBinningImageFilter.hxx:252: trailing whitespace.
+  //
include/rtkKatsevichForwardBinningImageFilter.hxx:253: trailing whitespace.
+  //  for (unsigned int iProj = iFirstProj; iProj < iFirstProj + nbproj; iProj++)
include/rtkKatsevichForwardBinningImageFilter.hxx:254: trailing whitespace.
+  //  {
include/rtkKatsevichForwardBinningImageFilter.hxx:255: trailing whitespace.
+  //    // Extract the current slice
include/rtkKatsevichForwardBinningImageFilter.hxx:256: trailing whitespace.
+  //    ProjectionImagePointer projection;
include/rtkKatsevichForwardBinningImageFilter.hxx:257: trailing whitespace.
+  //    projection = this->template GetProjection<ProjectionImageType>(iProj);
include/rtkKatsevichForwardBinningImageFilter.hxx:258: trailing whitespace.
+  //    interpolator->SetInputImage(projection);
include/rtkKatsevichForwardBinningImageFilter.hxx:259: trailing whitespace.
+  //
include/rtkKatsevichForwardBinningImageFilter.hxx:260: trailing whitespace.
+  //
include/rtkKatsevichForwardBinningImageFilter.hxx:261: trailing whitespace.
+  //    for (unsigned int u_idx = u_0 ;u_idx <det_nx + u_0; u_idx++)
include/rtkKatsevichForwardBinningImageFilter.hxx:262: trailing whitespace.
+  //    {
include/rtkKatsevichForwardBinningImageFilter.hxx:263: trailing whitespace.
+  //      //Compute u
include/rtkKatsevichForwardBinningImageFilter.hxx:264: trailing whitespace.
+  //      u = u_orig + u_idx*u_spacing;
include/rtkKatsevichForwardBinningImageFilter.hxx:265: trailing whitespace.
+  //
include/rtkKatsevichForwardBinningImageFilter.hxx:266: trailing whitespace.
+  //      for (unsigned int psi_idx=psi_0;psi_idx < det_ny + psi_0 ; psi_idx++)
include/rtkKatsevichForwardBinningImageFilter.hxx:267: trailing whitespace.
+  //      {
include/rtkKatsevichForwardBinningImageFilter.hxx:268: trailing whitespace.
+  //
include/rtkKatsevichForwardBinningImageFilter.hxx:269: trailing whitespace.
+  //        //Compute v
include/rtkKatsevichForwardBinningImageFilter.hxx:270: trailing whitespace.
+  //        psi = -0.5*M_PI - alpha_m + delta_psi*psi_idx;
include/rtkKatsevichForwardBinningImageFilter.hxx:271: trailing whitespace.
+  //        if(psi != 0 ) v = (psi + (psi/tan(psi))*(u/D) )* D*P/(R*2*M_PI);
include/rtkKatsevichForwardBinningImageFilter.hxx:272: trailing whitespace.
+  //        else v = (u/D)*D*P/(R*2*M_PI);
include/rtkKatsevichForwardBinningImageFilter.hxx:273: trailing whitespace.
+  //
include/rtkKatsevichForwardBinningImageFilter.hxx:274: trailing whitespace.
+  //      //Compute pixel index
include/rtkKatsevichForwardBinningImageFilter.hxx:275: trailing whitespace.
+  //      outputPixelIndex[0] = u_idx;
include/rtkKatsevichForwardBinningImageFilter.hxx:276: trailing whitespace.
+  //      outputPixelIndex[1] = psi_idx;
include/rtkKatsevichForwardBinningImageFilter.hxx:277: trailing whitespace.
+  //      outputPixelIndex[2] = iProj;
include/rtkKatsevichForwardBinningImageFilter.hxx:278: trailing whitespace.
+  //
include/rtkKatsevichForwardBinningImageFilter.hxx:279: trailing whitespace.
+  //
include/rtkKatsevichForwardBinningImageFilter.hxx:280: trailing whitespace.
+  //      //Get interpolated value
include/rtkKatsevichForwardBinningImageFilter.hxx:281: trailing whitespace.
+  //      pointProj[0] = u_idx ;
include/rtkKatsevichForwardBinningImageFilter.hxx:282: trailing whitespace.
+  //      pointProj[1] = (v - v_orig) / v_spacing ;
include/rtkKatsevichForwardBinningImageFilter.hxx:283: trailing whitespace.
+  //      if(interpolator->IsInsideBuffer(pointProj))
include/rtkKatsevichForwardBinningImageFilter.hxx:284: trailing whitespace.
+  //      {
include/rtkKatsevichForwardBinningImageFilter.hxx:285: trailing whitespace.
+  //        double value = interpolator->EvaluateAtContinuousIndex(pointProj);
include/rtkKatsevichForwardBinningImageFilter.hxx:286: trailing whitespace.
+  //        this->GetOutput()->SetPixel(outputPixelIndex,value);
include/rtkKatsevichForwardBinningImageFilter.hxx:287: trailing whitespace.
+  //      }
include/rtkKatsevichForwardBinningImageFilter.hxx:288: trailing whitespace.
+  //      }
include/rtkKatsevichForwardBinningImageFilter.hxx:289: trailing whitespace.
+  //    }
include/rtkKatsevichForwardBinningImageFilter.hxx:290: trailing whitespace.
+  //  }
include/rtkKatsevichForwardBinningImageFilter.hxx:291: trailing whitespace.
+}
include/rtkKatsevichForwardBinningImageFilter.hxx:292: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:293: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:294: trailing whitespace.
+// template <class TInputImage, class TOutputImage>
include/rtkKatsevichForwardBinningImageFilter.hxx:295: trailing whitespace.
+// template <class TProjectionImage>
include/rtkKatsevichForwardBinningImageFilter.hxx:296: trailing whitespace.
+// typename TProjectionImage::Pointer
include/rtkKatsevichForwardBinningImageFilter.hxx:297: trailing whitespace.
+// KatsevichForwardBinningImageFilter<TInputImage, TOutputImage>::GetProjection(const unsigned int iProj)
include/rtkKatsevichForwardBinningImageFilter.hxx:298: trailing whitespace.
+//{
include/rtkKatsevichForwardBinningImageFilter.hxx:299: trailing whitespace.
+//
include/rtkKatsevichForwardBinningImageFilter.hxx:300: trailing whitespace.
+//  typename Superclass::InputImagePointer stack = const_cast<TInputImage *>(this->GetInput());
include/rtkKatsevichForwardBinningImageFilter.hxx:301: trailing whitespace.
+//
include/rtkKatsevichForwardBinningImageFilter.hxx:302: trailing whitespace.
+//  const int iProjBuff = stack->GetBufferedRegion().GetIndex(ProjectionImageType::ImageDimension);
include/rtkKatsevichForwardBinningImageFilter.hxx:303: trailing whitespace.
+//
include/rtkKatsevichForwardBinningImageFilter.hxx:304: trailing whitespace.
+//  typename TProjectionImage::Pointer     projection = TProjectionImage::New();
include/rtkKatsevichForwardBinningImageFilter.hxx:305: trailing whitespace.
+//  typename TProjectionImage::RegionType  region;
include/rtkKatsevichForwardBinningImageFilter.hxx:306: trailing whitespace.
+//  typename TProjectionImage::SpacingType spacing;
include/rtkKatsevichForwardBinningImageFilter.hxx:307: trailing whitespace.
+//  typename TProjectionImage::PointType   origin;
include/rtkKatsevichForwardBinningImageFilter.hxx:308: trailing whitespace.
+//
include/rtkKatsevichForwardBinningImageFilter.hxx:309: trailing whitespace.
+//  for (unsigned int i = 0; i < TProjectionImage::ImageDimension; i++)
include/rtkKatsevichForwardBinningImageFilter.hxx:310: trailing whitespace.
+//  {
include/rtkKatsevichForwardBinningImageFilter.hxx:311: trailing whitespace.
+//    origin[i] = stack->GetOrigin()[i];
include/rtkKatsevichForwardBinningImageFilter.hxx:312: trailing whitespace.
+//    spacing[i] = stack->GetSpacing()[i];
include/rtkKatsevichForwardBinningImageFilter.hxx:313: trailing whitespace.
+//    region.SetSize(i, stack->GetBufferedRegion().GetSize()[i]);
include/rtkKatsevichForwardBinningImageFilter.hxx:314: trailing whitespace.
+//    region.SetIndex(i, stack->GetBufferedRegion().GetIndex()[i]);
include/rtkKatsevichForwardBinningImageFilter.hxx:315: trailing whitespace.
+//  }
include/rtkKatsevichForwardBinningImageFilter.hxx:316: trailing whitespace.
+//  if (this->GetTranspose())
include/rtkKatsevichForwardBinningImageFilter.hxx:317: trailing whitespace.
+//  {
include/rtkKatsevichForwardBinningImageFilter.hxx:318: trailing whitespace.
+//    typename TProjectionImage::SizeType  size = region.GetSize();
include/rtkKatsevichForwardBinningImageFilter.hxx:319: trailing whitespace.
+//    typename TProjectionImage::IndexType index = region.GetIndex();
include/rtkKatsevichForwardBinningImageFilter.hxx:320: trailing whitespace.
+//    std::swap(size[0], size[1]);
include/rtkKatsevichForwardBinningImageFilter.hxx:321: trailing whitespace.
+//    std::swap(index[0], index[1]);
include/rtkKatsevichForwardBinningImageFilter.hxx:322: trailing whitespace.
+//    std::swap(origin[0], origin[1]);
include/rtkKatsevichForwardBinningImageFilter.hxx:323: trailing whitespace.
+//    std::swap(spacing[0], spacing[1]);
include/rtkKatsevichForwardBinningImageFilter.hxx:324: trailing whitespace.
+//    region.SetSize(size);
include/rtkKatsevichForwardBinningImageFilter.hxx:325: trailing whitespace.
+//    region.SetIndex(index);
include/rtkKatsevichForwardBinningImageFilter.hxx:326: trailing whitespace.
+//  }
include/rtkKatsevichForwardBinningImageFilter.hxx:327: trailing whitespace.
+//  projection->SetSpacing(spacing);
include/rtkKatsevichForwardBinningImageFilter.hxx:328: trailing whitespace.
+//  projection->SetOrigin(origin);
include/rtkKatsevichForwardBinningImageFilter.hxx:329: trailing whitespace.
+//  projection->SetRegions(region);
include/rtkKatsevichForwardBinningImageFilter.hxx:330: trailing whitespace.
+//  projection->Allocate();
include/rtkKatsevichForwardBinningImageFilter.hxx:331: trailing whitespace.
+//
include/rtkKatsevichForwardBinningImageFilter.hxx:332: trailing whitespace.
+//  const unsigned int             npixels = projection->GetBufferedRegion().GetNumberOfPixels();
include/rtkKatsevichForwardBinningImageFilter.hxx:333: trailing whitespace.
+//  const InternalInputPixelType * pi = stack->GetBufferPointer() + (iProj - iProjBuff) * npixels;
include/rtkKatsevichForwardBinningImageFilter.hxx:334: trailing whitespace.
+//  InternalInputPixelType *       po = projection->GetBufferPointer();
include/rtkKatsevichForwardBinningImageFilter.hxx:335: trailing whitespace.
+//
include/rtkKatsevichForwardBinningImageFilter.hxx:336: trailing whitespace.
+//  // Transpose projection for optimization
include/rtkKatsevichForwardBinningImageFilter.hxx:337: trailing whitespace.
+//  if (this->GetTranspose())
include/rtkKatsevichForwardBinningImageFilter.hxx:338: trailing whitespace.
+//  {
include/rtkKatsevichForwardBinningImageFilter.hxx:339: trailing whitespace.
+//    for (unsigned int j = 0; j < region.GetSize(0); j++, po -= npixels - 1)
include/rtkKatsevichForwardBinningImageFilter.hxx:340: trailing whitespace.
+//      for (unsigned int i = 0; i < region.GetSize(1); i++, po += region.GetSize(0))
include/rtkKatsevichForwardBinningImageFilter.hxx:341: trailing whitespace.
+//        *po = *pi++;
include/rtkKatsevichForwardBinningImageFilter.hxx:342: trailing whitespace.
+//  }
include/rtkKatsevichForwardBinningImageFilter.hxx:343: trailing whitespace.
+//  else
include/rtkKatsevichForwardBinningImageFilter.hxx:344: trailing whitespace.
+//    for (unsigned int i = 0; i < npixels; i++)
include/rtkKatsevichForwardBinningImageFilter.hxx:345: trailing whitespace.
+//      *po++ = *pi++;
include/rtkKatsevichForwardBinningImageFilter.hxx:346: trailing whitespace.
+//
include/rtkKatsevichForwardBinningImageFilter.hxx:347: trailing whitespace.
+//  return projection;
include/rtkKatsevichForwardBinningImageFilter.hxx:348: trailing whitespace.
+//}
include/rtkKatsevichForwardBinningImageFilter.hxx:349: trailing whitespace.
+} // end namespace rtk
include/rtkKatsevichForwardBinningImageFilter.hxx:350: trailing whitespace.
+
include/rtkKatsevichForwardBinningImageFilter.hxx:351: trailing whitespace.
+#endif
include/rtkPILineImageFilter.h:1: trailing whitespace.
+/*=========================================================================
include/rtkPILineImageFilter.h:2: trailing whitespace.
+ *
include/rtkPILineImageFilter.h:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkPILineImageFilter.h:4: trailing whitespace.
+ *
include/rtkPILineImageFilter.h:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkPILineImageFilter.h:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkPILineImageFilter.h:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkPILineImageFilter.h:8: trailing whitespace.
+ *
include/rtkPILineImageFilter.h:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkPILineImageFilter.h:10: trailing whitespace.
+ *
include/rtkPILineImageFilter.h:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkPILineImageFilter.h:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkPILineImageFilter.h:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkPILineImageFilter.h:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkPILineImageFilter.h:15: trailing whitespace.
+ *  limitations under the License.
include/rtkPILineImageFilter.h:16: trailing whitespace.
+ *
include/rtkPILineImageFilter.h:17: trailing whitespace.
+ *=========================================================================*/
include/rtkPILineImageFilter.h:18: trailing whitespace.
+
include/rtkPILineImageFilter.h:19: trailing whitespace.
+#ifndef rtkPILineImageFilter_h
include/rtkPILineImageFilter.h:20: trailing whitespace.
+#define rtkPILineImageFilter_h
include/rtkPILineImageFilter.h:21: trailing whitespace.
+
include/rtkPILineImageFilter.h:22: trailing whitespace.
+#include <rtkConfiguration.h>
include/rtkPILineImageFilter.h:23: trailing whitespace.
+
include/rtkPILineImageFilter.h:24: trailing whitespace.
+#include <itkInPlaceImageFilter.h>
include/rtkPILineImageFilter.h:25: trailing whitespace.
+#include <itkConceptChecking.h>
include/rtkPILineImageFilter.h:26: trailing whitespace.
+
include/rtkPILineImageFilter.h:27: trailing whitespace.
+#include <rtkThreeDHelicalProjectionGeometry.h>
include/rtkPILineImageFilter.h:28: trailing whitespace.
+#include <rtkConstantImageSource.h>
include/rtkPILineImageFilter.h:29: trailing whitespace.
+#include "itkImageRegionIteratorWithIndex.h"
include/rtkPILineImageFilter.h:30: trailing whitespace.
+#include <itkVectorImage.h>
include/rtkPILineImageFilter.h:31: trailing whitespace.
+
include/rtkPILineImageFilter.h:32: trailing whitespace.
+#include <type_traits>
include/rtkPILineImageFilter.h:33: trailing whitespace.
+#include <typeinfo>
include/rtkPILineImageFilter.h:34: trailing whitespace.
+
include/rtkPILineImageFilter.h:35: trailing whitespace.
+namespace rtk
include/rtkPILineImageFilter.h:36: trailing whitespace.
+{
include/rtkPILineImageFilter.h:37: trailing whitespace.
+
include/rtkPILineImageFilter.h:38: trailing whitespace.
+/** \class PILineImageFilter
include/rtkPILineImageFilter.h:39: trailing whitespace.
+ * \brief
include/rtkPILineImageFilter.h:40: trailing whitespace.
+ *
include/rtkPILineImageFilter.h:41: trailing whitespace.
+ * Computes the extremities of the PI-Line for each voxel of the input image.
include/rtkPILineImageFilter.h:42: trailing whitespace.
+ * The lower bound is computed with a Powell-based minimization.
include/rtkPILineImageFilter.h:43: trailing whitespace.
+ *
include/rtkPILineImageFilter.h:44: trailing whitespace.
+ * \test
include/rtkPILineImageFilter.h:45: trailing whitespace.
+ *
include/rtkPILineImageFilter.h:46: trailing whitespace.
+ * \author Jérome Lesaint
include/rtkPILineImageFilter.h:47: trailing whitespace.
+ *
include/rtkPILineImageFilter.h:48: trailing whitespace.
+ * \ingroup
include/rtkPILineImageFilter.h:49: trailing whitespace.
+ */
include/rtkPILineImageFilter.h:50: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkPILineImageFilter.h:51: trailing whitespace.
+class PILineImageFilter : public itk::ImageToImageFilter<TInputImage, TOutputImage>
include/rtkPILineImageFilter.h:52: trailing whitespace.
+{
include/rtkPILineImageFilter.h:53: trailing whitespace.
+public:
include/rtkPILineImageFilter.h:54: trailing whitespace.
+  ITK_DISALLOW_COPY_AND_ASSIGN(PILineImageFilter);
include/rtkPILineImageFilter.h:55: trailing whitespace.
+
include/rtkPILineImageFilter.h:56: trailing whitespace.
+  /** Standard class type alias. */
include/rtkPILineImageFilter.h:57: trailing whitespace.
+  using Self = PILineImageFilter;
include/rtkPILineImageFilter.h:58: trailing whitespace.
+  using OutputImageType = TOutputImage;
include/rtkPILineImageFilter.h:59: trailing whitespace.
+  using InputImageType = TInputImage;
include/rtkPILineImageFilter.h:60: trailing whitespace.
+  using Superclass = itk::ImageToImageFilter<TInputImage, TOutputImage>;
include/rtkPILineImageFilter.h:61: trailing whitespace.
+  using Pointer = itk::SmartPointer<Self>;
include/rtkPILineImageFilter.h:62: trailing whitespace.
+  using ConstPointer = itk::SmartPointer<const Self>;
include/rtkPILineImageFilter.h:63: trailing whitespace.
+  using InputPixelType = typename TInputImage::PixelType;
include/rtkPILineImageFilter.h:64: trailing whitespace.
+  using OutputPixelType = typename TOutputImage::PixelType;
include/rtkPILineImageFilter.h:65: trailing whitespace.
+  using InternalInputPixelType = typename TInputImage::InternalPixelType;
include/rtkPILineImageFilter.h:66: trailing whitespace.
+  using OutputImageRegionType = typename TOutputImage::RegionType;
include/rtkPILineImageFilter.h:67: trailing whitespace.
+  using OutputImageIndexType = typename TOutputImage::IndexType;
include/rtkPILineImageFilter.h:68: trailing whitespace.
+  using OutputImageSizeType = typename TOutputImage::SizeType;
include/rtkPILineImageFilter.h:69: trailing whitespace.
+  using InputImageRegionType = typename TInputImage::RegionType;
include/rtkPILineImageFilter.h:70: trailing whitespace.
+  using InputImageIndexType = typename TInputImage::IndexType;
include/rtkPILineImageFilter.h:71: trailing whitespace.
+  using InputImageSizeType = typename TInputImage::SizeType;
include/rtkPILineImageFilter.h:72: trailing whitespace.
+  using InputIteratorType = itk::ImageRegionIteratorWithIndex<const InputImageType>;
include/rtkPILineImageFilter.h:73: trailing whitespace.
+  using OutputIteratorType = itk::ImageRegionIteratorWithIndex<OutputImageType>;
include/rtkPILineImageFilter.h:74: trailing whitespace.
+  using ConstantImageType = rtk::ConstantImageSource<OutputImageType>;
include/rtkPILineImageFilter.h:75: trailing whitespace.
+
include/rtkPILineImageFilter.h:76: trailing whitespace.
+
include/rtkPILineImageFilter.h:77: trailing whitespace.
+  using GeometryType = rtk::ThreeDHelicalProjectionGeometry;
include/rtkPILineImageFilter.h:78: trailing whitespace.
+  using GeometryPointer = GeometryType::Pointer;
include/rtkPILineImageFilter.h:79: trailing whitespace.
+
include/rtkPILineImageFilter.h:80: trailing whitespace.
+  /** Method for creation through the object factory. */
include/rtkPILineImageFilter.h:81: trailing whitespace.
+  itkNewMacro(Self);
include/rtkPILineImageFilter.h:82: trailing whitespace.
+
include/rtkPILineImageFilter.h:83: trailing whitespace.
+  /** Run-time type information (and related methods). */
include/rtkPILineImageFilter.h:84: trailing whitespace.
+  itkTypeMacro(PILineImageFilter, itk::ImageToImageFilter);
include/rtkPILineImageFilter.h:85: trailing whitespace.
+
include/rtkPILineImageFilter.h:86: trailing whitespace.
+  /** Get / Set the object pointer to projection geometry */
include/rtkPILineImageFilter.h:87: trailing whitespace.
+  itkGetModifiableObjectMacro(Geometry, GeometryType);
include/rtkPILineImageFilter.h:88: trailing whitespace.
+  itkSetObjectMacro(Geometry, GeometryType);
include/rtkPILineImageFilter.h:89: trailing whitespace.
+
include/rtkPILineImageFilter.h:90: trailing whitespace.
+  /** Get / Set the transpose flag for 2D projections (optimization trick) */
include/rtkPILineImageFilter.h:91: trailing whitespace.
+  itkGetMacro(Transpose, bool);
include/rtkPILineImageFilter.h:92: trailing whitespace.
+  itkSetMacro(Transpose, bool);
include/rtkPILineImageFilter.h:93: trailing whitespace.
+
include/rtkPILineImageFilter.h:94: trailing whitespace.
+protected:
include/rtkPILineImageFilter.h:95: trailing whitespace.
+  PILineImageFilter() = default;
include/rtkPILineImageFilter.h:96: trailing whitespace.
+  ~PILineImageFilter() override = default;
include/rtkPILineImageFilter.h:97: trailing whitespace.
+
include/rtkPILineImageFilter.h:98: trailing whitespace.
+  /** Checks that inputs are correctly set. */
include/rtkPILineImageFilter.h:99: trailing whitespace.
+  void
include/rtkPILineImageFilter.h:100: trailing whitespace.
+  VerifyPreconditions() ITKv5_CONST override;
include/rtkPILineImageFilter.h:101: trailing whitespace.
+
include/rtkPILineImageFilter.h:102: trailing whitespace.
+  void
include/rtkPILineImageFilter.h:103: trailing whitespace.
+  DynamicThreadedGenerateData(const OutputImageRegionType & outputRegionForThread) override;
include/rtkPILineImageFilter.h:104: trailing whitespace.
+
include/rtkPILineImageFilter.h:105: trailing whitespace.
+  /** The two inputs should not be in the same space so there is nothing
include/rtkPILineImageFilter.h:106: trailing whitespace.
+   * to verify. */
include/rtkPILineImageFilter.h:107: trailing whitespace.
+  void
include/rtkPILineImageFilter.h:108: trailing whitespace.
+  VerifyInputInformation() const override
include/rtkPILineImageFilter.h:109: trailing whitespace.
+  {}
include/rtkPILineImageFilter.h:110: trailing whitespace.
+
include/rtkPILineImageFilter.h:111: trailing whitespace.
+  /** The input is a stack of projections, we need to interpolate in one projection
include/rtkPILineImageFilter.h:112: trailing whitespace.
+      for efficiency during interpolation. Use of itk::ExtractImageFilter is
include/rtkPILineImageFilter.h:113: trailing whitespace.
+      not threadsafe in ThreadedGenerateData, this one is. The output can be multiplied by a constant.
include/rtkPILineImageFilter.h:114: trailing whitespace.
+      The function is templated to allow getting an itk::CudaImage. */
include/rtkPILineImageFilter.h:115: trailing whitespace.
+  template <class TProjectionImage>
include/rtkPILineImageFilter.h:116: trailing whitespace.
+  typename TProjectionImage::Pointer
include/rtkPILineImageFilter.h:117: trailing whitespace.
+  GetProjection(const unsigned int iProj);
include/rtkPILineImageFilter.h:118: trailing whitespace.
+
include/rtkPILineImageFilter.h:119: trailing whitespace.
+  /** RTK geometry object */
include/rtkPILineImageFilter.h:120: trailing whitespace.
+  GeometryPointer m_Geometry;
include/rtkPILineImageFilter.h:121: trailing whitespace.
+
include/rtkPILineImageFilter.h:122: trailing whitespace.
+private:
include/rtkPILineImageFilter.h:123: trailing whitespace.
+  /** Flip projection flag: infludences GetProjection and
include/rtkPILineImageFilter.h:124: trailing whitespace.
+    GetIndexToIndexProjectionMatrix for optimization */
include/rtkPILineImageFilter.h:125: trailing whitespace.
+  bool m_Transpose{ false };
include/rtkPILineImageFilter.h:126: trailing whitespace.
+};
include/rtkPILineImageFilter.h:127: trailing whitespace.
+
include/rtkPILineImageFilter.h:128: trailing whitespace.
+} // end namespace rtk
include/rtkPILineImageFilter.h:129: trailing whitespace.
+
include/rtkPILineImageFilter.h:130: trailing whitespace.
+#ifndef ITK_MANUAL_INSTANTIATION
include/rtkPILineImageFilter.h:131: trailing whitespace.
+#  include "rtkPILineImageFilter.hxx"
include/rtkPILineImageFilter.h:132: trailing whitespace.
+#endif
include/rtkPILineImageFilter.h:133: trailing whitespace.
+
include/rtkPILineImageFilter.h:134: trailing whitespace.
+#endif
include/rtkPILineImageFilter.hxx:1: trailing whitespace.
+/*=========================================================================
include/rtkPILineImageFilter.hxx:2: trailing whitespace.
+ *
include/rtkPILineImageFilter.hxx:3: trailing whitespace.
+ *  Copyright RTK Consortium
include/rtkPILineImageFilter.hxx:4: trailing whitespace.
+ *
include/rtkPILineImageFilter.hxx:5: trailing whitespace.
+ *  Licensed under the Apache License, Version 2.0 (the "License");
include/rtkPILineImageFilter.hxx:6: trailing whitespace.
+ *  you may not use this file except in compliance with the License.
include/rtkPILineImageFilter.hxx:7: trailing whitespace.
+ *  You may obtain a copy of the License at
include/rtkPILineImageFilter.hxx:8: trailing whitespace.
+ *
include/rtkPILineImageFilter.hxx:9: trailing whitespace.
+ *         http://www.apache.org/licenses/LICENSE-2.0.txt
include/rtkPILineImageFilter.hxx:10: trailing whitespace.
+ *
include/rtkPILineImageFilter.hxx:11: trailing whitespace.
+ *  Unless required by applicable law or agreed to in writing, software
include/rtkPILineImageFilter.hxx:12: trailing whitespace.
+ *  distributed under the License is distributed on an "AS IS" BASIS,
include/rtkPILineImageFilter.hxx:13: trailing whitespace.
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
include/rtkPILineImageFilter.hxx:14: trailing whitespace.
+ *  See the License for the specific language governing permissions and
include/rtkPILineImageFilter.hxx:15: trailing whitespace.
+ *  limitations under the License.
include/rtkPILineImageFilter.hxx:16: trailing whitespace.
+ *
include/rtkPILineImageFilter.hxx:17: trailing whitespace.
+ *=========================================================================*/
include/rtkPILineImageFilter.hxx:18: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:19: trailing whitespace.
+#ifndef rtkPILineImageFilter_hxx
include/rtkPILineImageFilter.hxx:20: trailing whitespace.
+#define rtkPILineImageFilter_hxx
include/rtkPILineImageFilter.hxx:21: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:22: trailing whitespace.
+#include "math.h"
include/rtkPILineImageFilter.hxx:23: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:24: trailing whitespace.
+#include <rtkPILineImageFilter.h>
include/rtkPILineImageFilter.hxx:25: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:26: trailing whitespace.
+#include <rtkHomogeneousMatrix.h>
include/rtkPILineImageFilter.hxx:27: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:28: trailing whitespace.
+#include <itkImageRegionConstIterator.h>
include/rtkPILineImageFilter.hxx:29: trailing whitespace.
+#include <itkImageRegionIteratorWithIndex.h>
include/rtkPILineImageFilter.hxx:30: trailing whitespace.
+#include <itkLinearInterpolateImageFunction.h>
include/rtkPILineImageFilter.hxx:31: trailing whitespace.
+#include <itkPixelTraits.h>
include/rtkPILineImageFilter.hxx:32: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:33: trailing whitespace.
+#include <itkPowellOptimizer.h>
include/rtkPILineImageFilter.hxx:34: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:35: trailing whitespace.
+namespace rtk
include/rtkPILineImageFilter.hxx:36: trailing whitespace.
+{
include/rtkPILineImageFilter.hxx:37: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:38: trailing whitespace.
+int POWELL_CALLS_TO_GET_VALUE = 0;
include/rtkPILineImageFilter.hxx:39: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:40: trailing whitespace.
+class PowellPILineCostFunction : public itk::SingleValuedCostFunction
include/rtkPILineImageFilter.hxx:41: trailing whitespace.
+{
include/rtkPILineImageFilter.hxx:42: trailing whitespace.
+public:
include/rtkPILineImageFilter.hxx:43: trailing whitespace.
+  using Self = PowellPILineCostFunction;
include/rtkPILineImageFilter.hxx:44: trailing whitespace.
+  using Superclass = itk::SingleValuedCostFunction;
include/rtkPILineImageFilter.hxx:45: trailing whitespace.
+  using Pointer = itk::SmartPointer<Self>;
include/rtkPILineImageFilter.hxx:46: trailing whitespace.
+  using ConstPointer = itk::SmartPointer<const Self>;
include/rtkPILineImageFilter.hxx:47: trailing whitespace.
+  itkNewMacro(Self);
include/rtkPILineImageFilter.hxx:48: trailing whitespace.
+  itkTypeMacro(PowellPILineCostFunction, SingleValuedCostFunction);
include/rtkPILineImageFilter.hxx:49: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:50: trailing whitespace.
+  /** Get and Set macro*/
include/rtkPILineImageFilter.hxx:51: trailing whitespace.
+  itkGetMacro(DistanceToOrigin, double);
include/rtkPILineImageFilter.hxx:52: trailing whitespace.
+  itkSetMacro(DistanceToOrigin, double);
include/rtkPILineImageFilter.hxx:53: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:54: trailing whitespace.
+  itkGetMacro(Gamma, double);
include/rtkPILineImageFilter.hxx:55: trailing whitespace.
+  itkSetMacro(Gamma, double);
include/rtkPILineImageFilter.hxx:56: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:57: trailing whitespace.
+  itkGetMacro(HelixPitch, double);
include/rtkPILineImageFilter.hxx:58: trailing whitespace.
+  itkSetMacro(HelixPitch, double);
include/rtkPILineImageFilter.hxx:59: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:60: trailing whitespace.
+  itkGetMacro(HelixRadius, double);
include/rtkPILineImageFilter.hxx:61: trailing whitespace.
+  itkSetMacro(HelixRadius, double);
include/rtkPILineImageFilter.hxx:62: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:63: trailing whitespace.
+  itkGetMacro(AxialPosition, double);
include/rtkPILineImageFilter.hxx:64: trailing whitespace.
+  itkSetMacro(AxialPosition, double);
include/rtkPILineImageFilter.hxx:65: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:66: trailing whitespace.
+  enum
include/rtkPILineImageFilter.hxx:67: trailing whitespace.
+  {
include/rtkPILineImageFilter.hxx:68: trailing whitespace.
+    SpaceDimension = 1
include/rtkPILineImageFilter.hxx:69: trailing whitespace.
+  };
include/rtkPILineImageFilter.hxx:70: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:71: trailing whitespace.
+  using ParametersType = Superclass::ParametersType;
include/rtkPILineImageFilter.hxx:72: trailing whitespace.
+  using DerivativeType = Superclass::DerivativeType;
include/rtkPILineImageFilter.hxx:73: trailing whitespace.
+  using MeasureType = Superclass::MeasureType;
include/rtkPILineImageFilter.hxx:74: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:75: trailing whitespace.
+protected:
include/rtkPILineImageFilter.hxx:76: trailing whitespace.
+  PowellPILineCostFunction();
include/rtkPILineImageFilter.hxx:77: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:78: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:79: trailing whitespace.
+  void
include/rtkPILineImageFilter.hxx:80: trailing whitespace.
+  GetDerivative(const ParametersType &, DerivativeType &) const override
include/rtkPILineImageFilter.hxx:81: trailing whitespace.
+  {}
include/rtkPILineImageFilter.hxx:82: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:83: trailing whitespace.
+  MeasureType
include/rtkPILineImageFilter.hxx:84: trailing whitespace.
+  GetValue(const ParametersType & parameters) const override
include/rtkPILineImageFilter.hxx:85: trailing whitespace.
+  {
include/rtkPILineImageFilter.hxx:86: trailing whitespace.
+    ++POWELL_CALLS_TO_GET_VALUE;
include/rtkPILineImageFilter.hxx:87: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:88: trailing whitespace.
+    double s = parameters[0];
include/rtkPILineImageFilter.hxx:89: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:90: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:91: trailing whitespace.
+    // std::cout << "      GetValue( ";
include/rtkPILineImageFilter.hxx:92: trailing whitespace.
+    // std::cout << s << ") = ";
include/rtkPILineImageFilter.hxx:93: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:94: trailing whitespace.
+    double tmp1 = m_HelixRadius - m_DistanceToOrigin * cos(m_Gamma - s);
include/rtkPILineImageFilter.hxx:95: trailing whitespace.
+    double alpha = atan2(m_DistanceToOrigin * sin(m_Gamma - s), tmp1);
include/rtkPILineImageFilter.hxx:96: trailing whitespace.
+    double tmp3 = (1 + (pow(m_DistanceToOrigin, 2) - pow(m_HelixRadius, 2)) / (2 * m_HelixRadius * tmp1));
include/rtkPILineImageFilter.hxx:97: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:98: trailing whitespace.
+    MeasureType measure = pow(m_AxialPosition - m_HelixPitch * ((M_PI - 2 * alpha) * tmp3 + s), 2);
include/rtkPILineImageFilter.hxx:99: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:100: trailing whitespace.
+    // std::cout << measure << std::endl;
include/rtkPILineImageFilter.hxx:101: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:102: trailing whitespace.
+    return measure;
include/rtkPILineImageFilter.hxx:103: trailing whitespace.
+  }
include/rtkPILineImageFilter.hxx:104: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:105: trailing whitespace.
+  unsigned int
include/rtkPILineImageFilter.hxx:106: trailing whitespace.
+  GetNumberOfParameters() const override
include/rtkPILineImageFilter.hxx:107: trailing whitespace.
+  {
include/rtkPILineImageFilter.hxx:108: trailing whitespace.
+    return SpaceDimension;
include/rtkPILineImageFilter.hxx:109: trailing whitespace.
+  }
include/rtkPILineImageFilter.hxx:110: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:111: trailing whitespace.
+private:
include/rtkPILineImageFilter.hxx:112: trailing whitespace.
+  double m_DistanceToOrigin;
include/rtkPILineImageFilter.hxx:113: trailing whitespace.
+  double m_Gamma;
include/rtkPILineImageFilter.hxx:114: trailing whitespace.
+  double m_HelixPitch;
include/rtkPILineImageFilter.hxx:115: trailing whitespace.
+  double m_HelixRadius;
include/rtkPILineImageFilter.hxx:116: trailing whitespace.
+  double m_AxialPosition;
include/rtkPILineImageFilter.hxx:117: trailing whitespace.
+};
include/rtkPILineImageFilter.hxx:118: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:119: trailing whitespace.
+PowellPILineCostFunction::PowellPILineCostFunction()
include/rtkPILineImageFilter.hxx:120: trailing whitespace.
+{
include/rtkPILineImageFilter.hxx:121: trailing whitespace.
+  // this->SetDistanceToOrigin(DistanceToOrigin);
include/rtkPILineImageFilter.hxx:122: trailing whitespace.
+  // this->SetGamma(Gamma);
include/rtkPILineImageFilter.hxx:123: trailing whitespace.
+  // this->SetHelixPitch(HelixPitch);
include/rtkPILineImageFilter.hxx:124: trailing whitespace.
+  // this->SetHelixRadius(HelixRadius);
include/rtkPILineImageFilter.hxx:125: trailing whitespace.
+  // this->SetAxialPosition(AxialPosition);
include/rtkPILineImageFilter.hxx:126: trailing whitespace.
+}
include/rtkPILineImageFilter.hxx:127: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:128: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkPILineImageFilter.hxx:129: trailing whitespace.
+void
include/rtkPILineImageFilter.hxx:130: trailing whitespace.
+PILineImageFilter<TInputImage, TOutputImage>::VerifyPreconditions() ITKv5_CONST
include/rtkPILineImageFilter.hxx:131: trailing whitespace.
+{
include/rtkPILineImageFilter.hxx:132: trailing whitespace.
+  this->Superclass::VerifyPreconditions();
include/rtkPILineImageFilter.hxx:133: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:134: trailing whitespace.
+  if (this->m_Geometry.IsNull() || !this->m_Geometry->GetTheGeometryIsVerified())
include/rtkPILineImageFilter.hxx:135: trailing whitespace.
+    itkExceptionMacro(<< "Geometry has not been set or not been verified");
include/rtkPILineImageFilter.hxx:136: trailing whitespace.
+}
include/rtkPILineImageFilter.hxx:137: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:138: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:139: trailing whitespace.
+template <class TInputImage, class TOutputImage>
include/rtkPILineImageFilter.hxx:140: trailing whitespace.
+void
include/rtkPILineImageFilter.hxx:141: trailing whitespace.
+PILineImageFilter<TInputImage, TOutputImage>::DynamicThreadedGenerateData(
include/rtkPILineImageFilter.hxx:142: trailing whitespace.
+  const OutputImageRegionType & outputRegionForThread)
include/rtkPILineImageFilter.hxx:143: trailing whitespace.
+{
include/rtkPILineImageFilter.hxx:144: trailing whitespace.
+  const unsigned int Dimension = TInputImage::ImageDimension;
include/rtkPILineImageFilter.hxx:145: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:146: trailing whitespace.
+  // Iterators
include/rtkPILineImageFilter.hxx:147: trailing whitespace.
+  OutputIteratorType itOut(this->GetOutput(), outputRegionForThread);
include/rtkPILineImageFilter.hxx:148: trailing whitespace.
+  InputIteratorType  itIn(this->GetInput(), outputRegionForThread);
include/rtkPILineImageFilter.hxx:149: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:150: trailing whitespace.
+  typename InputImageType::SpacingType spacing = this->GetInput()->GetSpacing();
include/rtkPILineImageFilter.hxx:151: trailing whitespace.
+  typename InputImageType::PointType   origin = this->GetInput()->GetOrigin();
include/rtkPILineImageFilter.hxx:152: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:153: trailing whitespace.
+  for (itOut.GoToBegin(), itIn.GoToBegin(); !itOut.IsAtEnd(); ++itOut, ++itIn)
include/rtkPILineImageFilter.hxx:154: trailing whitespace.
+  {
include/rtkPILineImageFilter.hxx:155: trailing whitespace.
+    OutputImageIndexType index = itOut.GetIndex();
include/rtkPILineImageFilter.hxx:156: trailing whitespace.
+    double               x = origin[0] + spacing[0] * index[0];
include/rtkPILineImageFilter.hxx:157: trailing whitespace.
+    double               y = origin[1] + spacing[1] * index[1];
include/rtkPILineImageFilter.hxx:158: trailing whitespace.
+    double               z = origin[2] + spacing[2] * index[2];
include/rtkPILineImageFilter.hxx:159: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:160: trailing whitespace.
+    double r = sqrt(pow(x, 2) + pow(z, 2));
include/rtkPILineImageFilter.hxx:161: trailing whitespace.
+    double gamma = atan2(x, z);
include/rtkPILineImageFilter.hxx:162: trailing whitespace.
+    double h = this->GetGeometry()->GetHelixPitch() / (2 * M_PI);
include/rtkPILineImageFilter.hxx:163: trailing whitespace.
+    double R = this->GetGeometry()->GetHelixRadius();
include/rtkPILineImageFilter.hxx:164: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:165: trailing whitespace.
+    using OptimizerType = itk::PowellOptimizer;
include/rtkPILineImageFilter.hxx:166: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:167: trailing whitespace.
+    // Declaration of an itkOptimizer
include/rtkPILineImageFilter.hxx:168: trailing whitespace.
+    OptimizerType::Pointer itkOptimizer = OptimizerType::New();
include/rtkPILineImageFilter.hxx:169: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:170: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:171: trailing whitespace.
+    // Declaration of the CostFunction
include/rtkPILineImageFilter.hxx:172: trailing whitespace.
+    PowellPILineCostFunction::Pointer cost_fun = PowellPILineCostFunction::New();
include/rtkPILineImageFilter.hxx:173: trailing whitespace.
+    cost_fun->SetDistanceToOrigin(r);
include/rtkPILineImageFilter.hxx:174: trailing whitespace.
+    cost_fun->SetGamma(gamma);
include/rtkPILineImageFilter.hxx:175: trailing whitespace.
+    cost_fun->SetHelixPitch(h);
include/rtkPILineImageFilter.hxx:176: trailing whitespace.
+    cost_fun->SetHelixRadius(R);
include/rtkPILineImageFilter.hxx:177: trailing whitespace.
+    cost_fun->SetAxialPosition(y);
include/rtkPILineImageFilter.hxx:178: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:179: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:180: trailing whitespace.
+    itkOptimizer->SetCostFunction(cost_fun);
include/rtkPILineImageFilter.hxx:181: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:182: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:183: trailing whitespace.
+    using ParametersType = PowellPILineCostFunction::ParametersType;
include/rtkPILineImageFilter.hxx:184: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:185: trailing whitespace.
+    // We start at 0
include/rtkPILineImageFilter.hxx:186: trailing whitespace.
+    ParametersType initialPosition(1); // 1D minimization
include/rtkPILineImageFilter.hxx:187: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:188: trailing whitespace.
+    initialPosition[0] = 0.;
include/rtkPILineImageFilter.hxx:189: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:190: trailing whitespace.
+    itkOptimizer->SetMaximize(false);
include/rtkPILineImageFilter.hxx:191: trailing whitespace.
+    itkOptimizer->SetStepLength(1);
include/rtkPILineImageFilter.hxx:192: trailing whitespace.
+    itkOptimizer->SetStepTolerance(0.001);
include/rtkPILineImageFilter.hxx:193: trailing whitespace.
+    itkOptimizer->SetValueTolerance(0.01);
include/rtkPILineImageFilter.hxx:194: trailing whitespace.
+    itkOptimizer->SetMaximumIteration(1000);
include/rtkPILineImageFilter.hxx:195: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:196: trailing whitespace.
+    itkOptimizer->SetInitialPosition(initialPosition);
include/rtkPILineImageFilter.hxx:197: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:198: trailing whitespace.
+    try
include/rtkPILineImageFilter.hxx:199: trailing whitespace.
+    {
include/rtkPILineImageFilter.hxx:200: trailing whitespace.
+      itkOptimizer->StartOptimization();
include/rtkPILineImageFilter.hxx:201: trailing whitespace.
+    }
include/rtkPILineImageFilter.hxx:202: trailing whitespace.
+    catch (const itk::ExceptionObject & e)
include/rtkPILineImageFilter.hxx:203: trailing whitespace.
+    {
include/rtkPILineImageFilter.hxx:204: trailing whitespace.
+      std::cout << "Exception thrown ! " << std::endl;
include/rtkPILineImageFilter.hxx:205: trailing whitespace.
+      std::cout << "An error occurred during Optimization" << std::endl;
include/rtkPILineImageFilter.hxx:206: trailing whitespace.
+      std::cout << "Location    = " << e.GetLocation() << std::endl;
include/rtkPILineImageFilter.hxx:207: trailing whitespace.
+      std::cout << "Description = " << e.GetDescription() << std::endl;
include/rtkPILineImageFilter.hxx:208: trailing whitespace.
+      // return EXIT_FAILURE;
include/rtkPILineImageFilter.hxx:209: trailing whitespace.
+    }
include/rtkPILineImageFilter.hxx:210: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:211: trailing whitespace.
+    double finalPosition = itkOptimizer->GetCurrentPosition()[0];
include/rtkPILineImageFilter.hxx:212: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:213: trailing whitespace.
+    // We set the two bounds of the PI Line
include/rtkPILineImageFilter.hxx:214: trailing whitespace.
+    using VectorType = itk::Vector<float, 2>;
include/rtkPILineImageFilter.hxx:215: trailing whitespace.
+    VectorType vector;
include/rtkPILineImageFilter.hxx:216: trailing whitespace.
+    // Lower bound
include/rtkPILineImageFilter.hxx:217: trailing whitespace.
+    vector[0] = finalPosition;
include/rtkPILineImageFilter.hxx:218: trailing whitespace.
+    // Upper bound
include/rtkPILineImageFilter.hxx:219: trailing whitespace.
+    double tmp = atan2(r * sin(gamma - finalPosition), R - r * cos(gamma - finalPosition));
include/rtkPILineImageFilter.hxx:220: trailing whitespace.
+    vector[1] = finalPosition + M_PI - 2 * tmp;
include/rtkPILineImageFilter.hxx:221: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:222: trailing whitespace.
+    itOut.Set(vector);
include/rtkPILineImageFilter.hxx:223: trailing whitespace.
+  }
include/rtkPILineImageFilter.hxx:224: trailing whitespace.
+}
include/rtkPILineImageFilter.hxx:225: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:226: trailing whitespace.
+} // end namespace rtk
include/rtkPILineImageFilter.hxx:227: trailing whitespace.
+
include/rtkPILineImageFilter.hxx:228: trailing whitespace.
+#endif


More information about the Rtk-users mailing list