Loading...
Searching...
No Matches
itkGPUMatrixOffsetTransformBase.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 itkGPUMatrixOffsetTransformBase_h
#define itkGPUMatrixOffsetTransformBase_h
#include "itkGPUTransformBase.h"
#include "itkMatrix.h"
namespace itk
{
itkGPUKernelClassMacro(GPUMatrixOffsetTransformBaseKernel);
template <typename TScalarType = float, // Data type for scalars
unsigned int NInputDimensions = 3, // Number of dimensions in the input space
unsigned int NOutputDimensions = 3>
// Number of dimensions in the output space
class ITK_EXPORT GPUMatrixOffsetTransformBase : public GPUTransformBase
{
public:
using Self = GPUMatrixOffsetTransformBase;
using GPUSuperclass = GPUTransformBase;
itkTypeMacro(GPUMatrixOffsetTransformBase, GPUSuperclass);
bool
IsMatrixOffsetTransform() const override
{
return true;
}
using ScalarType = TScalarType;
itkStaticConstMacro(InputSpaceDimension, unsigned int, NInputDimensions);
itkStaticConstMacro(OutputSpaceDimension, unsigned int, NOutputDimensions);
itkStaticConstMacro(ParametersDimension, unsigned int, NOutputDimensions *(NInputDimensions + 1));
using CPUMatrixType = Matrix<TScalarType, Self::OutputSpaceDimension, Self::InputSpaceDimension>;
using CPUInverseMatrixType = Matrix<TScalarType, Self::InputSpaceDimension, Self::OutputSpaceDimension>;
using CPUOutputVectorType = Vector<TScalarType, Self::OutputSpaceDimension>;
virtual const CPUMatrixType &
GetCPUMatrix() const = 0;
virtual const CPUOutputVectorType &
GetCPUOffset() const = 0;
protected:
GPUMatrixOffsetTransformBase();
~GPUMatrixOffsetTransformBase() override = default;
bool
GetSourceCode(std::string & source) const override;
GPUDataManager::Pointer
GetParametersDataManager() const override;
private:
GPUMatrixOffsetTransformBase(const Self & other) = delete;
const Self &
operator=(const Self &) = delete;
std::vector<std::string> m_Sources{};
};
} // end namespace itk
#ifndef ITK_MANUAL_INSTANTIATION
# include "itkGPUMatrixOffsetTransformBase.hxx"
#endif
#endif /* itkGPUMatrixOffsetTransformBase_h */
TScalarType
float
itk::GPUDataManager::Pointer
SmartPointer< Self > Pointer
Definition itkGPUDataManager.h:74
itk::GPUMatrixOffsetTransformBase::GetCPUMatrix
virtual const CPUMatrixType & GetCPUMatrix() const =0
itk::GPUMatrixOffsetTransformBase::itkStaticConstMacro
itkStaticConstMacro(InputSpaceDimension, unsigned int, NInputDimensions)
itk::GPUMatrixOffsetTransformBase::operator=
const Self & operator=(const Self &)=delete
itk::GPUMatrixOffsetTransformBase::~GPUMatrixOffsetTransformBase
~GPUMatrixOffsetTransformBase() override=default
itk::GPUMatrixOffsetTransformBase< TScalarType, 2, 2 >::Self
GPUMatrixOffsetTransformBase Self
Definition itkGPUMatrixOffsetTransformBase.h:48
itk::GPUMatrixOffsetTransformBase< TScalarType, 2, 2 >::CPUInverseMatrixType
Matrix< TScalarType, Self::InputSpaceDimension, Self::OutputSpaceDimension > CPUInverseMatrixType
Definition itkGPUMatrixOffsetTransformBase.h:71
itk::GPUMatrixOffsetTransformBase::GPUMatrixOffsetTransformBase
GPUMatrixOffsetTransformBase()
itk::GPUMatrixOffsetTransformBase::itkStaticConstMacro
itkStaticConstMacro(ParametersDimension, unsigned int, NOutputDimensions *(NInputDimensions+1))
itk::GPUMatrixOffsetTransformBase::GetSourceCode
bool GetSourceCode(std::string &source) const override
itk::GPUMatrixOffsetTransformBase< TScalarType, 2, 2 >::GPUSuperclass
GPUTransformBase GPUSuperclass
Definition itkGPUMatrixOffsetTransformBase.h:49
itk::GPUMatrixOffsetTransformBase< TScalarType, 2, 2 >::CPUMatrixType
Matrix< TScalarType, Self::OutputSpaceDimension, Self::InputSpaceDimension > CPUMatrixType
Definition itkGPUMatrixOffsetTransformBase.h:70
itk::GPUMatrixOffsetTransformBase::itkStaticConstMacro
itkStaticConstMacro(OutputSpaceDimension, unsigned int, NOutputDimensions)
itk::GPUMatrixOffsetTransformBase< TScalarType, 2, 2 >::ScalarType
TScalarType ScalarType
Definition itkGPUMatrixOffsetTransformBase.h:62
itk::GPUMatrixOffsetTransformBase< TScalarType, 2, 2 >::CPUOutputVectorType
Vector< TScalarType, Self::OutputSpaceDimension > CPUOutputVectorType
Definition itkGPUMatrixOffsetTransformBase.h:72
itk::GPUMatrixOffsetTransformBase< TScalarType, 2, 2 >::m_Sources
std::vector< std::string > m_Sources
Definition itkGPUMatrixOffsetTransformBase.h:100
itk::GPUMatrixOffsetTransformBase::GetParametersDataManager
GPUDataManager::Pointer GetParametersDataManager() const override
itk::GPUMatrixOffsetTransformBase::GetCPUOffset
virtual const CPUOutputVectorType & GetCPUOffset() const =0
itk::GPUMatrixOffsetTransformBase::IsMatrixOffsetTransform
bool IsMatrixOffsetTransform() const override
Definition itkGPUMatrixOffsetTransformBase.h:56
itk::GPUMatrixOffsetTransformBase::GPUMatrixOffsetTransformBase
GPUMatrixOffsetTransformBase(const Self &other)=delete
itk::GPUTransformBase::GPUTransformBase
GPUTransformBase()
itkGPUTransformBase.h
itk
Definition itkAdvancedImageToImageMetric.h:43
itk::itkGPUKernelClassMacro
itkGPUKernelClassMacro(GPUBSplineTransformKernel)

Generated on 1768596610 for elastix by 1.15.0 |