- Boolean Operations
- chosen: high effort
- Can be used so that the other functions can do everything
- Work only on one image, select two labels
- Contour to Image & Surface to Image
- chosen: low effort seems more senseful. The functionality can be achieved via other tools (e.g. boolean)
- Image Masking
- chosen: low effort
- Morphological Operations
- as proposed
- Pick an image & pick a label
- Include options like in picking tool, i.e. generate a new layer when doing an operation, lock labels (to make sure other labels are not overwritten e.g. for a dilution)
- Add a new tool: Transfer Label could be used to transfer a label from one image to another (if the same image is selected twice, it's just a rename)
Thu, Sep 7
Thu, Aug 31
Aug 29 2023
I tested this again with the current version of MITK (develop branch) and can see no problems. Interpolation works without problems on my laptop (Windows 10, 32GB RAM)
Aug 24 2023
Aug 9 2023
We want to have:
- a slick minimum Workbench version
- a fuller / bigger version. Exact contents and name still need to be compiled (e.g. Perfusion, Fitting, ...)
Aug 1 2023
Jul 26 2023
With the addition of the polygon tool, this is now possible.
Jul 25 2023
Jul 17 2023
Jul 14 2023
I think the handling of multiple labels depends on each action and needs to be handled separately.
- Boolean Operations: I see a few options here
- low effort: only allow for segmentations with one label. If there is more than one label, show a message that this is not possible
- higher effort: completely rework the selection. Let the user select two specific labels (from the same or different segmentations) and work on these, either replacing the first label or adding a new label (or instance) to that segmentation
- Contour to Image & Surface to Image:
- low effort: leave it as is, still works at the moment
- higher effort: introduce the option to add the newly created segmentation as a new label / instance to an existing segmentation
- Image Masking:
- low effort: leave it as is, still works at the moment (using all labels of a segmentation)
- higher effort: introduce the option to select which labels/instances should be considered for masking
- Morphological Operations: Currently don't crash, but always use label 1
- I think the most senseful solution would be to let the user select a specific label for the operation to work on. Multiple at the same time probably only get in each other's way and make it unnecessarily complicated.
Jul 12 2023
Jul 6 2023
Jul 4 2023
Jun 20 2023
Jun 2 2023
May 25 2023
During our testing event there were no suggestions for new layouts people would like, so this task will be closed and any layouts that are requested in the future can be added on demand.
May 24 2023
What exactly was the model again? Just an exponential decay?
This is more of the stack trace:
MitkCore.dll!mitk::ImageDataItem::GetData() Zeile 131 MitkCore.dll!mitk::Image::Image(const mitk::Image & other) Zeile 83 MitkMultilabel.dll!mitk::LabelSetImage::LabelSetImage(const mitk::LabelSetImage & other) Zeile 75 MitkMultilabel.dll!mitk::LabelSetImage::InternalClone() Zeile 494 MitkMultilabel.dll!mitk::LabelSetImage::Clone() Zeile 33 MitkSegmentationUI.dll!ModifyLabelProcessing<3>(mitk::LabelSetImage * labelSetImage, itk::SmartPointer<mitk::SurfaceInterpolationController> surfaceInterpolator, unsigned int timePoint) Zeile 203 MitkSegmentationUI.dll!QmitkSlicesInterpolator::OnModifyLabelChanged(const itk::Object * caller, const itk::EventObject & __formal) Zeile 1915
May 22 2023
Can reproduce. When debugging, the error is caused while trying to clone a LabelSetImage. While creating a new mitk::Image from a reference, it tries to get:
ImageDataItemPointer volume = other.GetVolumeData(0); this->SetVolume(volume->GetData(), 0);
but volume is nullptr.
I'm not sure if this just needs a nullptr safeguard (and eventually an additional default initialization?) or if this should not be able to happen in the first place.
May 12 2023
May 11 2023
May 9 2023
This is behavior as intended. The "reset" is basically a reinit to the specified image. When there is an image higher in the list, it is rendered on top, just as in the standard display and the data manager.
I have added a hint in the checklist to make it clear this is how it is supposed to work.