Modules cannot properly register their file readers and writers in order to provide their on file format. CoreObjectFactory should provide a mechanism to register factories.
Description
Status | Assigned | Task | ||
---|---|---|---|---|
Resolved | None | T2107 Public Diffusion Module | ||
Resolved | None | T2494 META: Create usable end-user application / demo (3M3) | ||
Resolved | None | T2774 Neuro module for 3M-3 | ||
Duplicate | None | T2899 Add extensions *.qbi, dwi and dti to Open Dialog | ||
Resolved | None | T2648 Extending the MITK Factory Mechanism | ||
Resolved | None | T2970 Reinit nach import der dicom daten | ||
Restricted Maniphest Task | ||||
Resolved | None | T2926 ScaleBy principal curvature crashes | ||
Restricted Maniphest Task | ||||
Resolved | None | T3095 Klaus' Neuro module can not reconstruct q balls using the actual installer version | ||
Resolved | None | T2903 Descripion of reconstruction methods | ||
Resolved | None | T2902 Custom Property Editor for Controlling ODF-Visualization | ||
Resolved | None | T2969 DicomImport statusbar support verbessern | ||
Wontfix | None | T2968 DicomImport Open dialog ist anderers als MITK open dialog |
Event Timeline
Ok, after some discussions we agreed we use this as a first fix, rework of factory mechanism well be resolved in a new T2807. But can you please create a test in your module that checks whether your factory is successfully registered and used?
Currently the SB-factory is not aware of the filenames that were registered to CoreObjectFactory.
[SVN revision 20071]
FIX (#2648): The mitk::CoreObjectFactory now provides a method RegisterExtraFactory() to register addtional factories. These are stored in a list member variable and queried when SetDefaultProperties(), CreateMapper(), GetFileExtensions(), GetSaveFileExtensions() or GetFileWriters() is called. All filewriters that belong to the extra factories need to be appended to m_FileWriters, a new member of the base class CoreObjectFactoryBase. Complete rework of factory mechanism is planned in T2807.