I came across the Pedicle Screw simulator when i was trying to figure out the segment interaction with mouse pointer.
Developers of this module have done something great both clinicians and researchers both will benefit from and can be evolved in to other specialties. I change the script a bit and replaced the screw vtk files with dental implants i wanted and the results are amazing and applications are many. ( don’t judge the implant placement by the photo, it was just for demonstration… )
I am wondering is it legal or ethical to take this module and develop it as a a separate module for
- surgical planning of dental implants
- Maxillofacial bone Reconstruction
because i think 90 % of the code is simply applicable to any place… just a little bit of editing is needed to make it applicable to the above scenarios. So our contribution for the code will be very limited apart from the data base of implant models. So is it something that i can try to do or do i need to contact the original developers for this ?
@manjula - I agree, this is a very cool module and has a lot of potential applications.
@aiden.zhu you are right about the Slicer license being free to use an bulid on without restrictions. However the PedicleScrewSimulator repository doesn’t include a software license file so it would be good to have an explicit statement from the developers.
@lassoan and @ungi - you have both contributed to the code - do you know if it’s intended to be under the Slicer license? If so can we add it explicitly?
I was wondering that even though 3D Slicer is open source does all the module by default become under BSD licences ? and also about the copyleft properties of such modules ?
My confusion came from even though i did not read the 3D Slicer licencing is that far as i understand is BDS style is non - copy left unlike GPL. So Can 3D Slicer claim a module built on that if the authors of that module does not explicitly state it ? becuse far as i understand from BDS style is that we can completely ignore the original 3D Slicer developers if we choose to do so.
Some people from the original team (Sunnybrook Research Institute in Toronto) are still working on this project, but apparently not in this repository. I stayed in touch with them, but not contributed code directly. I will ask them what is going on now. I’m quite sure the code was free to use for every purpose when I talked to them.
The current Slicer modules allow very rapid development of such applications. Often just saving a Slicer scene is enough, no need for coding. If we identify functions that are commonly used between such modules, we could put them in e.g. the SlicerIGT extension. I’m open to participating in a discussion about that.
Good questions @manjula - We do carefully avoid GPL code in software that we distribute for reasons discussed here.
Since this pedicle screw simulation code isn’t a Slicer Extension the issue hadn’t come up yet and this repository didn’t explicitly state. It’s okay for people to write Slicer code and offer
it under any license they choose, but we can’t redistribute it under the terms of GPL without triggering the copyleft for everyone.
Since this repository is not under our control we really can’t assume anything about the license terms and are best off getting an explicit statement from the authors.
I’ve worked on this module quite a bit. I’m sure all the authors will be comfortable with adding a BSD license to the repository (that will explicitly give permission to reuse and modification). I’ll send a pull request with the proposed change.
I haven’t realized how general this module actually is. It would be nice if you would not clone it but just enhance the module to make it serve your needs. This way we would significantly reduce bugfix and maintenance workload.
Thank you Prof @lassoan . I will try to work on this module to suite our purposes,our goal is to make it as a simulator and research tool for,
- Dental Implants
- Maxillofacial reconstruction - Fractures, Orthognathic surgery etc…
because this module already have essential elements for them.
The major conflict or interest would come if we are to include a dental implant bank to the module as even though we already work with quite a number of dental implant manufacturers and designs on many research projects all implants designs in stl format is been handed over to us with non disclosure agreements. Our plan of work around is to include a feature to upload the implant/s your self so it is the clinician/researcher is under the contractual obligations not the developers. And they can use it for surgical planning or research and the original design will not be made public unless they want them to. This is our basic concept for now.
That makes perfect sense to me. Let’s see if we can make this tool work really well for your needs.
I’ve added a license file to my PedicleScrewSimulator repository (https://github.com/lassoan/PedicleScrewSimulator), which I have been developing and maintaining in the last 5 years and is distributed in Slicer’s extension manager. The MIT license states that any usage and modifications are permitted.
Adding an option to import and use additional screw model files sounds like a good idea. You may also draw some simple generic dental screws and bundle those models with the extension. If you have any suggestion to improve the module or make it more generic then please send pull requests.
dear prof @lassoan. that is indeed good news. myself and few of my colleagues will start working on this. we will keep the and the rest updated on this.
This is regarding file format for the models. (Implants)
I am designing some generic dental implants for the module. I use FreeCAD and Blender for this.
What should be the file format ? vtk or stl etc… ? is there a significant advantage of keeping the models in vtk format as in the case for now ?
We want to enable the user to import the dental implant they want to use for the case and i think most of the files are in stl format so we will have to work with stl.
In the case vtk has great advantage over stl should we implement to convert stl --> vtk ? will it give more problems ?
Slicer can read/write STL, VTK, VTP, PLY, and OBJ, so there is no need to restrict to only a single file type.
STL cannot store surface normals or colors, so if you design your own models then it is better to save them in VTK, VTP, PLY, or maybe OBJ.
Thank you for the reply. I try VTK and definitely PLY and OBJ works well for me.
What i meant to ask was if we allow the users to import their own implants in stl format will it affect the calculations ? (the grading step ? the percentage of cortical bone contact etc… since the implant is in stl format ? hence the question about the need to convert stl --> vtk) If stl models will work the way vtk inside this module during the grading step my question is not relevant.
Geometry (point locations and cells) is stored with the same accuracy in all these formats, so quantitative results are not impacted by the choice of file format.