Page MenuHomePhabricator

SegmentationObjectFactory.patch

Authored By
zelzer
Oct 1 2013, 6:49 PM
Size
3 KB
Referenced Files
None
Subscribers
None

SegmentationObjectFactory.patch

diff --git a/Modules/Segmentation/Algorithms/mitkSegmentationObjectFactory.cpp b/Modules/Segmentation/Algorithms/mitkSegmentationObjectFactory.cpp
index 17a24a6..c73783f 100644
--- a/Modules/Segmentation/Algorithms/mitkSegmentationObjectFactory.cpp
+++ b/Modules/Segmentation/Algorithms/mitkSegmentationObjectFactory.cpp
@@ -28,15 +28,6 @@ See LICENSE.txt or http://www.mitk.org for details.
#include "mitkContourVtkMapper3D.h"
-#include "mitkContourModel.h"
-#include "mitkContourModelIOFactory.h"
-#include "mitkContourModelWriterFactory.h"
-#include "mitkContourModelWriter.h"
-#include "mitkContourModelMapper2D.h"
-#include "mitkContourModelGLMapper2D.h"
-#include "mitkContourModelMapper3D.h"
-
-
mitk::SegmentationObjectFactory::SegmentationObjectFactory()
:CoreObjectFactoryBase()
{
@@ -45,7 +36,7 @@ mitk::SegmentationObjectFactory::SegmentationObjectFactory()
{
MITK_DEBUG << "SegmentationObjectFactory c'tor" << std::endl;
- RegisterIOFactories();
+ CreateFileExtensionsMap();
alreadyDone = true;
}
@@ -112,7 +103,7 @@ const char* mitk::SegmentationObjectFactory::GetFileExtensions()
std::string fileExtension;
this->CreateFileExtensions(m_FileExtensionsMap, fileExtension);
return fileExtension.c_str();
-};
+}
mitk::CoreObjectFactoryBase::MultimapType mitk::SegmentationObjectFactory::GetFileExtensionsMap()
{
@@ -138,23 +129,21 @@ const char* mitk::SegmentationObjectFactory::GetSaveFileExtensions()
void mitk::SegmentationObjectFactory::RegisterIOFactories()
{
- //register io classes of mitkContourModel
- mitk::ContourModelIOFactory::RegisterOneFactory();
-
- mitk::ContourModelWriterFactory::RegisterOneFactory();
-
- this->m_FileWriters.push_back(mitk::ContourModelWriter::New().GetPointer());
-
- CreateFileExtensionsMap();
}
-void RegisterSegmentationObjectFactory()
-{
- static bool oneSegmentationObjectFactoryRegistered = false;
- if ( ! oneSegmentationObjectFactoryRegistered )
+struct RegisterSegmentationObjectFactory{
+ RegisterSegmentationObjectFactory()
+ : m_Factory( mitk::SegmentationObjectFactory::New() )
{
- MITK_DEBUG << "Registering SegmentationObjectFactory..." << std::endl;
- mitk::CoreObjectFactory::GetInstance()->RegisterExtraFactory(mitk::SegmentationObjectFactory::New());
- oneSegmentationObjectFactoryRegistered = true;
+ mitk::CoreObjectFactory::GetInstance()->RegisterExtraFactory( m_Factory );
}
-}
+
+ ~RegisterSegmentationObjectFactory()
+ {
+ mitk::CoreObjectFactory::GetInstance()->UnRegisterExtraFactory( m_Factory );
+ }
+
+ mitk::SegmentationObjectFactory::Pointer m_Factory;
+};
+
+static RegisterSegmentationObjectFactory registerSegmentationObjectFactory;
diff --git a/Modules/Segmentation/Algorithms/mitkSegmentationObjectFactory.h b/Modules/Segmentation/Algorithms/mitkSegmentationObjectFactory.h
index 3b779d1..40512fb 100644
--- a/Modules/Segmentation/Algorithms/mitkSegmentationObjectFactory.h
+++ b/Modules/Segmentation/Algorithms/mitkSegmentationObjectFactory.h
@@ -42,9 +42,5 @@ namespace mitk {
};
}
-// global declaration for simple call by
-// applications
-void Segmentation_EXPORT RegisterSegmentationObjectFactory();
#endif
-
diff --git a/Plugins/org.mitk.gui.qt.segmentation/src/internal/QmitkSegmentationView.cpp b/Plugins/org.mitk.gui.qt.segmentation/src/internal/QmitkSegmentationView.cpp
index 3165e01..b72db8c 100644
--- a/Plugins/org.mitk.gui.qt.segmentation/src/internal/QmitkSegmentationView.cpp
+++ b/Plugins/org.mitk.gui.qt.segmentation/src/internal/QmitkSegmentationView.cpp
@@ -54,7 +54,6 @@ QmitkSegmentationView::QmitkSegmentationView()
,m_DataSelectionChanged(false)
,m_MouseCursorSet(false)
{
- RegisterSegmentationObjectFactory();
mitk::NodePredicateDataType::Pointer isDwi = mitk::NodePredicateDataType::New("DiffusionImage");
mitk::NodePredicateDataType::Pointer isDti = mitk::NodePredicateDataType::New("TensorImage");
mitk::NodePredicateDataType::Pointer isQbi = mitk::NodePredicateDataType::New("QBallImage");

File Metadata

Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1026
Default Alt Text
SegmentationObjectFactory.patch (3 KB)

Event Timeline

Fix SegmentationObjectFactory