From 13ba1aeadfc97a99d4c999c5e8a09c9d395d091a Mon Sep 17 00:00:00 2001 From: Jean-Christophe Fillion-Robin Date: Tue, 21 Mar 2017 11:19:21 -0400 Subject: [PATCH] DOC: Add user and developer documentation as RestructedText and Markdown sources This commit adds a "Docs" folder providing sphinx based infrastructure allowing to generate html and pdf documentation. Documentations is organized in two directories Docs/user_guide Docs/developer_guide Configuration file is Docs/conf.py It includes the recommonmark sphinx extension to also support parsing documentation pages written as .md files. To install the prerequisites on either Linux, macOS or Windows, run these commands: cd Slicer pip install -r requirements-docs.txt Then, documentation can locally be generated running: cd Docs make html Conversion from rst to md can be done using pandoc. See http://pandoc.org/ For example: $ sudo apt-get install pandoc $ pandoc -f rst -t markdown_github page.rst -o page.md [ci skip] --- .gitignore | 3 + AUTHORS.rst | 5 + Docs/Makefile | 20 +++ Docs/conf.py | 174 ++++++++++++++++++++ Docs/developer_guide/authors.rst | 1 + Docs/developer_guide/contributing.rst | 3 + Docs/index.rst | 41 +++++ Docs/make.bat | 40 +++++ Docs/user_guide/acknowledgments.rst | 3 + Docs/user_guide/citing.rst | 48 ++++++ Docs/user_guide/commercial_use.md | 28 ++++ Docs/user_guide/data_loading_and_saving.rst | 3 + Docs/user_guide/extensions_manager.rst | 3 + Docs/user_guide/getting_started.rst | 102 ++++++++++++ Docs/user_guide/license.rst | 8 + Docs/user_guide/settings.rst | 3 + Docs/user_guide/user_interface.rst | 115 +++++++++++++ requirements-docs.txt | 7 + 18 files changed, 607 insertions(+) create mode 100644 AUTHORS.rst create mode 100644 Docs/Makefile create mode 100644 Docs/conf.py create mode 100644 Docs/developer_guide/authors.rst create mode 100644 Docs/developer_guide/contributing.rst create mode 100644 Docs/index.rst create mode 100644 Docs/make.bat create mode 100644 Docs/user_guide/acknowledgments.rst create mode 100644 Docs/user_guide/citing.rst create mode 100644 Docs/user_guide/commercial_use.md create mode 100644 Docs/user_guide/data_loading_and_saving.rst create mode 100644 Docs/user_guide/extensions_manager.rst create mode 100644 Docs/user_guide/getting_started.rst create mode 100644 Docs/user_guide/license.rst create mode 100644 Docs/user_guide/settings.rst create mode 100644 Docs/user_guide/user_interface.rst create mode 100644 requirements-docs.txt diff --git a/.gitignore b/.gitignore index 970bdbef819..25d39f193b6 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,6 @@ tags # Ignore pyc files ... *.pyc + +# Documentation +Docs/_build diff --git a/AUTHORS.rst b/AUTHORS.rst new file mode 100644 index 00000000000..2dc7287948e --- /dev/null +++ b/AUTHORS.rst @@ -0,0 +1,5 @@ +======= +Credits +======= + +Please see the GitHub project page at https://github.com/Slicer/Slicer/graphs/contributors diff --git a/Docs/Makefile b/Docs/Makefile new file mode 100644 index 00000000000..9b7ae50f8a1 --- /dev/null +++ b/Docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SPHINXPROJ = 3DSlicer +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/Docs/conf.py b/Docs/conf.py new file mode 100644 index 00000000000..9e0d79cf956 --- /dev/null +++ b/Docs/conf.py @@ -0,0 +1,174 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# 3D Slicer documentation build configuration file, created by +# sphinx-quickstart on Tue Mar 21 03:07:30 2017. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import os +# import sys + +from recommonmark.parser import CommonMarkParser + +# sys.path.insert(0, os.path.abspath('.')) + + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +source_parsers = { + '.md': CommonMarkParser, +} + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +source_suffix = ['.rst', '.md'] + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = '3D Slicer' +copyright = '2020, Slicer Community' +author = 'Slicer Community' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '' +# The full version, including alpha/beta/rc tags. +release = '' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This patterns also effect to html_static_path and html_extra_path +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +html_theme_options = { + # Toc options + 'includehidden': False, +} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +# html_static_path = ['_static'] + + +# -- Options for HTMLHelp output ------------------------------------------ + +# Output file base name for HTML help builder. +htmlhelp_basename = '3DSlicerdoc' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, '3DSlicer.tex', '3D Slicer Documentation', + 'Slicer Community', 'manual'), +] + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, '3Dslicer', '3D Slicer Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, '3DSlicer', '3D Slicer Documentation', + author, '3DSlicer', 'One line description of project.', + 'Miscellaneous'), +] + + +# -- Read The Docs ----------------------------------------------------- + +# on_rtd is whether we are on readthedocs.io +on_rtd = os.environ.get('READTHEDOCS', None) == 'True' + +if not on_rtd: # only import and set the theme if we're building docs locally + import sphinx_rtd_theme + html_theme = 'sphinx_rtd_theme' + html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] diff --git a/Docs/developer_guide/authors.rst b/Docs/developer_guide/authors.rst new file mode 100644 index 00000000000..7739272f9d3 --- /dev/null +++ b/Docs/developer_guide/authors.rst @@ -0,0 +1 @@ +.. include:: ../../AUTHORS.rst diff --git a/Docs/developer_guide/contributing.rst b/Docs/developer_guide/contributing.rst new file mode 100644 index 00000000000..5fcfaebc5b7 --- /dev/null +++ b/Docs/developer_guide/contributing.rst @@ -0,0 +1,3 @@ +============ +Contributing +============ diff --git a/Docs/index.rst b/Docs/index.rst new file mode 100644 index 00000000000..4b9ff7db475 --- /dev/null +++ b/Docs/index.rst @@ -0,0 +1,41 @@ +.. 3D Slicer documentation master file, created by + sphinx-quickstart on Tue Mar 21 03:07:30 2017. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to 3D Slicer's documentation! +===================================== + +.. toctree:: + :maxdepth: 2 + + user_guide/getting_started + user_guide/license + user_guide/citing + user_guide/acknowledgments + user_guide/commercial_use + +.. toctree:: + :maxdepth: 2 + :caption: User Guide: + + user_guide/user_interface + user_guide/data_loading_and_saving + user_guide/extensions_manager + user_guide/settings + + +.. toctree:: + :maxdepth: 2 + :caption: Developer Guide: + + developer_guide/contributing + developer_guide/authors + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/Docs/make.bat b/Docs/make.bat new file mode 100644 index 00000000000..b9e346e7efe --- /dev/null +++ b/Docs/make.bat @@ -0,0 +1,40 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +if "%SOURCEDIR%" == "" ( + set SOURCEDIR=. +) +if "%BUILDDIR%" == "" ( + set BUILDDIR=_build +) +set SPHINXPROJ=3DSlicer + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% + +:end +popd diff --git a/Docs/user_guide/acknowledgments.rst b/Docs/user_guide/acknowledgments.rst new file mode 100644 index 00000000000..ca58c2cf07f --- /dev/null +++ b/Docs/user_guide/acknowledgments.rst @@ -0,0 +1,3 @@ +=============== +Acknowledgments +=============== diff --git a/Docs/user_guide/citing.rst b/Docs/user_guide/citing.rst new file mode 100644 index 00000000000..42611b50561 --- /dev/null +++ b/Docs/user_guide/citing.rst @@ -0,0 +1,48 @@ +====== +Citing +====== + +3D Slicer as a Platform +----------------------- + +To acknowledge 3D Slicer as a platform, please cite the `Slicer web site `_ and the following publications when publishing work that uses or incorporates 3D Slicer: + + +Slicer 4 +^^^^^^^^ + +Fedorov A., Beichel R., Kalpathy-Cramer J., Finet J., Fillion-Robin J-C., Pujol S., Bauer C., Jennings D., Fennessy F.M., Sonka M., Buatti J., Aylward S.R., Miller J.V., Pieper S., Kikinis R. `3D Slicer as an Image Computing Platform for the Quantitative Imaging Network `_. Magn Reson Imaging. 2012 Nov;30(9):1323-41. PMID: 22770690. PMCID: PMC3466397. + + +Slicer 3 +^^^^^^^^ + +Pieper S, Lorensen B, Schroeder W, Kikinis R. `The NA-MIC Kit: ITK, VTK, Pipelines, Grids and 3D Slicer as an Open Platform for the Medical Image Computing Community `_. Proceedings of the 3rd IEEE International Symposium on Biomedical Imaging: From Nano to Macro 2006; 1:698-701. + +Pieper S, Halle M, Kikinis R. `3D SLICER `_. Proceedings of the 1st IEEE International Symposium on Biomedical Imaging: From Nano to Macro 2004; 1:632-635. + + +Slicer 2 +^^^^^^^^ + +Gering D.T., Nabavi A., Kikinis R., Hata N., O'Donnell L., Grimson W.E.L., Jolesz F.A., Black P.M., Wells III W.M. An `Integrated Visualization System for Surgical Planning and Guidance using Image Fusion and an Open MR `_. J Magn Reson Imaging. 2001 Jun;13(6):967-75. PMID: 11382961. + +Gering D.T., Nabavi A., Kikinis R., Grimson W.E.L., Hata N., Everett P., Jolesz F.A., Wells III W.M. `An Integrated Visualization System for Surgical Planning and Guidance using Image Fusion and Interventional Imaging `_. Int Conf Med Image Comput Comput Assist Interv. 1999 Sep;2:809-19. + + +Individual Module +----------------- + +To acknowledge individual modules: + +.. Acknowledgement-tab.png +.. figure:: https://discourse-cloud-file-uploads.s3.dualstack.us-west-2.amazonaws.com/standard17/uploads/slicer/original/2X/b/b221511c0b42bbce72952525639279cca502c5cc.png + + Each module has an acknowledgment tab in the top section. Information about contributors and funding source can be + found there. + +.. Help-tab.png +.. figure:: https://discourse-cloud-file-uploads.s3.dualstack.us-west-2.amazonaws.com/standard17/uploads/slicer/original/2X/b/b5ace5fef98c7f1b2d08d6d6c61c62ab52d290a6.png + + Additional information (including information about the underlying publications) can be typically found on the + manual pages accessible through the help tab in the top section diff --git a/Docs/user_guide/commercial_use.md b/Docs/user_guide/commercial_use.md new file mode 100644 index 00000000000..df411e12f22 --- /dev/null +++ b/Docs/user_guide/commercial_use.md @@ -0,0 +1,28 @@ +Commercial Use +============== + +We invite commercial entities to use 3D Slicer. + +Slicer's License makes Commercial Use Available +----------------------------------------------- + +- 3D Slicer is a Free Open Source Software distributed under a BSD style license. +- The license does not impose restrictions on the use of the software. +- 3D Slicer is NOT FDA approved. It is the users responsibility to ensure compliance with applicable rules and regulations. +- For details, please see the 3D Slicer Software License Agreement. + +Commercial Partners +------------------- + +- [Isomics](http://www.isomics.com/) uses 3D Slicer in a variety of academic and commercial research partnerships in fields such as planning and guidance for neurosurgery, quantitative imaging for clinical trials, clinical image informatics. +- [Kitware](http://www.kitware.com/opensource/slicer.html) Integral to continuing to support the 3D Slicer community, Kitware is also offering consulting services in response to the rapidly growing demand for the development of proprietary applications and commercial products based on 3D Slicer. Kitware has used 3D Slicer to rapidly prototype solutions in nearly every aspect of medical imaging and is also collaborating on the development of commercial pre-clinical and clinical products based on 3D Slicer. + +Listed in alphabetical order. + +Slicer Based Products +--------------------- + +- [SonoVol](http://sonovol.com/) is developing a whole-body ultrasound imaging system for small animals. This start-up company arose from research in the Department of Biomedical Engineering at the University of North Carolina at Chapel Hill. +- [Xstrahl](http://www.xstrahl.com/) is developing a Small Animal Radiation Research Platform (SARRP) that uses 3D Slicer as its front-end application for radiation therapy beam placement and system control. + +Listed in alphabetical order. diff --git a/Docs/user_guide/data_loading_and_saving.rst b/Docs/user_guide/data_loading_and_saving.rst new file mode 100644 index 00000000000..4e17824b574 --- /dev/null +++ b/Docs/user_guide/data_loading_and_saving.rst @@ -0,0 +1,3 @@ +======================= +Data Loading and Saving +======================= diff --git a/Docs/user_guide/extensions_manager.rst b/Docs/user_guide/extensions_manager.rst new file mode 100644 index 00000000000..0d55c80ea8a --- /dev/null +++ b/Docs/user_guide/extensions_manager.rst @@ -0,0 +1,3 @@ +================== +Extensions Manager +================== diff --git a/Docs/user_guide/getting_started.rst b/Docs/user_guide/getting_started.rst new file mode 100644 index 00000000000..3d54603bf6f --- /dev/null +++ b/Docs/user_guide/getting_started.rst @@ -0,0 +1,102 @@ +=============== +Getting Started +=============== + +Welcome to the 3D Slicer community. Here you will learn the basics of using Slicer including installing 3D Slicer, the basics of the main application GUI, how to use Slicer and where to find tutorials and more information. + + +What is Slicer ? +---------------- + +3D Slicer is: + +* A software platform for the analysis (including registration and interactive segmentation) and visualization (including volume rendering) of medical images and for research in image guided therapy. +* A free, `open source `_ software available on multiple operating systems: Linux, MacOSX and Windows +* Extensible, with powerful plug-in capabilities for adding algorithms and applications. + +Features include: + +* Multi organ: from head to toe. +* Support for multi-modality imaging including, MRI, CT, US, nuclear medicine, and microscopy. +* Bidirectional interface for devices. + +.. important:: + + There is no restriction on use, but Slicer is **NOT** approved for clinical use and intended for research. Permissions and compliance with applicable rules are the responsibility of the user. For details on the license see `here `__. + + +Hardware Requirements +--------------------- + +3D Slicer is an open-source package that can be used on Mac, Linux and Windows. In order to run 3D Slicer your computer must have the graphics capabilities and memory to hold the original image data and process results. A 64-bit system is required. Click here more information. + + +Installing 3D Slicer +-------------------- + +To install Slicer, click `here `__. + +.. figure:: https://www.slicer.org/w/images/9/90/Screen_Shot_2016-06-01_at_1.21.15_PM.png + + The Nightly version of 3D Slicer is updated nightly as groups of developers make changes. The Stable version of 3D + Slicer is not updated nightly and is more rigorously tested. + + +Once downloaded, follow the instructions to complete installation. + + +Further Documentation +--------------------- + +If you're interested in extending your knowledge, access the User Manual. See also the `archives of the users mailing list `_. The archive is searchable so most answers to questions can be found there. + +If you're a developer looking for more information, access the Developer Manual. See also `archives of the developer's mailing list `_. Similar to the Users Mailing List archive, it is searchable. + + +User Interface Overview +----------------------- + +3D Slicer is built on a modular architecture. The Main Application GUI is divided into six components: the Application Menu Bar, the Application Toolbar, the Module GUI Panel, the Data Probe Panel, the 2D Slice Viewers, and the 3D Viewer. + +This section will introduce you to the basic functions on the main application's GUI. If you require detailed information, visit this page. + + +Open 3D Slicer and load your own data or download sample data to explore. Go ahead and click around the user interface. + + +.. image:: https://www.slicer.org/w/images/a/a6/LoadingData-16-06-06.png + +.. image:: https://www.slicer.org/w/images/2/22/SampleData-06-06.png + +From the Welcome panel, you can load your own data or download sample data. Sample data is often useful for exploring the features of 3D Slicer if you don't have data of your own. + +.. image:: https://www.slicer.org/w/images/8/88/SliceViewOptions-2016-06-01.png + +.. image:: https://www.slicer.org/w/images/b/b5/ModuleExtensionAccess-2016-06-01.png + +Click on the push pin in the top left corner of each of the Slice Viewers or the 3D Viewer to see more options. In the Slice Viewers, the horizontal bar can be used to scroll through slices or select a slice. You can explore the various options using your loaded data or downloaded sample data. + +Tutorials +--------- + +The 3D Slicer documentation has an abundance of tutorials to help you familiarize yourself with the basics of 3D Slicer and with specific modules. + +Try the `Welcome Tutorial `_ and the `Data Loading and 3D Visualization Tutorial `_ to learn the basics of using 3D Slicer. + +* To learn about using Slicer for 3D Printing, visit this tutorial. +* To learn about Neurosurgical Planning with Slicer, visit this tutorial. +* To learn about DTI, visit this tutorial. + +For more tutorials, visit the Tutorial page to see a comprehensive list. Additionally, visit our YouTube page for video tutorials. + +If you would like to see a list of example cases with data sets and steps to achieve the same result, visit the Registration Library. + + +Modules +------- + +Extensions +---------- + +Use Cases +--------- diff --git a/Docs/user_guide/license.rst b/Docs/user_guide/license.rst new file mode 100644 index 00000000000..276d8f2943a --- /dev/null +++ b/Docs/user_guide/license.rst @@ -0,0 +1,8 @@ +======= +License +======= + +The 3D Slicer software is distributed under a BSD-style open source license that is compatible with the Open Source Definition by `The Open Source Initiative `_ and contains no restrictions on use of the software. + +To use Slicer, please read the `3D Slicer Software License Agreement `_ before downloading any binary releases of the Slicer. + diff --git a/Docs/user_guide/settings.rst b/Docs/user_guide/settings.rst new file mode 100644 index 00000000000..fc89651c159 --- /dev/null +++ b/Docs/user_guide/settings.rst @@ -0,0 +1,3 @@ +======== +Settings +======== diff --git a/Docs/user_guide/user_interface.rst b/Docs/user_guide/user_interface.rst new file mode 100644 index 00000000000..83e9d45e950 --- /dev/null +++ b/Docs/user_guide/user_interface.rst @@ -0,0 +1,115 @@ +============== +User Interface +============== + +Application Menu +---------------- + +Slicer's Application Menu contains many useful features. A brief overview of some of these is given below. + +The **File Menu** contains options for loading a MRML scene, for downloading sample datasets from the internet, or individual datasets of various types. An option for saving scenes and data is also provided here. + +The **Edit menu** contains an option to raise the Application Settings Interface. This interface allows users to customize their installation of Slicer. 'Edit->Application Settings can be used to include or suppress various Slicer modules, to customize the appearance of your Python Interactor, to select a custom font, to specify a temporary directory, and to accomplish other customizations as well. + +The **View menu** contains options to raise the Python Interactor and the Error Log, both useful developer tools. Menu options to switch layouts, and to toggle the display of individual toolbars and the module GUI panels are also provided under the View Menu. + +.. figure:: https://www.slicer.org/w/images/c/c6/Slicer4AppMenu.jpg + + File, Edit and View menus + + +Toolbar +------- + +The Toolbar provides shortcuts to many useful sets of functionality. The following toolbars appear here by default. Customization is possible from the Slicer View Menu. + +Load & Save Options +^^^^^^^^^^^^^^^^^^^ + +The **Load Scene** option will raise a browser to select and load a collection of data as a MRML scene. This option clears the existing scene and resets the application state. + +The **Save** option will raise the "Save Data" Interface which offers a variety of options for saving MRML scenes and individual datasets. + +Module Selection & Navigation +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The Module Selection & Navigation toolbar provides options for searching for module names, selecting from a module menu, and moving backward and forward through the module selection history for convenience. + +Core Modules +^^^^^^^^^^^^ + +The Core Module Toolbar provides shortcuts to your "Home" module, and some of Slicer's core modules including: + +* Data +* Volumes +* Models +* Transforms +* Markups +* Segment Editor + +Layouts +^^^^^^^ + +The Layout Toolbar provides a drop-down menu of layouts useful for many types of studies. When Slicer is exited normally, the selected layout is saved and restored as part of the Application state. + +.. image:: https://www.slicer.org/w/images/8/82/Slicer4Layouts.jpg + + +Mouse Modes +^^^^^^^^^^^ + +Slicer has two mouse modes: **Transform** (which allows interactive rotate, translate and zoom operations), and **Place** (which permits objects to be interactively placed in 3D or 2D). + +.. image:: https://www.slicer.org/w/images/7/7b/Slicer4MouseModeToolbar.jpg + +The toolbar icons that switch between these mouse modes are shown from left to right above, respectively. Place Fiducial is the default place option as shown above; options to place both Ruler and Region of Interest Widgets are also available from the drop-down Place Mode menu. + +.. note:: + + Transform mode is the default interaction mode. By default, Place mode persists for one "place" operation after the + Place Mode icon is selected, and then the mode switches back to Transform. Place mode can be made persistent (useful + for creating multiple fiducial points, rulers, etc.) by checking the Persistent checkbox shown rightmost in the Mouse + Mode Toolbar. + +Screenshots & Scene Views +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Crosshair Options +^^^^^^^^^^^^^^^^^ + +Module Panel +------------ + +Data Probe +---------- + +3D Viewer +--------- + +Slice Viewers +------------- + +Chart Viewers +------------- + +Mouse & Keyboard Across Platforms +--------------------------------- + +Adjusting Window & Level on All Platforms +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Selecting & Manipulating on All Platforms +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Viewer Cross^Reference on All Platforms +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Zoom In & Out in Slice & 3D Viewers +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Pan (Translate) in Slicer & 3D Viewers +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Rotate in 3D Viewers +^^^^^^^^^^^^^^^^^^^^ + diff --git a/requirements-docs.txt b/requirements-docs.txt new file mode 100644 index 00000000000..36901feee74 --- /dev/null +++ b/requirements-docs.txt @@ -0,0 +1,7 @@ +docutils +pygments +recommonmark +sphinx +sphinx-issues +sphinx_rtd_theme +