# General questions about Microscopy image processing and & visualization using 3D Slicer

**URL:** <https://discourse.slicer.org/t/general-questions-about-microscopy-image-processing-and-visualization-using-3d-slicer/10527>\
**Category:** Support\
**Created:** [March 3, 2020, 6:19pm UTC](https://discourse.slicer.org/t/general-questions-about-microscopy-image-processing-and-visualization-using-3d-slicer/10527 "2020-03-03T18:19:34Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![zwei2001](https://avatars.discourse-cdn.com/v4/letter/z/e9a140/32.png) [@zwei2001](https://discourse.slicer.org/u/zwei2001)\
**Post date:** [March 3, 2020, 6:19pm UTC](https://discourse.slicer.org/t/general-questions-about-microscopy-image-processing-and-visualization-using-3d-slicer/10527/1 "2020-03-03T18:19:34Z")

</div>

I’d like to know following if 3D Slcier has following features. Thanks for anyone who helps

GPU for Image Processing?  
Multithread?  
Well-documented?  
Stereo image pairs?  
Surface rendering?  
Shadowing casting?  
VR?  
Movie recording  
Ortho slices/block face views  
Volume xyz/arbitrary cropping  
channel specific cropping  
Annotation on volume  
Mesh display support  
Channel specific LUT adjustments  
Channel specific opacity  
4D Movie Support (xyzt)  
3D ROI measurements  
Create 3D ROIs based on data  
Interactive 3D length, angle measurements  
3D particle tracking  
Multi-modal/multi-channel 3D co-registration  
Can handle datasets larger than RAM capacity?  
Can run on a computer cluster?  
what Built-in sripting / macro language used?  
Size of existing user base?  
User forum / online discussion board help  
User plugins allowed?  
Built-in scripting / macro languages?

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [March 3, 2020, 6:33pm UTC](https://discourse.slicer.org/t/general-questions-about-microscopy-image-processing-and-visualization-using-3d-slicer/10527/2 "2020-03-03T18:33:55Z")

</div>

Whew, that’s a lot of questions! Generally Slicer does really well on all those topics.  
Maybe you can start by reading some of these references: [https://www.slicer.org/wiki/CitingSlicer](https://www.slicer.org/wiki/CitingSlicer)

---

<div class="post-metadata">

**Author:** ![fedorov](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/fedorov/32/14_2.png) [@fedorov](https://discourse.slicer.org/u/fedorov)\
**Post date:** [March 3, 2020, 6:40pm UTC](https://discourse.slicer.org/t/general-questions-about-microscopy-image-processing-and-visualization-using-3d-slicer/10527/3 "2020-03-03T18:40:04Z")

</div>

I agree with @pieper - some of those questions are trivial (e.g., you should now know the answer to “User forum / online discussion board help” :-D).

Maybe you can start by reviewing the documentation, and summarize your understanding here in this thread, and then have it reviewed by the community, so we can correct as needed?

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [March 3, 2020, 7:44pm UTC](https://discourse.slicer.org/t/general-questions-about-microscopy-image-processing-and-visualization-using-3d-slicer/10527/5 "2020-03-03T19:44:02Z")

</div>

The answer to most questions is a strong yes. There are a few areas for improvement:

- multi-channel image display/processing is supported in the internal infrastructure but not much of it is exposed on the GUI
- out-of-core/multi-resolution image visualization and processing is not direclty supported (there are many application-specific workarounds)
- microscopy file format readers/writers are supported by ITK quite well, but they are not enabled in default builds
- custom length unit can be specified (e.g., use nm instead of mm as base unit) but not very well tested, so probably some fixes will be needed if it will be widely used

Several of these improvements would be relatively easy to do (even without touching the Slicer core, in custom modules), since Slicer relies on very flexible and powerful libraries, such as VTK and ITK, and you can also import and use _any_ Python packages within Slicer.

Detailed response:

GPU for Image Processing? - We rely on ITK and VTK for most image processing operations and still only a very few processing filters are GPU-accelerated. For performance-critical steps, you can easily install any Python-wrapped GPU-accelerated processing filters from the Python package index and/or add your own (can be implemented in C++ and Python, preferably using GLSL or OpenCL).

Multithread? - Most performance-critical processing filters are multi-threaded.

Well-documented? - Yes. Lots of [tutorials](https://www.slicer.org/wiki/Documentation/Nightly/Training), [user guide](https://www.slicer.org/wiki/Documentation/Nightly), [API documentation](https://apidocs.slicer.org/master/annotated.html), training events, very responsive forum.

Stereo image pairs? - Yes. Full [immersive virtual reality display](https://github.com/KitwareMedical/SlicerVirtualReality) of anything that is shown in 3D views. Can be activated by a single click. Legacy anaglyph, interlaced, etc. stereo visualization is supported as well, but these have become irrelevant since virtual reality has become widely accessible.

Surface rendering? Yes. With many options.

Shadowing casting? Slicer uses VTK for rendering, which supports it, so probably it could be enabled (maybe by typing a few lines of Python code), but it is not available from the GUI.

VR? - [Yes](https://github.com/KitwareMedical/SlicerVirtualReality).

Movie recording - [Yes](https://www.slicer.org/wiki/Documentation/Nightly/Modules/ScreenCapture)

Ortho slices/block face views - Yes, with lots of visualization options.

Volume xyz/arbitrary cropping - Yes.

channel specific cropping - I’m not sure what you mean by this, but you can crop, clip, and mask multi-channel images.

Annotation on volume - Yes. You can mark points, lines, curves, etc. on rendered volumes in 2D and 3D.

Mesh display support - Yes. Both surface and volumetric, including coloring by cell and point scalars, slice intersection/projection views, etc.

Channel specific LUT adjustments  
Channel specific opacity - Currently, multi-channel image support is quite limited. It would be easy to improve this, as all the underlying infrastructure supports them, but there has not been strong interest in this so far. Adding a module for customizing LUT/opacity for individual channels would be probably take a few days of work.

4D Movie Support (xyzt) - Yes, full support of time sequences of all data types (volumes, meshes, point sets, curves, etc.)

3D ROI measurements - Yes. Lots of metrics.

Create 3D ROIs based on data - Yes. Slicer has the most sophisticated image segmentation tool among all open-source medical image computing software (and it is more powerful than most commercial software, too).

Interactive 3D length, angle measurements - Yes.

3D particle tracking - Yes. [Sequence registration](https://github.com/moselhy/SlicerSequenceRegistration) allows tracking of position and deformation of 3D objects in a 3D+t volume sequence.

Multi-modal/multi-channel 3D co-registration - Multi-modal, yes. Multi-channel, I’m not completely sure, but probably yes (via SlicerElastiX).

Can handle datasets larger than RAM capacity? - There is no specific support for out-of-core processing. There are Python-based tools that can be imported and used, and there are many tricks for handling of very large data sets.

Can run on a computer cluster? Yes.

what Built-in sripting / macro language used? Yes, full interactive and batch mode Python scripting. Any python3 packages can be installed directly from the Python package index.

Size of existing user base? About 3000 weekly [downloads](https://download.slicer.org/download-stats/) from everywhere around the world (increasing exponentially by about 30% in the last 5 years)

User forum / online discussion board help - Yes. See this forum, with over 3200 members. All questions are answered. Several in-person meetings a year ([Slicer Project Weeks](https://projectweek.na-mic.org/)).

User plugins allowed? - Yes. Designed to be customizable and extensible. See [tutorials](https://www.slicer.org/wiki/Documentation/Nightly/Training#Tutorials_for_software_developers).

Built-in scripting / macro languages? Yes. See above.

---

<div class="post-metadata">

**Author:** ![zwei2001](https://avatars.discourse-cdn.com/v4/letter/z/e9a140/32.png) [@zwei2001](https://discourse.slicer.org/u/zwei2001)\
**Post date:** [March 3, 2020, 8:21pm UTC](https://discourse.slicer.org/t/general-questions-about-microscopy-image-processing-and-visualization-using-3d-slicer/10527/6 "2020-03-03T20:21:08Z")

</div>

Thank you very much Andras, very instructive and helpful!

---

<div class="post-metadata">

**Author:** ![zwei2001](https://avatars.discourse-cdn.com/v4/letter/z/e9a140/32.png) [@zwei2001](https://discourse.slicer.org/u/zwei2001)\
**Post date:** [March 3, 2020, 9:43pm UTC](https://discourse.slicer.org/t/general-questions-about-microscopy-image-processing-and-visualization-using-3d-slicer/10527/7 "2020-03-03T21:43:01Z")

</div>

Is the source code open to public?

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [March 3, 2020, 9:59pm UTC](https://discourse.slicer.org/t/general-questions-about-microscopy-image-processing-and-visualization-using-3d-slicer/10527/8 "2020-03-03T21:59:07Z")

</div>

You really need to go do [http://www.slicer.org](http://www.slicer.org) and learn about it yourself.
