Loading...
Searching...
No Matches
itkGPUBSplineBaseTransform.h
Go to the documentation of this file.
/*=========================================================================
*
* Copyright UMC Utrecht and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/
#ifndef itkGPUBSplineBaseTransform_h
#define itkGPUBSplineBaseTransform_h
#include "itkGPUDataManager.h"
#include "itkGPUImage.h"
#include "itkGPUTransformBase.h"
namespace itk
{
itkGPUKernelClassMacro(GPUBSplineTransformKernel);
template <typename TScalarType = float, unsigned int NDimensions = 3>
class ITK_TEMPLATE_EXPORT GPUBSplineBaseTransform : public GPUTransformBase
{
public:
using Self = GPUBSplineBaseTransform;
itkTypeMacro(GPUBSplineBaseTransform, GPUTransformBase);
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions);
itkGetConstMacro(SplineOrder, unsigned int);
using GPUCoefficientImageType = GPUImage<TScalarType, NDimensions>;
using GPUCoefficientImagePointer = typename GPUCoefficientImageType::Pointer;
using GPUDataManagerPointer = typename GPUDataManager::Pointer;
using GPUCoefficientImageArray = FixedArray<GPUCoefficientImagePointer, NDimensions>;
using GPUCoefficientImageBaseArray = FixedArray<GPUDataManagerPointer, NDimensions>;
bool
IsBSplineTransform() const override
{
return true;
}
const GPUCoefficientImageArray
GetGPUCoefficientImages() const;
const GPUCoefficientImageBaseArray
GetGPUCoefficientImagesBases() const;
protected:
virtual void
SetSplineOrder(const unsigned int splineOrder);
GPUBSplineBaseTransform();
~GPUBSplineBaseTransform() override = default;
bool
GetSourceCode(std::string & source) const override;
GPUCoefficientImageArray m_GPUBSplineTransformCoefficientImages{};
GPUCoefficientImageBaseArray m_GPUBSplineTransformCoefficientImagesBase{};
private:
GPUBSplineBaseTransform(const Self & other) = delete;
const Self &
operator=(const Self &) = delete;
std::vector<std::string> m_Sources{};
// User specified spline order (3rd or cubic is the default)
unsigned int m_SplineOrder{};
};
} // end namespace itk
#ifndef ITK_MANUAL_INSTANTIATION
# include "itkGPUBSplineBaseTransform.hxx"
#endif
#endif /* itkGPUBSplineBaseTransform_h */
itk::GPUBSplineBaseTransform< TScalarType, NDimensions >::m_GPUBSplineTransformCoefficientImages
GPUCoefficientImageArray m_GPUBSplineTransformCoefficientImages
Definition itkGPUBSplineBaseTransform.h:98
itk::GPUBSplineBaseTransform::IsBSplineTransform
bool IsBSplineTransform() const override
Definition itkGPUBSplineBaseTransform.h:67
itk::GPUBSplineBaseTransform::GetGPUCoefficientImages
const GPUCoefficientImageArray GetGPUCoefficientImages() const
itk::GPUBSplineBaseTransform::GPUBSplineBaseTransform
GPUBSplineBaseTransform()
itk::GPUBSplineBaseTransform< TScalarType, NDimensions >::GPUDataManagerPointer
typename GPUDataManager::Pointer GPUDataManagerPointer
Definition itkGPUBSplineBaseTransform.h:60
itk::GPUBSplineBaseTransform< TScalarType, NDimensions >::GPUCoefficientImagePointer
typename GPUCoefficientImageType::Pointer GPUCoefficientImagePointer
Definition itkGPUBSplineBaseTransform.h:59
itk::GPUBSplineBaseTransform< TScalarType, NDimensions >::Self
GPUBSplineBaseTransform Self
Definition itkGPUBSplineBaseTransform.h:46
itk::GPUBSplineBaseTransform::operator=
const Self & operator=(const Self &)=delete
itk::GPUBSplineBaseTransform< TScalarType, NDimensions >::m_Sources
std::vector< std::string > m_Sources
Definition itkGPUBSplineBaseTransform.h:106
itk::GPUBSplineBaseTransform< TScalarType, NDimensions >::GPUCoefficientImageBaseArray
FixedArray< GPUDataManagerPointer, NDimensions > GPUCoefficientImageBaseArray
Definition itkGPUBSplineBaseTransform.h:63
itk::GPUBSplineBaseTransform< TScalarType, NDimensions >::m_GPUBSplineTransformCoefficientImagesBase
GPUCoefficientImageBaseArray m_GPUBSplineTransformCoefficientImagesBase
Definition itkGPUBSplineBaseTransform.h:99
itk::GPUBSplineBaseTransform::GetSourceCode
bool GetSourceCode(std::string &source) const override
itk::GPUBSplineBaseTransform::SetSplineOrder
virtual void SetSplineOrder(const unsigned int splineOrder)
itk::GPUBSplineBaseTransform< TScalarType, NDimensions >::m_SplineOrder
unsigned int m_SplineOrder
Definition itkGPUBSplineBaseTransform.h:109
itk::GPUBSplineBaseTransform< TScalarType, NDimensions >::GPUCoefficientImageArray
FixedArray< GPUCoefficientImagePointer, NDimensions > GPUCoefficientImageArray
Definition itkGPUBSplineBaseTransform.h:62
itk::GPUBSplineBaseTransform::GetGPUCoefficientImagesBases
const GPUCoefficientImageBaseArray GetGPUCoefficientImagesBases() const
itk::GPUBSplineBaseTransform< TScalarType, NDimensions >::GPUCoefficientImageType
GPUImage< TScalarType, NDimensions > GPUCoefficientImageType
Definition itkGPUBSplineBaseTransform.h:58
itk::GPUBSplineBaseTransform::~GPUBSplineBaseTransform
~GPUBSplineBaseTransform() override=default
itk::GPUBSplineBaseTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions)
itk::GPUBSplineBaseTransform::GPUBSplineBaseTransform
GPUBSplineBaseTransform(const Self &other)=delete
itk::GPUDataManager::Pointer
SmartPointer< Self > Pointer
Definition itkGPUDataManager.h:74
itk::GPUImage
Templated n-dimensional image class for the GPU.
Definition itkGPUImage.h:64
itk::GPUImage< TScalarType, NDimensions >::Pointer
SmartPointer< Self > Pointer
Definition itkGPUImage.h:70
itk::GPUTransformBase::GPUTransformBase
GPUTransformBase()
itkGPUDataManager.h
itkGPUImage.h
itkGPUTransformBase.h
itk
Definition itkAdvancedImageToImageMetric.h:43
itk::itkGPUKernelClassMacro
itkGPUKernelClassMacro(GPUBSplineTransformKernel)

Generated on 1768596610 for elastix by 1.15.0 |