From lesaint.jerome at gmail.com Fri Mar 26 13:27:17 2021 From: lesaint.jerome at gmail.com (Jerome Lesaint) Date: Fri, 26 Mar 2021 18:27:17 +0100 Subject: [Rtk-users] Error message at commit time Message-ID: 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: -------------- 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 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 include/rtkFFTHilbertImageFilter.h:58: trailing whitespace. +class ITK_EXPORT FFTHilbertImageFilter include/rtkFFTHilbertImageFilter.h:59: trailing whitespace. + : public rtk::FFTProjectionsConvolutionImageFilter 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; include/rtkFFTHilbertImageFilter.h:67: trailing whitespace. + using Pointer = itk::SmartPointer; include/rtkFFTHilbertImageFilter.h:68: trailing whitespace. + using ConstPointer = itk::SmartPointer; 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 include/rtkFFTHilbertImageFilter.hxx:29: trailing whitespace. +void include/rtkFFTHilbertImageFilter.hxx:30: trailing whitespace. +FFTHilbertImageFilter::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 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; 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 include/rtkHilbertTransformOnKappaLinesImageFilter.h:27: trailing whitespace. + include/rtkHilbertTransformOnKappaLinesImageFilter.h:28: trailing whitespace. +#include 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 include/rtkHilbertTransformOnKappaLinesImageFilter.h:48: trailing whitespace. +class ITK_EXPORT HilbertTransformOnKappaLinesImageFilter : public itk::ImageToImageFilter 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; include/rtkHilbertTransformOnKappaLinesImageFilter.h:55: trailing whitespace. + using Pointer = itk::SmartPointer; include/rtkHilbertTransformOnKappaLinesImageFilter.h:56: trailing whitespace. + using ConstPointer = itk::SmartPointer; 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; include/rtkHilbertTransformOnKappaLinesImageFilter.h:80: trailing whitespace. + using FFTHilbertType = FFTHilbertImageFilter; include/rtkHilbertTransformOnKappaLinesImageFilter.h:81: trailing whitespace. + using BackwardBinningType = KatsevichBackwardBinningImageFilter; 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 include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:29: trailing whitespace. +void include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:30: trailing whitespace. +HilbertTransformOnKappaLinesImageFilter::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 include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:42: trailing whitespace. +HilbertTransformOnKappaLinesImageFilter::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 include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:52: trailing whitespace. +void include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:53: trailing whitespace. +HilbertTransformOnKappaLinesImageFilter::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(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 include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:67: trailing whitespace. +void include/rtkHilbertTransformOnKappaLinesImageFilter.hxx:68: trailing whitespace. +HilbertTransformOnKappaLinesImageFilter::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 include/rtkKatsevichBackProjectionImageFilter.h:23: trailing whitespace. + include/rtkKatsevichBackProjectionImageFilter.h:24: trailing whitespace. +#include include/rtkKatsevichBackProjectionImageFilter.h:25: trailing whitespace. +#include include/rtkKatsevichBackProjectionImageFilter.h:26: trailing whitespace. + include/rtkKatsevichBackProjectionImageFilter.h:27: trailing whitespace. +#include include/rtkKatsevichBackProjectionImageFilter.h:28: trailing whitespace. +#include include/rtkKatsevichBackProjectionImageFilter.h:29: trailing whitespace. + include/rtkKatsevichBackProjectionImageFilter.h:30: trailing whitespace. +#include include/rtkKatsevichBackProjectionImageFilter.h:31: trailing whitespace. +#include 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 include/rtkKatsevichBackProjectionImageFilter.h:51: trailing whitespace. +class KatsevichBackProjectionImageFilter : public itk::InPlaceImageFilter 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; include/rtkKatsevichBackProjectionImageFilter.h:59: trailing whitespace. + using Pointer = itk::SmartPointer; include/rtkKatsevichBackProjectionImageFilter.h:60: trailing whitespace. + using ConstPointer = itk::SmartPointer; 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; 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, TInputImage::ImageDimension>; include/rtkKatsevichBackProjectionImageFilter.h:73: trailing whitespace. + using PILineImagePointer = typename PILineImageType::Pointer; include/rtkKatsevichBackProjectionImageFilter.h:74: trailing whitespace. + using PILineImageFilterType = PILineImageFilter; 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 & 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 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 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 include/rtkKatsevichBackProjectionImageFilter.hxx:27: trailing whitespace. + include/rtkKatsevichBackProjectionImageFilter.hxx:28: trailing whitespace. +#include include/rtkKatsevichBackProjectionImageFilter.hxx:29: trailing whitespace. +#include include/rtkKatsevichBackProjectionImageFilter.hxx:30: trailing whitespace. +#include include/rtkKatsevichBackProjectionImageFilter.hxx:31: trailing whitespace. +#include 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 include/rtkKatsevichBackProjectionImageFilter.hxx:38: trailing whitespace. +KatsevichBackProjectionImageFilter::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 include/rtkKatsevichBackProjectionImageFilter.hxx:48: trailing whitespace. +// void include/rtkKatsevichBackProjectionImageFilter.hxx:49: trailing whitespace. +// KatsevichBackProjectionImageFilter::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(image)); include/rtkKatsevichBackProjectionImageFilter.hxx:53: trailing whitespace. +//} include/rtkKatsevichBackProjectionImageFilter.hxx:54: trailing whitespace. +// include/rtkKatsevichBackProjectionImageFilter.hxx:55: trailing whitespace. +// template include/rtkKatsevichBackProjectionImageFilter.hxx:56: trailing whitespace. +// const typename KatsevichBackProjectionImageFilter::PILineImageType * include/rtkKatsevichBackProjectionImageFilter.hxx:57: trailing whitespace. +// KatsevichBackProjectionImageFilter::GetPILines() const include/rtkKatsevichBackProjectionImageFilter.hxx:58: trailing whitespace. +//{ include/rtkKatsevichBackProjectionImageFilter.hxx:59: trailing whitespace. +// return itkDynamicCastInDebugMode(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 include/rtkKatsevichBackProjectionImageFilter.hxx:64: trailing whitespace. +void include/rtkKatsevichBackProjectionImageFilter.hxx:65: trailing whitespace. +KatsevichBackProjectionImageFilter::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(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(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 cornerInf; include/rtkKatsevichBackProjectionImageFilter.hxx:98: trailing whitespace. + itk::ContinuousIndex cornerSup; include/rtkKatsevichBackProjectionImageFilter.hxx:99: trailing whitespace. + cornerInf[0] = itk::NumericTraits::max(); include/rtkKatsevichBackProjectionImageFilter.hxx:100: trailing whitespace. + cornerSup[0] = itk::NumericTraits::NonpositiveMin(); include/rtkKatsevichBackProjectionImageFilter.hxx:101: trailing whitespace. + cornerInf[1] = itk::NumericTraits::max(); include/rtkKatsevichBackProjectionImageFilter.hxx:102: trailing whitespace. + cornerSup[1] = itk::NumericTraits::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 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 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 include/rtkKatsevichBackProjectionImageFilter.hxx:192: trailing whitespace. +void include/rtkKatsevichBackProjectionImageFilter.hxx:193: trailing whitespace. +KatsevichBackProjectionImageFilter::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 include/rtkKatsevichBackProjectionImageFilter.hxx:203: trailing whitespace. +void include/rtkKatsevichBackProjectionImageFilter.hxx:204: trailing whitespace. +KatsevichBackProjectionImageFilter::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 include/rtkKatsevichBackProjectionImageFilter.hxx:232: trailing whitespace. +void include/rtkKatsevichBackProjectionImageFilter.hxx:233: trailing whitespace. +KatsevichBackProjectionImageFilter::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; 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; include/rtkKatsevichBackProjectionImageFilter.hxx:246: trailing whitespace. + using PILineIterator = itk::ImageRegionConstIterator; include/rtkKatsevichBackProjectionImageFilter.hxx:247: trailing whitespace. + using OutputRegionIterator = itk::ImageRegionIteratorWithIndex; 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 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(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 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 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 include/rtkKatsevichBackProjectionImageFilter.hxx:379: trailing whitespace. +void include/rtkKatsevichBackProjectionImageFilter.hxx:380: trailing whitespace. +KatsevichBackProjectionImageFilter::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 & 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; 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; 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; 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 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 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 include/rtkKatsevichBackProjectionImageFilter.hxx:493: trailing whitespace. +void include/rtkKatsevichBackProjectionImageFilter.hxx:494: trailing whitespace. +KatsevichBackProjectionImageFilter::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; 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::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 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 include/rtkKatsevichBackProjectionImageFilter.hxx:603: trailing whitespace. +void include/rtkKatsevichBackProjectionImageFilter.hxx:604: trailing whitespace. +KatsevichBackProjectionImageFilter::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; 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::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 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 include/rtkKatsevichBackProjectionImageFilter.hxx:719: trailing whitespace. +template include/rtkKatsevichBackProjectionImageFilter.hxx:720: trailing whitespace. +typename TProjectionImage::Pointer include/rtkKatsevichBackProjectionImageFilter.hxx:721: trailing whitespace. +KatsevichBackProjectionImageFilter::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(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 include/rtkKatsevichBackProjectionImageFilter.hxx:775: trailing whitespace. +typename KatsevichBackProjectionImageFilter::ProjectionMatrixType include/rtkKatsevichBackProjectionImageFilter.hxx:776: trailing whitespace. +KatsevichBackProjectionImageFilter::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 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 include/rtkKatsevichBackProjectionImageFilter.hxx:791: trailing whitespace. +typename KatsevichBackProjectionImageFilter::ProjectionMatrixType include/rtkKatsevichBackProjectionImageFilter.hxx:792: trailing whitespace. +KatsevichBackProjectionImageFilter::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 matrixVol = include/rtkKatsevichBackProjectionImageFilter.hxx:798: trailing whitespace. + GetIndexToPhysicalPointMatrix(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 include/rtkKatsevichBackProjectionImageFilter.hxx:806: trailing whitespace. +itk::Matrix include/rtkKatsevichBackProjectionImageFilter.hxx:807: trailing whitespace. +KatsevichBackProjectionImageFilter::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 matrixStackProj = include/rtkKatsevichBackProjectionImageFilter.hxx:813: trailing whitespace. + GetPhysicalPointToIndexMatrix(this->GetInput(1)); include/rtkKatsevichBackProjectionImageFilter.hxx:814: trailing whitespace. + include/rtkKatsevichBackProjectionImageFilter.hxx:815: trailing whitespace. + itk::Matrix 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 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( 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 include/rtkKatsevichBackwardBinningImageFilter.h:23: trailing whitespace. + include/rtkKatsevichBackwardBinningImageFilter.h:24: trailing whitespace. +#include include/rtkKatsevichBackwardBinningImageFilter.h:25: trailing whitespace. +#include include/rtkKatsevichBackwardBinningImageFilter.h:26: trailing whitespace. + include/rtkKatsevichBackwardBinningImageFilter.h:27: trailing whitespace. +#include include/rtkKatsevichBackwardBinningImageFilter.h:28: trailing whitespace. +#include include/rtkKatsevichBackwardBinningImageFilter.h:29: trailing whitespace. +#include "itkImageSliceIteratorWithIndex.h" include/rtkKatsevichBackwardBinningImageFilter.h:30: trailing whitespace. + include/rtkKatsevichBackwardBinningImageFilter.h:31: trailing whitespace. +#include include/rtkKatsevichBackwardBinningImageFilter.h:32: trailing whitespace. +#include 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 include/rtkKatsevichBackwardBinningImageFilter.h:52: trailing whitespace. +class KatsevichBackwardBinningImageFilter : public itk::ImageToImageFilter 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; include/rtkKatsevichBackwardBinningImageFilter.h:62: trailing whitespace. + using Pointer = itk::SmartPointer; include/rtkKatsevichBackwardBinningImageFilter.h:63: trailing whitespace. + using ConstPointer = itk::SmartPointer; 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; include/rtkKatsevichBackwardBinningImageFilter.h:74: trailing whitespace. + using OutputSliceIteratorType = itk::ImageSliceIteratorWithIndex; include/rtkKatsevichBackwardBinningImageFilter.h:75: trailing whitespace. + using ConstantImageType = rtk::ConstantImageSource; 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 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 include/rtkKatsevichBackwardBinningImageFilter.hxx:25: trailing whitespace. + include/rtkKatsevichBackwardBinningImageFilter.hxx:26: trailing whitespace. +#include include/rtkKatsevichBackwardBinningImageFilter.hxx:27: trailing whitespace. + include/rtkKatsevichBackwardBinningImageFilter.hxx:28: trailing whitespace. +#include include/rtkKatsevichBackwardBinningImageFilter.hxx:29: trailing whitespace. +#include include/rtkKatsevichBackwardBinningImageFilter.hxx:30: trailing whitespace. +#include include/rtkKatsevichBackwardBinningImageFilter.hxx:31: trailing whitespace. +#include 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 include/rtkKatsevichBackwardBinningImageFilter.hxx:37: trailing whitespace. +void include/rtkKatsevichBackwardBinningImageFilter.hxx:38: trailing whitespace. +KatsevichBackwardBinningImageFilter::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(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: "<GetInput()->GetLargestPossibleRegion().GetSize()<GetInput()->GetSpacing()<GetInput()->GetOrigin()<GetLargest = inputPtr0->GetRequested before assignment. include/rtkKatsevichBackwardBinningImageFilter.hxx:56: trailing whitespace. + include/rtkKatsevichBackwardBinningImageFilter.hxx:57: trailing whitespace. +template include/rtkKatsevichBackwardBinningImageFilter.hxx:58: trailing whitespace. +void include/rtkKatsevichBackwardBinningImageFilter.hxx:59: trailing whitespace. +KatsevichBackwardBinningImageFilter::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 include/rtkKatsevichBackwardBinningImageFilter.hxx:102: trailing whitespace. +void include/rtkKatsevichBackwardBinningImageFilter.hxx:103: trailing whitespace. +KatsevichBackwardBinningImageFilter::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 include/rtkKatsevichBackwardBinningImageFilter.hxx:113: trailing whitespace. +void include/rtkKatsevichBackwardBinningImageFilter.hxx:114: trailing whitespace. +KatsevichBackwardBinningImageFilter::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 coeffs(det_nv, 0.); include/rtkKatsevichBackwardBinningImageFilter.hxx:181: trailing whitespace. + std::vector 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 include/rtkKatsevichDerivativeImageFilter.h:47: trailing whitespace. +class ITK_EXPORT KatsevichDerivativeImageFilter : public itk::ImageToImageFilter 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; include/rtkKatsevichDerivativeImageFilter.h:55: trailing whitespace. + using Pointer = itk::SmartPointer; include/rtkKatsevichDerivativeImageFilter.h:56: trailing whitespace. + using ConstPointer = itk::SmartPointer; 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; include/rtkKatsevichDerivativeImageFilter.h:73: trailing whitespace. + using IteratorType = itk::ImageRegionIterator; include/rtkKatsevichDerivativeImageFilter.h:74: trailing whitespace. + using SliceIteratorType = itk::ImageSliceIteratorWithIndex; 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 include/rtkKatsevichDerivativeImageFilter.hxx:37: trailing whitespace. +KatsevichDerivativeImageFilter::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 include/rtkKatsevichDerivativeImageFilter.hxx:46: trailing whitespace. +void include/rtkKatsevichDerivativeImageFilter.hxx:47: trailing whitespace. +KatsevichDerivativeImageFilter::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 include/rtkKatsevichDerivativeImageFilter.hxx:56: trailing whitespace. +void include/rtkKatsevichDerivativeImageFilter.hxx:57: trailing whitespace. +KatsevichDerivativeImageFilter::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 include/rtkKatsevichDerivativeImageFilter.hxx:109: trailing whitespace. +void include/rtkKatsevichDerivativeImageFilter.hxx:110: trailing whitespace. +KatsevichDerivativeImageFilter::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(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 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. + ///<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 include/rtkKatsevichDerivativeImageFilter.hxx:168: trailing whitespace. +void include/rtkKatsevichDerivativeImageFilter.hxx:169: trailing whitespace. +KatsevichDerivativeImageFilter::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 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 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 include/rtkKatsevichDerivativeImageFilter.hxx:310: trailing whitespace. +void include/rtkKatsevichDerivativeImageFilter.hxx:311: trailing whitespace. +KatsevichDerivativeImageFilter::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 include/rtkKatsevichForwardBinningImageFilter.h:23: trailing whitespace. + include/rtkKatsevichForwardBinningImageFilter.h:24: trailing whitespace. +#include include/rtkKatsevichForwardBinningImageFilter.h:25: trailing whitespace. +#include include/rtkKatsevichForwardBinningImageFilter.h:26: trailing whitespace. + include/rtkKatsevichForwardBinningImageFilter.h:27: trailing whitespace. +#include include/rtkKatsevichForwardBinningImageFilter.h:28: trailing whitespace. + include/rtkKatsevichForwardBinningImageFilter.h:29: trailing whitespace. +#include include/rtkKatsevichForwardBinningImageFilter.h:30: trailing whitespace. +#include 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 include/rtkKatsevichForwardBinningImageFilter.h:50: trailing whitespace. +class KatsevichForwardBinningImageFilter : public itk::ImageToImageFilter 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; include/rtkKatsevichForwardBinningImageFilter.h:60: trailing whitespace. + using Pointer = itk::SmartPointer; include/rtkKatsevichForwardBinningImageFilter.h:61: trailing whitespace. + using ConstPointer = itk::SmartPointer; 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; 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 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 include/rtkKatsevichForwardBinningImageFilter.hxx:25: trailing whitespace. + include/rtkKatsevichForwardBinningImageFilter.hxx:26: trailing whitespace. +#include include/rtkKatsevichForwardBinningImageFilter.hxx:27: trailing whitespace. +#include include/rtkKatsevichForwardBinningImageFilter.hxx:28: trailing whitespace. +#include include/rtkKatsevichForwardBinningImageFilter.hxx:29: trailing whitespace. +#include include/rtkKatsevichForwardBinningImageFilter.hxx:30: trailing whitespace. + include/rtkKatsevichForwardBinningImageFilter.hxx:31: trailing whitespace. +#include 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 include/rtkKatsevichForwardBinningImageFilter.hxx:37: trailing whitespace. +void include/rtkKatsevichForwardBinningImageFilter.hxx:38: trailing whitespace. +KatsevichForwardBinningImageFilter::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(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 include/rtkKatsevichForwardBinningImageFilter.hxx:51: trailing whitespace. +void include/rtkKatsevichForwardBinningImageFilter.hxx:52: trailing whitespace. +KatsevichForwardBinningImageFilter::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 include/rtkKatsevichForwardBinningImageFilter.hxx:124: trailing whitespace. +void include/rtkKatsevichForwardBinningImageFilter.hxx:125: trailing whitespace. +KatsevichForwardBinningImageFilter::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 include/rtkKatsevichForwardBinningImageFilter.hxx:135: trailing whitespace. +void include/rtkKatsevichForwardBinningImageFilter.hxx:136: trailing whitespace. +KatsevichForwardBinningImageFilter::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; 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; 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 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 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 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(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 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 include/rtkKatsevichForwardBinningImageFilter.hxx:295: trailing whitespace. +// template include/rtkKatsevichForwardBinningImageFilter.hxx:296: trailing whitespace. +// typename TProjectionImage::Pointer include/rtkKatsevichForwardBinningImageFilter.hxx:297: trailing whitespace. +// KatsevichForwardBinningImageFilter::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(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 include/rtkPILineImageFilter.h:23: trailing whitespace. + include/rtkPILineImageFilter.h:24: trailing whitespace. +#include include/rtkPILineImageFilter.h:25: trailing whitespace. +#include include/rtkPILineImageFilter.h:26: trailing whitespace. + include/rtkPILineImageFilter.h:27: trailing whitespace. +#include include/rtkPILineImageFilter.h:28: trailing whitespace. +#include include/rtkPILineImageFilter.h:29: trailing whitespace. +#include "itkImageRegionIteratorWithIndex.h" include/rtkPILineImageFilter.h:30: trailing whitespace. +#include include/rtkPILineImageFilter.h:31: trailing whitespace. + include/rtkPILineImageFilter.h:32: trailing whitespace. +#include include/rtkPILineImageFilter.h:33: trailing whitespace. +#include 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 include/rtkPILineImageFilter.h:51: trailing whitespace. +class PILineImageFilter : public itk::ImageToImageFilter 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; include/rtkPILineImageFilter.h:61: trailing whitespace. + using Pointer = itk::SmartPointer; include/rtkPILineImageFilter.h:62: trailing whitespace. + using ConstPointer = itk::SmartPointer; 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; include/rtkPILineImageFilter.h:73: trailing whitespace. + using OutputIteratorType = itk::ImageRegionIteratorWithIndex; include/rtkPILineImageFilter.h:74: trailing whitespace. + using ConstantImageType = rtk::ConstantImageSource; 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 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 include/rtkPILineImageFilter.hxx:25: trailing whitespace. + include/rtkPILineImageFilter.hxx:26: trailing whitespace. +#include include/rtkPILineImageFilter.hxx:27: trailing whitespace. + include/rtkPILineImageFilter.hxx:28: trailing whitespace. +#include include/rtkPILineImageFilter.hxx:29: trailing whitespace. +#include include/rtkPILineImageFilter.hxx:30: trailing whitespace. +#include include/rtkPILineImageFilter.hxx:31: trailing whitespace. +#include include/rtkPILineImageFilter.hxx:32: trailing whitespace. + include/rtkPILineImageFilter.hxx:33: trailing whitespace. +#include 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; include/rtkPILineImageFilter.hxx:46: trailing whitespace. + using ConstPointer = itk::SmartPointer; 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 include/rtkPILineImageFilter.hxx:129: trailing whitespace. +void include/rtkPILineImageFilter.hxx:130: trailing whitespace. +PILineImageFilter::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 include/rtkPILineImageFilter.hxx:140: trailing whitespace. +void include/rtkPILineImageFilter.hxx:141: trailing whitespace. +PILineImageFilter::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; 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 From simon.rit at creatis.insa-lyon.fr Fri Mar 26 18:45:10 2021 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 26 Mar 2021 23:45:10 +0100 Subject: [Rtk-users] Error message at commit time In-Reply-To: References: Message-ID: Hi, I just compared RTK's .gitattribute file and ITK's. Can you try removing ",uncrustify" from RTK .gitattribute file to see if that fixes the issue? Thanks, Simon On Fri, Mar 26, 2021 at 6:37 PM Jerome Lesaint wrote: > 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 > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > https://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shang_hj at hotmail.com Wed Mar 31 06:04:54 2021 From: shang_hj at hotmail.com (=?gb2312?B?ycwguuq93A==?=) Date: Wed, 31 Mar 2021 10:04:54 +0000 Subject: [Rtk-users] =?gb2312?b?Q29udmVydCBVR6GvcyBtb2RlbCB0byBwaGFudG9t?= Message-ID: Hello everyone, I want to know if it is possible to convert the model made by UG (Unigraphics NX) to phantom? -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Mar 31 06:07:31 2021 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 31 Mar 2021 12:07:31 +0200 Subject: [Rtk-users] =?utf-8?q?Convert_UG=E2=80=99s_model_to_phantom?= In-Reply-To: References: Message-ID: Hi, I don't know UG so probably not... Maybe you can share an example to show us what it contains? Simon On Wed, Mar 31, 2021 at 12:05 PM ? ?? wrote: > Hello everyone, I want to know if it is possible to convert the model made > by UG (Unigraphics NX) to phantom? > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > https://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: