[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