Locked History Attachments

ChangeRequests/2021

Summary of problem description

Tiny image datasets with spacing << 0.1 cannot be interacted with in 2D and are not displayed correctly in 3D.

actual behaviour

1.) Intersection planes are only displayed at the border of the dataset and cannot be interacted with.

2.) Tubular edge in 3D views is much too large and occludes the dataset

expected behaviour

1.) Plane interaction should be possible for small datasets which still have realistic spacing settings (e.g. from small animal CT)

2.) Tubular edge radius should scale with dataset / bounds size

Cause of the bug

1.) In PlaneGeometry and SlicedGeometry3D, vector calculations become invalid due to an epsilon check on non-normalized vector which refuses small direction/difference vectors

2.) Tubular edge radius is not considering dataset spacing

Proposed solution

1.) Normalize vectors before checking for parallelity

2.) Take image/geometry spacing into account when calculating tubular edge radius

Affected classes

  • mitk::SlicedGeometry3D
  • mitk::PlaneGeometry

  • mitk::Geometry2DDataVtkMapper3D

How will the bugfix get tested?

Bugfix improves behaviour, not stability of the application. Manual verification should be sufficient.