Thank you for sharing these developments.
The extension was originally developed for pedicle screw placement training (for example, measurement of the screw length is intentionally not developed - that is one of the skills that the trainees have to learn), but obviously with some changes the module can be adapted to become a surgical planning tool. We need figure out a way how to manage these two variants:
- Option A: convert the current training module to a surgical planning module (the module could no longer be used for training)
- Option B: develop the planning module completely separately from the training module (two separate modules that do not share any code)
- Option C: have a separate training and planning module, but share some code
- Option D: keep a single module but let the user choose between “training” or “surgical planning” modes
It seems that you have now implemented Option A, which means that we lose a number of features. I would particularly miss the beautiful screw models and animated screw insertion. I believe this sophisticated graphics and animation is that makes so many people like this module.
Option B. would be the easiest short-term solution. It would mean that we would have full training and planning modules, without losing any features or having to invest time into refactoring. The disadvantage is that this would double the cost of long-term maintenance (each bug and enhancement would need to be implemented twice, in both modules).
Option C. Would be similar to B in term of user experience but it would require some work right now to refactor the modules. Unlike option B, this option would not double the maintenance effort in the long term.
Option D. Would require significant redesign now (introducing the two operation modes), it might be a bit confusing for users, and it may make a bit more difficult to optimize the user experience in the long term (for example, each change to make the module more friendly for surgical planning may make the module less optimal for training).
@jumbojing What are your long term plans with this extension? Do you plan to continue using and developing it? What features do you plan to add? Do you plan to use it with surgical navigation (tool guidance with optical tracker)? Do you plan to add real-time imaging (ultrasound or surface scanner)? Do you plan to use it on patients?
@ungi Do you think it would be important to preserve a training module (with visual alignment and insertion of realistic screw models)?