00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2009-05-12 19:31:16 +0200 (Di, 12 Mai 2009) $ 00006 Version: $Revision: $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef _MITK_OdfScaleByProperty__H_ 00019 #define _MITK_OdfScaleByProperty__H_ 00020 00021 #include "MitkDiffusionImagingExports.h" 00022 #include "mitkEnumerationProperty.h" 00023 00024 namespace mitk 00025 { 00026 00027 enum OdfScaleBy 00028 { 00029 ODFSB_NONE, 00030 ODFSB_GFA, 00031 ODFSB_PC 00032 }; 00033 00039 class MitkDiffusionImaging_EXPORT OdfScaleByProperty : public EnumerationProperty 00040 { 00041 public: 00042 00043 mitkClassMacro( OdfScaleByProperty, EnumerationProperty ); 00044 itkNewMacro(OdfScaleByProperty); 00045 00046 mitkNewMacro1Param(OdfScaleByProperty, const IdType&); 00047 00048 mitkNewMacro1Param(OdfScaleByProperty, const std::string&); 00049 00053 virtual int GetScaleBy(); 00054 00055 virtual void SetScaleByNothing(); 00056 virtual void SetScaleByGFA(); 00057 virtual void SetScaleByPrincipalCurvature(); 00058 00059 protected: 00060 00063 OdfScaleByProperty( ); 00064 00068 OdfScaleByProperty( const IdType& value ); 00069 00073 OdfScaleByProperty( const std::string& value ); 00074 00079 virtual bool AddEnum( const std::string& name, const IdType& id ); 00080 00085 virtual void AddInterpolationTypes(); 00086 }; 00087 00088 } // end of namespace mitk 00089 00090 #endif 00091 00092