00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __freImageRegistrationControllerBase_h
00023 #define __freImageRegistrationControllerBase_h
00024
00025 #include "freRegistrationProcessorControllerBase.h"
00026
00027 namespace FREE
00028 {
00039 freControllerIDMacro(ImageRegistrationControllerBase, "ImageRegistrationProcessorBase");
00040 template <class TControlledProcessor>
00041 class ImageRegistrationControllerBase : public RegistrationProcessorControllerBase<TControlledProcessor>
00042 {
00043 public:
00044
00045 itkTypeMacro(ImageRegistrationControllerBase, RegistrationProcessorControllerBase);
00046
00047 DeclareMediaIDMacro(fixedImage);
00048 DeclareMediaIDMacro(movingImage);
00049
00050 typedef RegistrationProcessorControllerBase<TControlledProcessor> Superclass;
00051 typedef typename Superclass::ComponentType ComponentType;
00052 typedef typename Superclass::GenericComponentType GenericComponentType;
00053 typedef typename Superclass::GenericComponentPointer GenericComponentPointer;
00054 typedef typename Superclass::GenericMediaPointer GenericMediaPointer;
00055
00056 protected:
00057 ImageRegistrationControllerBase();
00058
00059 virtual void GenerateProfile(CtrlProfile::ControllerProfile& profile,
00060 const SessionComponentCache* pComponentCache,
00061 bool bRegardOldSetup) const;
00062
00063 virtual GenericMediaPointer GetMediaCasted(const MediaID& mediaID,
00064 ComponentType* pComponent,
00065 SessionComponentCache* pComponentCache,
00066 SessionInfo* pSessionInfo) const;
00067
00068 virtual void SetMediaCasted(const MediaID& mediaID,
00069 GenericMediaType* pMedia,
00070 ComponentType* pComponent,
00071 SessionComponentCache* pComponentCache,
00072 SessionInfo* pSessionInfo) const;
00073 };
00074
00075 }
00076
00077 #ifndef ITK_MANUAL_INSTANTIATION
00078 #include "freImageRegistrationControllerBase.txx"
00079 #endif
00080
00081 #endif