00001 /*========================================================================= 00002 00003 Program: F.R.E.E. - flexible registration evaluation engine 00004 Version: v.1.0.0 00005 Date: $Date: 2006/09/01 12:00:00 $ 00006 Module: $RCSfile: freITKTransformControllerInterface.h,v $ 00007 Language: C++ 00008 00009 00010 00011 Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics, 00012 Institute for Medical Biometry and Informatics, University of Heidelberg, 00013 Germany). All rights reserved. 00014 See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm 00015 for details. 00016 00017 This software is distributed WITHOUT ANY WARRANTY; without even 00018 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00019 PURPOSE. See the above copyright notices for more information. 00020 00021 =========================================================================*/ 00022 #ifndef __freITKTransformControllerInterface_h 00023 #define __freITKTransformControllerInterface_h 00024 00025 #include "freControllerInterface.h" 00026 #include "freTransformFunctionMedia.h" 00027 00028 #include "itkTransformBase.h" 00029 00030 namespace FREE 00031 { 00032 00038 template <class TScalarType, unsigned int NInputDimensions, unsigned int NOutputDimensions> 00039 class ITKTransformControllerInterface 00040 { 00041 public: 00042 typedef ComponentControllerInterface::GenericComponentType GenericComponentType; 00043 typedef ComponentControllerInterface::GenericComponentPointer GenericComponentPointer; 00044 00045 typedef TransformFunctionMedia< TScalarType, 00046 NInputDimensions, 00047 NOutputDimensions > TransformFunctionMediaType; 00048 typedef typename TransformFunctionMediaType::Pointer TransformFunctionMediaPointer; 00049 typedef typename itk::TransformBase::ParametersType TransformParametersType; 00050 00051 virtual const char *GetNameOfClass() const {return "ITKTransformControllerInterface";}; 00052 00057 virtual GenericComponentPointer BuildInverseTransform(GenericComponentType* pTransformComponent) const = 0; 00058 00066 virtual TransformFunctionMediaPointer GenerateTransformationFunction(SessionComponentCache* pTransformCache, 00067 const TransformParametersType& parameters) const = 0; 00068 00075 virtual TransformFunctionMediaPointer GenerateInverseTransformationFunction(SessionComponentCache* pTransformCache, 00076 const TransformParametersType& parameters) const = 0; 00077 00078 virtual ~ITKTransformControllerInterface() {}; 00079 }; 00080 00081 } //end of namespace free 00082 00083 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000