NA-MIC Project Week 2020-12-16, 12-2pm EST
- I could never fully understand those functions that can be edited in the Volume Rendering module (Advanced/Volume properties). Can you explain what they mean?
- Can Slicer be connected to a DICOMweb server to retrieve and store images there?
- See SlicerDICOMwebBrowser extension
- "Dropbox" for medical images. See https://demo.kheops.online/
- Create Album -> create a link -> then use in Slicer dicom web client
- Are SampleData free for reuse ?
- Yes. except the Panoramix dataset that we are currently removing (see PR Slicer#5311)
- If you need paperwork (e.g in context of IRB), getting data from TCIA is recommended.
- What is the suggested "best practice" to learn slicer?
- A good starting point is to download the tutorials and pre-computed datasets on the Slicer Training Compendium. (be sure to be aware of the version of Slicer you are using vs the version mentioned in the tutorial).
- Additional questions:
- How can I get help without feeling like I'm asking for too much?
- We are always happy to help either on the Slicer Discourse Forum or directly by email.
- Try to pose your questions thoughtfully (http://sscce.org/)
- A good practice is to check if your Slicer question has already been answered on the Slicer Forum before posting it.
- What about adding a category in the discourse for "Beginner/New User Questions?"
- Is there a way to get help if I don't speak English well?
- Many Slicer team members are non-native English speakers, just mention what your native language is and we’ll try to find someone who could help out
- There are some Chinese resources for example
- (Sonia Pujol spujol@bwh.harvard.edu) I am always happy to help with Slicer questions in French
- (Andrey, @fedorov in Discourse) I am a native Russian speaker, and fluent in Ukrainian - happy to help
- How can I get help without feeling like I'm asking for too much?
- Volume rendering seems to delineate structures quite nicely. Can I use it for quantification?
- Short answer: No. You would need to perform a segmentation or place markups fiducials on the visible surface to measure.
- Longer answer: placing fiducials on volume rendering is possible, also segmentation based on opacity could possibly be done. Fiducials are placed at 50% opacity.
- Follow up questions:
- Which picker is used ?
Software picker is used to place markups. In the future, we could re-evaluate to make picking faster. - Can we adjust the 50% threshold ?
Adjusting the transfer function may be an alternative approach.
- Which picker is used ?
- Comments / suggestions:
- Add presets for CBCT
- MicroCT does volume render but it’s tricky to adjust depending if 8-bit or 16-bit
- Documentation is quite fragmented (ReadTheDocs, wiki). Can I do something to help?
- (Jc) We currently focus on moving documentation to readthedocs and updating the wiki to add links “redirecting” to the readthedocs. We would greatly benefit from help to:
(a) move documentation of module to readthedocs,
(b) review the description of existing modules and update them.
(c) mark deprecated content on the wiki as “historical”. This is done by using the historicaltemplate. For an example of use, see this page,
(d) improve the extension wizard to to include template for documentation (we would need to discuss this during the weekly hangout) - Comments / Suggestions:
- Ron: Add last modified timestamp to documentation page
- Jc: Looking into enabling https://pypi.org/project/sphinx-gitstamp/
- Andras: Discourse tag “feature-requests” can be “followed” to be notified
- Ron: Add last modified timestamp to documentation page
- (Jc) We currently focus on moving documentation to readthedocs and updating the wiki to add links “redirecting” to the readthedocs. We would greatly benefit from help to:
- Slicer’s Segmentation Editor is very powerful. Please review where to find the best tutorials and materials for learning it to segment data in the wild.
- https://lassoan.github.io/SlicerSegmentationRecipes/
- Also many tutorials in Slicer’s tutorial documentation
- How to store tutorials: github pages, google slides, powerpoint
- Why estimation of MeanDiffusivity is not possible?
- should be available in SlicerDMRI (see this paper for features)
- With the addition of more model editing tools, are there any plans to add a Sketchfab exporter?
- With the OpenAnatomy extension you can export glTF which should be easy to put in Sketchfab
- MorphoSource does not support interactive visualization
- Sketchfab can show models without making it easy to download, and download link is provided to MorphoSource (where access control and downloads are counted)
- From Stephen: Video explaining how to load data using vtk based javascript viewer: https://vimeo.com/413597904
- Is there a recommended way of removing noise from CT scans ? especially metal artifacts from dental work and titanium plates without affecting the quality very much ? It was recommended to do anisotropic diffusion filter but i get the error “Pixel type: 16-bit signed integer is not supported in 3D by N3itk6simple40CurvatureAnisotropicDiffusionImageFilterE.”
- You can use the Cast Scalar Volume modul to create a different data type. Probably Float is the best.
- Is there a way to do non-binary segmentations, where you could have a label and a probability associated with each volume sample? Or multiple labels and multiple probabilities associated with each volume sample?
- There is a representation called Fractional labelmap just for this, but it’s not used by the majority of the segmentation methods
- Thanks -- can it be displayed as a “LabelMap Volume” in the Slicer application?
- LabelMap Volume is strictly binary. In modern Slicer segmentations should be Segmentation nodes. The infrastructure of Fractional labelmaps and its visualization is in place, but it seems (in the latest nightly) that it’s not enabled
- OK, could I render it as one of the two volume images or do I have to convert it to a grey-scale volume first?
- I suggest reading this page to understand difference btw volume and segmentation
- In almost all cases supersampling the labelmap in comparison to the source data is better use of memory than a fractional volume would be. E.g. 8 bits per pixel could be fractional but could also be a 2x2x2 supersample.
- Probably a small thing, but in Mimics I’m used to having a circle, square and lasso when editing segmentations, would it be difficult to add the option to edit with a square that is 1 voxel and scalable? Sometimes 1 voxel can cause a spike or hole, but you don’t need to smooth a large area.
- We can add this if there is a compelling use case.
- I saw the feature that allows you to adjust contours with control points that you showed in your SlicerHeart demo - where does that live?
- Markups module: closed/open curves
- Can triangle models/surface models be edited on the fly? If yes, could you point us to an example where this is done?
- Segment Editor: for closed surfaces only, uses binary labelmap representation
- Dynamic modeler: for any models, but has limited editing features
- How 3D Slicer development is funded? How can I become a full-time 3D Slicer developer?
- The typical scenario these days is that Slicer support comes as a by-product of other funded efforts that rely on it. For example, several commercial and academic projects that employ the core slicer developers and agree that it's in their best interest to have a robust platform to work from.
- Commercial partnersare hiring (see also Kitware)
- What about creating a Slicer Developer job board?
- We usually post these in the “Jobs” category on discourse: https://discourse.slicer.org/c/announcements/events/27
- How do I figure out how to automate something that I know how to do in the GUI?
- The Python script repo is the best starting point for automating Slicer using Python
- How can I make auto-complete work in my Python IDE (Visual Studio Code, PyCharm)?
- Setting up PythonSlicer as Python interpreter can help
- ITK Python wrapping: interface file pyi, works for PyCharm
- See https://www.python.org/dev/peps/pep-0484/#stub-files
- Where can I upload sample data for my own extension?
- (Large data sets can be store in Github repositories as release assets - for example https://github.com/lassoan/SlicerOrthodonticAnalysis/releases/tag/TestingData)
- Scripts for Automatic content-based addressing: https://github.com/Slicer/SlicerTestingData/releases
- How to import and use python modules inside Slicer python or extension modules?(what about other modules?)
- slicer.util.pip_install() in the python interactor or in python code to pip install packages
- For custom applications: Python packages can be added as additional dependencies
- How does the continuous integration for extensions work? If I start a new extension, can I use the CI from the beginning?
- In order for the extension to be built by the CI, it needs to be submitted to the ExtensionIndex
- We generally require that extensions be basically functional before approving a submission to the index,
- My 2 cents: maybe it could be useful to highlight/remind participants that some Slicer algorithms can be run via command line, without GUI. Maybe someone is interested in adding some slicer stuff to his/her processing script that runs automatically without user interaction.
- What's the best way to share a module to others without going through extension manager? (for under development modules to share with people to test functionality)
- extension can be installed from file
- manually downloaded, non-packaged modules can be added to Slicer by using Application settings / Modules / Additional module paths
- for functions that do not depend on Slicer, creating a regular python package can be an option