The segmentation (i.e. the plugin and all the segmentation tools) should be migrated to use the new mitkLabelSetImage.
Description
Status | Assigned | Task | ||
---|---|---|---|---|
Wontfix | kislinsk | T14943 Update Interaction implementation of Segmentation module to current version | ||
Resolved | None | T15696 implement a multi-label segmentation functionality | ||
Resolved | • fetzer | T18647 Create a plugin for the multilabel segmentation | ||
Resolved | None | T18646 Migrate segmentation to new multilabel data structure |
Event Timeline
User wirkert has pushed new remote branch:
bug-18646-integrate_Sebastian_Ordas_multilabel_plugin
Asking for Core-Modification flag:
Relevant branch is: bug-18646-labelset-image-for-segmentation
Affected class: mitkSurfaceToImageFilter
The following changes had been done:
Added boolean flag which allows to switch between two different output image pixel types (unsigned char, unsigned short) if MakeOutputBinary is on.
How to get tested:
Enhanced related mitkSurfaceToImageFilterTest
In mitk::SurfaceToImageFilter::GenerateOutputInformation() and even more noticing in void mitk::SurfaceToImageFilter::Stencil3DImage(int time) you should really use curly braces for if/else blocks. Especially in the latter case:
if (foo) <---
if(bar) { baz; } else <--- foo;
else
{
}
Optional: Furthermore I would prefer the template solution which would even result in less code as you wouldn't need any if/else-blocks to distinguish between the types. Probably it would boil down to add "template<typename T = unsigned char>" to the class declaration and to replace all according unsigned chars by T. You even would delete the getter and setter functions for UShortBinaryPixelType resulting in a total addition of just one line of code, no explicit multiple code paths and the possibility to use even other pixel types later.
[da6e34]: Merge branch 'bug-18646-labelset-image-for-segmentation'
Merged commits:
2015-08-12 16:25:37 Andreas Fetzer [ed8733]
Removed unused variable
2015-08-12 13:59:15 Andreas Fetzer [189e79]
Fixed tool interaction test
The pixel type of a segmentation has changed from unsigned char to unsigned
short.
Updated MITK-Data accordingly.
Rename reference files so that they correspond with the according tool name.
2015-08-12 13:57:19 Andreas Fetzer [89e70b]
Fixed LabelSetImageIOTest failure
Reason was, that the layer index was not set properly if a new layer was added.
2015-08-12 13:56:24 Andreas Fetzer [316506]
Added braces consistently
2015-08-05 16:54:00 Andreas Fetzer [a18f58]
Fixed build errors
2015-08-05 16:53:49 Andreas Fetzer [5141b9]
Fixed confirmation of 3D interpolation for mitkLabelSetImage
Since the LabelSetImage has a different pixel type this has to be propagated
to the SurfaceToImageFilter
2015-08-05 16:51:10 Andreas Fetzer [fa8185]
Apdations to mitkSurfaceToImageFilter
Since the segmentation module will be based on the new mitkLabelSetImage
datastructure this filter had to be adapted to the new pixel type (formerly
unsigned char now unsigned short)
2015-07-31 18:51:34 Caspar Goch [80ea4b]
Compare component types instead of pixel type vs component type
2015-07-24 17:39:40 Caspar Goch [c6def6]
Switch Otsu and Picking to multilabel output
2015-07-24 16:39:08 Caspar Goch [b728cf]
Enable unsigned char and unsigned short masking
Quick and dirty fix, code is just copied. This should be fixed in a better
way once the entire multilabel functionality is there and the
labelsetimage
is redesigned.
2015-07-24 10:50:20 Caspar Goch [659c32]
Allow morphological operations for any pixeltype
2015-07-23 14:32:51 Caspar Goch [fa14ed]
Boolean operations output multilabel images
2015-07-22 15:05:39 Caspar Goch [4d30df]
Fix 3D interpolation
2015-07-14 14:19:47 Caspar Goch [31c749]
More typenames
2015-07-14 12:38:20 Caspar Goch [6bbb56]
Fixes for mac/linux compatibility
2015-07-09 14:10:51 Caspar Goch [57f978]
Correction tool handle different pixel types differently
2015-07-08 18:10:09 Caspar Goch [5c9aab]
Separate Access Macro for 4D
2015-07-08 17:03:04 Caspar Goch [806b16]
Use active color as fill color for label set images
2015-07-08 16:08:03 Caspar Goch [9e9ff5]
Removed image typedef
As part of this removal the SurfaceStamp function was commented out, that
one will need to be ported for integration of more LabelSet functionality.
It had to be commented out as it depended on the the image typedef.
2015-07-08 15:46:31 Caspar Goch [ec6ef3]
Remove unnecessary typedefs
2015-07-08 15:33:45 Caspar Goch [a744d5]
Add labelset setting for loading
2015-07-08 14:03:33 Caspar Goch [83ca5a]
Handle VectorImages and Images separately
2015-07-08 14:02:59 Caspar Goch [9b7a29]
Properly set geometry for new layers
2015-07-02 14:26:43 Caspar Goch [f7e25b]
Using alternative method to create mitk images from single layer-labelsetimages
2015-06-29 18:02:01 Caspar Goch [390b39]
reading and writing - geometry fits
2015-06-26 18:52:41 Caspar Goch [6e1c6b]
implementing read/write
2015-06-26 13:23:55 Caspar Goch [e4f148]
Add Converter
2015-06-25 18:45:06 Caspar Goch [6653fd]
Move conversion code to helper class
2015-06-19 17:39:11 Caspar Goch [613ba6]
Use different initialize to avoid dimensions with extent 1 being ignored
2015-06-18 18:09:18 Caspar Goch [fef95f]
Replace correction tool pixel type
2015-06-18 11:00:45 Caspar Goch [975b3b]
Move png to correct location, delete wrong include
2015-06-18 10:51:23 Caspar Goch [5260c9]
Merge remote-tracking branch 'origin/bug-18646-labelset-image-for-segmentation' into local/multilabel
Conflicts:
Modules/Segmentation/Interactions/mitkTool.cpp
2015-02-02 23:57:13 Andreas Fetzer [4c4f87]
Initial commit
Started replacing the former "binary" image with the new labelSet datastructure
[de3db6]: Merge branch 'bug-18646-labelset-image-for-segmentation-master'
Merged commits:
2015-08-12 19:17:33 Andreas Fetzer [7c111e]
COMP Fixed wrong file name in test and update MITK-Data again