freESStrategicParameters.h

Go to the documentation of this file.
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: freESStrategicParameters.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 __freESStrategicParameters_h
00023 #define __freESStrategicParameters_h
00024 
00025 #include "freESStrategicParameter.h"
00026 
00027 #include "itkVectorContainer.h"
00028 
00029 namespace FREE
00030 {
00031 
00032   namespace ES
00033   {
00037     template <class TSPValueType>
00038     class ITK_EXPORT StrategicParameters :
00039       public itk::VectorContainer< unsigned long, typename StrategicParameter<TSPValueType>::Pointer >
00040     {
00041     public:
00042       /* Standard class typedefs. */
00043       typedef StrategicParameters<TSPValueType> Self;
00044       typedef itk::VectorContainer< unsigned long, typename StrategicParameter<TSPValueType>::Pointer > Superclass;
00045       typedef itk::SmartPointer<Self> Pointer;
00046       typedef itk::SmartPointer<const Self> ConstPointer;
00047 
00048       /* Method for creation through the object factory. */
00049       itkNewMacro(Self);
00050 
00051       /* Run-time type information (and related methods). */
00052       itkTypeMacro(StrategicParameters, itk::VectorContainer);
00053 
00054       /* Other typedefs */
00055       typedef StrategicParameter<TSPValueType>                     StrategicParameterType;
00056       typedef typename StrategicParameterType::Pointer             StrategicParameterPointer;
00057       typedef typename StrategicParameterType::ParameterValueType  StrategicParameterValueType;
00058       typedef typename StrategicParameterType::OriginIDType        StrategicOriginIDType;
00059       typedef typename StrategicParameterType::HandlingType        StrategicParameterHandlingType;
00060       typedef std::vector<StrategicParameterPointer>               SelectedParametersType;
00061 
00062       typedef unsigned long ParameterIDType;
00063       typedef std::vector<ParameterIDType> ParameterIDsType;
00064 
00065       ParameterIDsType GetStrategicIDs (const StrategicOriginIDType& originID) const;
00066       ParameterIDsType GetStrategicIDs (const StrategicOriginIDType& originID,
00067                                         StrategicParameterHandlingType handling) const;
00068       ParameterIDsType GetStrategicIDs (StrategicParameterHandlingType handling) const;
00069 
00070       SelectedParametersType GetStrategicParameters (const StrategicOriginIDType& originID);
00071       SelectedParametersType GetStrategicParameters (const StrategicOriginIDType& originID, StrategicParameterHandlingType handling);
00072       SelectedParametersType GetStrategicParameters (StrategicParameterHandlingType handling);
00073 
00074       void DeleteSelectedStrategicParameters (const ParameterIDsType& ids);
00075 
00076       virtual Pointer Clone() const;
00077 
00078       void operator=(Self const& parameters);
00079 
00080     protected:
00083       StrategicParameters();
00084 
00085       virtual ~StrategicParameters(){};
00086 
00087       SelectedParametersType SelectStrategicParametersByID (const ParameterIDsType& ids);
00088 
00089       virtual void PrintSelf(std::ostream& os, itk::Indent indent) const;
00090 
00091     private:
00092       StrategicParameters(Self const&); // Purposely not implemented.
00093     };
00094 
00095   } //end namspsace ES
00096 } // end namespace FREE
00097 
00098 #ifndef ITK_MANUAL_INSTANTIATION
00099 #include "freESStrategicParameters.txx"
00100 #endif
00101 
00102 #endif // __freESStrategicParameterss_h

Generated at Sat Oct 13 15:53:48 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000