For some tilted images: after pressing reinit, one slice is missing and one slice seems to be black. This is especially obvious if the image has only one slice: the image will disappear after reinit.
Description
Status | Assigned | Task | ||
---|---|---|---|---|
Duplicate | None | T8477 Making Saving/Loading of 2D Images with 3D Geometry Information (e.g. 3D Rotation) possible | ||
Resolved | None | T6278 Reinit on some tilted images wrong |
Event Timeline
The reason for the effect is a bug in the 'snap' feature of
RenderingManager::InitializeViews( ..., bool preserveRoughOrientationInWorldSpace), which is active for "preserveRoughOrientationInWorldSpace=true" - which is used in QmitkDataManagerView::ReinitSelectedNodes.
With this feature reinit 'snaps' the image to the next axis aligned view that roughly preserves the image orientation (see T1478 comment #3).
Only images with "negative maximal components" (i.e., the sign of the component, whose absolute value is the maximum of all components, is negative) in the columns of the orientation matrix are affected by the bug - which is the reason that the bug was not recognized for such a long time.
We figured out, that the bug Ivos describes does not occur anymore. Instead, we found a bug, that the cutting plane is not visible in every window after loading or global reinit of the attached image. The weird thing is, that this only occurs in the Sandbox and not in the ExtApp (and only on Stefans computer). When I tried to reproduce the bug today, everything was right.
Stefan, we should try it on your computer again!
Waiting for rendering update from Thomas Kilgus and reinit bug from Bastian. Afterwards it needs to be checked again and discussed if it is a bug.
@Basti: could you try to find out what the status of this is?
@Thomas & rendering team: this should not depend on a meta bug I think
@Marco: the meta bug is kinda solved. This was the VTK 2D rendering. The bug is not closed, yet, due to some cosmetic bug dependencies and some issues like volume annotation. Maybe we should just remove the dependencies and declare it closed.