Closed Sunderlandkyl closed 5 years ago
2016-02-18 17:49 Andras Lasso It probably makes more sense to implement this at application level. It would make manual override of start/stop recording, definition of a region of interest (outside of which recording would be stopped), and changing of filename prefixes easier.
3D visualization of tracked images and tools, volume reconstruction, registration, start/stop recording, etc. are all already freely available in SlicerIGT. Automatic start/stop feature could be implemented by adding 10-20 lines of Python code in PlusRemote module. It would not be even necessary to rebuild Slicer or any of the SlicerIGT modules.
@lassoan could you explain how to manually pause/resume recording with SlicerIGT - as you mentioned above? Also how to modify PlusRemote with python to implement automatic pausing/resuming?
Install 3D Slicer and SlicerIGT extension.
PlusRemote module is a Python scripted module that you can find in the directory listed in Slicer Application settings / Modules / Additional module paths. Just read the code a couple of times, maybe use a Python debugger (https://www.slicer.org/wiki/Documentation/Nightly/Extensions/Debugging tools) to step through the code that runs when you click a button.
If you want to add more commands to the GUI, you will find specification of commands useful: http://perk-software.cs.queensu.ca/plus/doc/nightly/user/PlusServerCommands.html
Closing as no demand for feature.
It would be nice to allow automatic pause/resume of ultrasound image recording.
Recording could be stopped when a transform status becomes invalid for a certain minimal period of time (e.g., ProbeToTracker becomes invalid for 3 seconds; it would be useful for optical tracking) or when a distance becomes too large (e.g., ProbeToReference or ProbeToNeedle transform translation component becomes larger than 300mm; could be used for EM tracking).
Alternatively, recording could be stopped when image becomes blank. A blank image could be detected as image intensity and variance at a number of predefined positions falling below a threshold value.
See discussion here: https://www.assembla.com/spaces/plus/messages/5497963
Migrated from https://app.assembla.com/spaces/plus/tickets/1069/details