From a802817979c5eabe27cbbe809d32b1d54c9f1552 Mon Sep 17 00:00:00 2001 From: Tolonen Luka Date: Wed, 10 Jul 2024 14:04:51 +0300 Subject: [PATCH 01/44] Aligned stylus.stl with VTK axes Stylus visualization is working with Aalto Polaris TODO: add a stylus calibration tab to GUI --- icons/stylus.png | Bin 0 -> 5395 bytes invesalius/data/bases.py | 11 +- invesalius/data/coregistration.py | 80 +++++++-- invesalius/data/viewer_volume.py | 3 + .../data/visualization/probe_visualizer.py | 166 ++++++++++++++++++ invesalius/gui/task_navigator.py | 31 +++- invesalius/navigation/navigation.py | 8 +- navigation/ndi_files/Markers/newNBSref.rom | Bin 0 -> 752 bytes navigation/ndi_files/Markers/newNT-115.rom | Bin 0 -> 752 bytes navigation/objects/stylus.stl | Bin 55884 -> 55884 bytes 10 files changed, 278 insertions(+), 21 deletions(-) create mode 100644 icons/stylus.png create mode 100644 invesalius/data/visualization/probe_visualizer.py create mode 100644 navigation/ndi_files/Markers/newNBSref.rom create mode 100644 navigation/ndi_files/Markers/newNT-115.rom diff --git a/icons/stylus.png b/icons/stylus.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e47622a81dff5a862136a5189cd5b00498566e GIT binary patch literal 5395 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