Loading...
Searching...
No Matches
itkTransformToDeterminantOfSpatialJacobianSource.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.
*
*=========================================================================*/
/*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: $RCSfile: itkTransformToDeterminantOfSpatialJacobianSource.h,v $
Date: $Date: 2008-08-01 13:42:00 $
Version: $Revision: 1.3 $
Copyright (c) Insight Software Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef itkTransformToDeterminantOfSpatialJacobianSource_h
#define itkTransformToDeterminantOfSpatialJacobianSource_h
#include "itkAdvancedTransform.h"
#include "itkAdvancedIdentityTransform.h"
#include "itkImageSource.h"
namespace itk
{
template <class TOutputImage, class TTransformPrecisionType = double>
class ITK_TEMPLATE_EXPORT TransformToDeterminantOfSpatialJacobianSource : public ImageSource<TOutputImage>
{
public:
ITK_DISALLOW_COPY_AND_MOVE(TransformToDeterminantOfSpatialJacobianSource);
using Self = TransformToDeterminantOfSpatialJacobianSource;
using Superclass = ImageSource<TOutputImage>;
using Pointer = SmartPointer<Self>;
using ConstPointer = SmartPointer<const Self>;
using OutputImageType = TOutputImage;
using OutputImagePointer = typename OutputImageType::Pointer;
using OutputImageConstPointer = typename OutputImageType::ConstPointer;
using OutputImageRegionType = typename OutputImageType::RegionType;
itkNewMacro(Self);
itkTypeMacro(TransformToDeterminantOfSpatialJacobianSource, ImageSource);
itkStaticConstMacro(ImageDimension, unsigned int, TOutputImage::ImageDimension);
using TransformType = AdvancedTransform<TTransformPrecisionType, Self::ImageDimension, Self::ImageDimension>;
using TransformPointerType = typename TransformType::ConstPointer;
using SpatialJacobianType = typename TransformType::SpatialJacobianType;
using PixelType = typename OutputImageType::PixelType;
// typedef typename PixelType::ValueType PixelValueType;
using RegionType = typename OutputImageType::RegionType;
using SizeType = typename RegionType::SizeType;
using IndexType = typename OutputImageType::IndexType;
using PointType = typename OutputImageType::PointType;
using SpacingType = typename OutputImageType::SpacingType;
using OriginType = typename OutputImageType::PointType;
using DirectionType = typename OutputImageType::DirectionType;
using ImageBaseType = ImageBase<Self::ImageDimension>;
itkSetConstObjectMacro(Transform, TransformType);
itkGetConstObjectMacro(Transform, TransformType);
virtual void
SetOutputSize(const SizeType & size);
virtual const SizeType &
GetOutputSize();
virtual void
SetOutputIndex(const IndexType & index);
virtual const IndexType &
GetOutputIndex();
itkSetMacro(OutputRegion, OutputImageRegionType);
itkGetConstReferenceMacro(OutputRegion, OutputImageRegionType);
itkSetMacro(OutputSpacing, SpacingType);
virtual void
SetOutputSpacing(const double * values);
itkGetConstReferenceMacro(OutputSpacing, SpacingType);
itkSetMacro(OutputOrigin, OriginType);
virtual void
SetOutputOrigin(const double * values);
itkGetConstReferenceMacro(OutputOrigin, OriginType);
itkSetMacro(OutputDirection, DirectionType);
itkGetConstReferenceMacro(OutputDirection, DirectionType);
void
SetOutputParametersFromImage(const ImageBaseType * image);
void
GenerateOutputInformation() override;
void
BeforeThreadedGenerateData() override;
ModifiedTimeType
GetMTime() const override;
protected:
TransformToDeterminantOfSpatialJacobianSource();
~TransformToDeterminantOfSpatialJacobianSource() override = default;
void
PrintSelf(std::ostream & os, Indent indent) const override;
void
ThreadedGenerateData(const OutputImageRegionType & outputRegionForThread, ThreadIdType threadId) override;
void
NonlinearThreadedGenerateData(const OutputImageRegionType & outputRegionForThread, ThreadIdType threadId);
void
LinearGenerateData();
private:
RegionType m_OutputRegion{}; // region of the output image
TransformPointerType m_Transform{
AdvancedIdentityTransform<TTransformPrecisionType, ImageDimension>::New()
}; // Coordinate transform to use
SpacingType m_OutputSpacing{ 1.0 }; // output image spacing
OriginType m_OutputOrigin{}; // output image origin
DirectionType m_OutputDirection{ DirectionType::GetIdentity() }; // output image direction cosines
};
} // end namespace itk
#ifndef ITK_MANUAL_INSTANTIATION
# include "itkTransformToDeterminantOfSpatialJacobianSource.hxx"
#endif
#endif // end #ifndef itkTransformToDeterminantOfSpatialJacobianSource_h
itk::AdvancedIdentityTransform::New
static Pointer New()
itk::AdvancedTransform
Transform maps points, vectors and covariant vectors from an input space to an output space.
Definition itkAdvancedTransform.h:84
itk::AdvancedTransform< TTransformPrecisionType, Self::ImageDimension, Self::ImageDimension >::SpatialJacobianType
Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
Definition itkAdvancedTransform.h:134
itk::AdvancedTransform< TTransformPrecisionType, Self::ImageDimension, Self::ImageDimension >::ConstPointer
SmartPointer< const Self > ConstPointer
Definition itkAdvancedTransform.h:92
itk::TransformToDeterminantOfSpatialJacobianSource::TransformType
AdvancedTransform< TTransformPrecisionType, Self::ImageDimension, Self::ImageDimension > TransformType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:100
itk::TransformToDeterminantOfSpatialJacobianSource::OutputImagePointer
typename OutputImageType::Pointer OutputImagePointer
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:86
itk::TransformToDeterminantOfSpatialJacobianSource::GetOutputIndex
virtual const IndexType & GetOutputIndex()
itk::TransformToDeterminantOfSpatialJacobianSource::SetOutputSpacing
virtual void SetOutputSpacing(const double *values)
itk::TransformToDeterminantOfSpatialJacobianSource::Pointer
SmartPointer< Self > Pointer
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:82
itk::TransformToDeterminantOfSpatialJacobianSource::SetOutputIndex
virtual void SetOutputIndex(const IndexType &index)
itk::TransformToDeterminantOfSpatialJacobianSource::itkStaticConstMacro
itkStaticConstMacro(ImageDimension, unsigned int, TOutputImage::ImageDimension)
itk::TransformToDeterminantOfSpatialJacobianSource::m_OutputRegion
RegionType m_OutputRegion
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:216
itk::TransformToDeterminantOfSpatialJacobianSource::Superclass
ImageSource< TOutputImage > Superclass
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:81
itk::TransformToDeterminantOfSpatialJacobianSource::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const override
itk::TransformToDeterminantOfSpatialJacobianSource::SpacingType
typename OutputImageType::SpacingType SpacingType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:111
itk::TransformToDeterminantOfSpatialJacobianSource::ThreadedGenerateData
void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
itk::TransformToDeterminantOfSpatialJacobianSource::BeforeThreadedGenerateData
void BeforeThreadedGenerateData() override
itk::TransformToDeterminantOfSpatialJacobianSource::GenerateOutputInformation
void GenerateOutputInformation() override
itk::TransformToDeterminantOfSpatialJacobianSource::OutputImageRegionType
typename OutputImageType::RegionType OutputImageRegionType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:88
itk::TransformToDeterminantOfSpatialJacobianSource::LinearGenerateData
void LinearGenerateData()
itk::TransformToDeterminantOfSpatialJacobianSource::m_Transform
TransformPointerType m_Transform
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:217
itk::TransformToDeterminantOfSpatialJacobianSource::OriginType
typename OutputImageType::PointType OriginType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:112
itk::TransformToDeterminantOfSpatialJacobianSource::NonlinearThreadedGenerateData
void NonlinearThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
itk::TransformToDeterminantOfSpatialJacobianSource::RegionType
typename OutputImageType::RegionType RegionType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:107
itk::TransformToDeterminantOfSpatialJacobianSource::Self
TransformToDeterminantOfSpatialJacobianSource Self
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:80
itk::TransformToDeterminantOfSpatialJacobianSource::SizeType
typename RegionType::SizeType SizeType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:108
itk::TransformToDeterminantOfSpatialJacobianSource::~TransformToDeterminantOfSpatialJacobianSource
~TransformToDeterminantOfSpatialJacobianSource() override=default
itk::TransformToDeterminantOfSpatialJacobianSource::m_OutputDirection
DirectionType m_OutputDirection
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:222
itk::TransformToDeterminantOfSpatialJacobianSource::TransformPointerType
typename TransformType::ConstPointer TransformPointerType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:101
itk::TransformToDeterminantOfSpatialJacobianSource::TransformToDeterminantOfSpatialJacobianSource
TransformToDeterminantOfSpatialJacobianSource()
itk::TransformToDeterminantOfSpatialJacobianSource::IndexType
typename OutputImageType::IndexType IndexType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:109
itk::TransformToDeterminantOfSpatialJacobianSource::SetOutputOrigin
virtual void SetOutputOrigin(const double *values)
itk::TransformToDeterminantOfSpatialJacobianSource::GetMTime
ModifiedTimeType GetMTime() const override
itk::TransformToDeterminantOfSpatialJacobianSource::DirectionType
typename OutputImageType::DirectionType DirectionType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:113
itk::TransformToDeterminantOfSpatialJacobianSource::SetOutputSize
virtual void SetOutputSize(const SizeType &size)
itk::TransformToDeterminantOfSpatialJacobianSource::m_OutputSpacing
SpacingType m_OutputSpacing
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:220
itk::TransformToDeterminantOfSpatialJacobianSource::PointType
typename OutputImageType::PointType PointType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:110
itk::TransformToDeterminantOfSpatialJacobianSource::ImageBaseType
ImageBase< Self::ImageDimension > ImageBaseType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:116
itk::TransformToDeterminantOfSpatialJacobianSource::SpatialJacobianType
typename TransformType::SpatialJacobianType SpatialJacobianType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:102
itk::TransformToDeterminantOfSpatialJacobianSource::SetOutputParametersFromImage
void SetOutputParametersFromImage(const ImageBaseType *image)
itk::TransformToDeterminantOfSpatialJacobianSource::GetOutputSize
virtual const SizeType & GetOutputSize()
itk::TransformToDeterminantOfSpatialJacobianSource::OutputImageConstPointer
typename OutputImageType::ConstPointer OutputImageConstPointer
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:87
itk::TransformToDeterminantOfSpatialJacobianSource::m_OutputOrigin
OriginType m_OutputOrigin
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:221
itk::TransformToDeterminantOfSpatialJacobianSource::OutputImageType
TOutputImage OutputImageType
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:85
itk::TransformToDeterminantOfSpatialJacobianSource::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(TransformToDeterminantOfSpatialJacobianSource)
itk::TransformToDeterminantOfSpatialJacobianSource::ConstPointer
SmartPointer< const Self > ConstPointer
Definition itkTransformToDeterminantOfSpatialJacobianSource.h:83
itkAdvancedIdentityTransform.h
itkAdvancedTransform.h
itk
Definition itkAdvancedImageToImageMetric.h:43

Generated on 1768596610 for elastix by 1.15.0 |