/*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: $RCSfile: SNAPRegistryIO.h,v $ Language: C++ Date: $Date: 2005/11/03 18:45:29 $ Version: $Revision: 1.5 $ Copyright (c) 2003 Insight 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 __SNAPRegistryIO_h_ #define __SNAPRegistryIO_h_ #include "GlobalState.h" #include "Registry.h" #include "SnakeParameters.h" #include "MeshOptions.h" #include "EdgePreprocessingSettings.h" #include "ThresholdSettings.h" #include "GuidedImageIO.h" #if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif class IRISApplication; class SNAPRegistryIO { public: SNAPRegistryIO(); virtual ~SNAPRegistryIO() {} /** Write settings associated with a greyscale image to a registry */ void WriteImageAssociatedSettings( IRISApplication *app, Registry ®istry); /** Read settings associated with a greyscale image and apply them to * the current application */ bool ReadImageAssociatedSettings( Registry ®istry, IRISApplication *app, bool restoreLabels, bool restorePreprocessing, bool restoreParameters, bool restoreDisplayOptions); /** Read snake parameters from a registry */ SnakeParameters ReadSnakeParameters( Registry ®istry,const SnakeParameters &defaultSet); /** Write snake parameters to a registry */ void WriteSnakeParameters( const SnakeParameters &in,Registry ®istry); /** Read mesh options from a registry */ MeshOptions ReadMeshOptions( Registry ®istry,const MeshOptions &defaultSet); /** Write mesh options to a registry */ void WriteMeshOptions( const MeshOptions &in,Registry ®istry); /** Read edge preprocessing settings from a registry */ EdgePreprocessingSettings ReadEdgePreprocessingSettings( Registry ®istry,const EdgePreprocessingSettings &defaultSet); /** Write edge preprocessing settings to a registry */ void WriteEdgePreprocessingSettings( const EdgePreprocessingSettings &in,Registry ®istry); /** Read threshold settings from a registry */ ThresholdSettings ReadThresholdSettings( Registry ®istry,const ThresholdSettings &defaultSet); /** Write threshold settings to a registry */ void WriteThresholdSettings( const ThresholdSettings &in,Registry ®istry); /** Read ROI settings from a registry */ SNAPSegmentationROISettings ReadSegmentationROISettings( Registry &folder, const SNAPSegmentationROISettings &defaultSet); /** Write ROI settings to a registry */ void WriteSegmentationROISettings( const SNAPSegmentationROISettings &in, Registry &folder); // Some enumeraticns used by this class RegistryEnumMap m_EnumMapCoverage; RegistryEnumMap m_EnumMapSolver; RegistryEnumMap m_EnumMapSnakeType; RegistryEnumMap m_EnumMapROI; }; #endif // __SNAPRegistryIO_h_