Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F1060
SegmentationObjectFactory.patch
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Authored By
zelzer
Oct 1 2013, 6:49 PM
2013-10-01 18:49:44 (UTC+2)
Size
3 KB
Referenced Files
None
Subscribers
None
SegmentationObjectFactory.patch
View Options
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
Details
Attached
Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1026
Default Alt Text
SegmentationObjectFactory.patch (3 KB)
Attached To
Mode
T16209: Static initialiser crash in various DLLs
Attached
Detach File
Event Timeline
zelzer
added a comment.
Oct 1 2013, 6:49 PM
2013-10-01 18:49:44 (UTC+2)
Comment Actions
Fix SegmentationObjectFactory
Log In to Comment