Introduction to Python and VTK

Total Page:16

File Type:pdf, Size:1020Kb

Introduction to Python and VTK Introduction to Python and VTK Scientific Visualization Workshop 2014 Johan Nysjö Centre for Image analysis Swedish University of Agricultural Sciences Uppsala University About me ● PhD student in Computerized Image Analysis ● Develop methods and tools for interactive analysis of medical 3D (volume) images History ● The Python programming language was developed in the late 1980s by a Dutch computer programmer named Guido Van Rossum (who now is the Benevolent Dictator for Life of the language) ● First version released in 1991 ● Named after the Monty Python comedy group, not the snake... Key features ● General-purpose, high-level programming language ● Clear, readable syntax (similar to pseudocode) ● Dynamically AND strongly typed (see explanation here) ● Multi-paradigm: you can write code that is (fully or partially) procedural, object-oriented, or functional ● No compiling* ● Has extensive standard libraries and a rich selection of third-party modules ● Good for rapid prototyping * some compiling is performed in the background to transform source code to byte code (*.pyc files) Running a Python program ● Suppose that we have a program hello.py containing this single line of code: ● To run this program, just open a terminal, navigate to the directory of the file, and type Built-in numeric types ● Integers (int): 1, 2, 3 ● Floats (float): 0.1, 3.141592 (64-bit by default) ● Complex: 0+1j, 1.1+3.5j ● Booleans: True, False Container types ● Strings (str): ”python”, ”foo” ● Lists (list): [1, 2, 3], [0.5, ”bar”, True], [[0, 1, 0], [1, 0, 0]] ● Tuples (tuple): (1, 2, 3) ● Dictionaries (dict): {”key0”: 1.5, ”key1”: 3.0} ● Strings and tuples are immutable (i.e., cannot be modified after creation), whereas lists and dictonaries are mutable (can be modified) ● Lists, tuples and dictionaries can contain mixed types Control flow ● No switch-statement, but otherwise all the familiar control-flow statements are there. Examples: Functions ● Functions are defined like this: Whitespace-sensitive syntax ● Python uses ”:” and whitespace indentation to delimit code blocks, e.g., define where a function or control-flow statement starts and stops ● Controversial design choice... ● Forces you to write readable (or at least well-indented) code File I/O ● Using the with statement (available since Python 2.5), reading or writing to file is really simple: Classes ● Python supports object-oriented programming (unlike Java or C++, getters and setters are normally not used in Python) Modules ● Every *.py file is a module ● Related functions and classes should be grouped into modules ● You can then use the import statement to import the module (or some selected part of it) into your script ● Related modules can be grouped into a package (good if you plan to distribute your code) The Python standard library ● Provides modules for file and directory access, mathematics, testing, GUI programming, networking, etc ● Read more about it on http://docs.python.org/2/library/index.html ● Some useful modules from the standard library are ▬ math (mathematical functions and constants) ▬ os (operating system functionality) ▬ sys (system-specific parameters and functions) Python versions (2.x vs. 3.x) ● The Python 3.x branch is a revision of the language and offers many improvements over Python 2.x ● However, Python 3.x is not backward-compatible, and many existing packages (e.g., VTK) for Python 2.x have not yet been ported to Python 3.x ● Python 2.x is still more widely used ● See http://wiki.python.org/moin/Python2orPython3 for more info ● In this workshop we will use Python 2.6 or 2.7 Text editors, IDEs, and interactive shells ● You can write your Python code in a text editor like Vim or Emacs, or use an IDE (see this list for options) ● The standard Python shell is great for trying out language features ● For a more powerful interactive computing environment, have a look at IPython Style guide for Python code (PEP8) ● To simplify the life for Python programmers, some of the language developers sat down and wrote a style guide for Python code: PEP8 ● The guidelines in PEP8 are just recommendations: you are free to break them and define your own coding style guide (but please be consistent) When you need more speed ● NumPy & SciPy ● Cython (supports parallel processing via OpenMP) ● PyCUDA ● PyOpenCL Other useful packages ● Graphics programming and visualization ▬ PyOpenGL, VTK, Mayavi ● GUI programming ▬ PyQt/PySide, wxPython, Tkinter ● Image analysis and processing ▬ ITK, Pillow ● Computer vision ▬ OpenCV ● Plotting ▬ Matplotlib Python tutorials ● If you are new to Python, start with: https://docs.python.org/2/tutorial/ ● Zed Shaw's ”Learning Python The Hard Way” is also a good (but more demanding) tutorial: http://learnpythonthehardway.org/book/ The Visualization Toolkit (VTK) ● Open source, freely available C++ toolkit for ▬ scientific visualization ▬ 3D computer graphics ▬ mesh and image processing ● Managed by Kitware Inc. VTK ● Object-oriented design ● High level of abstraction (compared to graphics APIs like OpenGL or Direct3D) ● Provides bindings to Tcl/Tk, Python, and Java ● GUI bindings: Qt, wxWidgets, Tkinter, etc Heavily object-oriented (and a bit over-designed...) Some examples of what you can do with VTK ● Create visualizations of ▬ scalar, vector, and tensor fields ▬ volume data (e.g., 3D CT or MRI scans) ● Mesh and polygon processing ● Image analysis (2D and 3D images) ● Isosurface extraction ● Implementing your own algorithms Volume rendering Rendering graphical 3D models (imported from .stl, .ply, .obj, etc) Rendering performance ● VTK has decent rendering performance and is good for rapid prototyping of 3D visualization tools ● Not suitable for rendering large realistic 3D scenes with lots of dynamic content (i.e., games) The visualization pipeline Input data Visualization The visualization pipeline ● To visualize your data in VTK, you normally set up a pipeline like this: Source/Reader Filter Mapper Actor Renderer Render Window Interactor Sources ● VTK provides various source classes that can be used to construct simple geometric objects like spheres, cubes, cones, cylinders, etc... ● Examples: vtkSphereSource, vtkCubeSource, vtkConeSource source/reader → filter → mapper → actor → renderer → renderWindow → interactor Readers ● Reads data from file ● You can use, e.g., vtkStructuredPointsReader to read a volumetric image from a .vtk file ● or vtkSTLReader to load a 3D polygon model from a .stl file ● If VTK cannot read your data, write your own reader! source/reader → filter → mapper → actor → renderer → renderWindow → interactor Filters ● Takes data as input, modifies it in some way, and returns the modified data ● Can be used to (for example) ▬ select data of a particular size, strength, intensity, etc ▬ process 2D/3D images or polygon meshes ▬ generate geometric objects from data source/reader → filter → mapper → actor → renderer → renderWindow → interactor Mappers ● Maps data to graphics primitives (points, lines, or triangles) that can be displayed by the renderer ● The mapper you will use most in the labs is vtkPolyDataMapper ● vtkPolyDataMapper maps polygonal data (vtkPolyData) to graphics primitives source/reader → filter → mapper → actor → renderer → renderWindow → interactor Image source: http://www.realtimerendering.com Actors ● vtkActor represents an object (geometry and properties) in a rendering scene ● Has position, scale, orientation, various rendering properties, textures, etc. Keeps a reference to the mapper. source/reader → filter → mapper → actor → renderer → renderWindow → interactor Rendering ● The process of converting 3D graphics primitives (points, lines, triangles, etc), a specification for lights and materials, and a camera view into an 2D image that can be displayed on the screen Image source: http://www.realtimerendering.com Renderer ● vtkRenderer controls the rendering process for actors and scenes ● Under the hood, VTK uses OpenGL for rendering source/reader → filter → mapper → actor → renderer → renderWindow → interactor Image source: http://www.realtimerendering.com Render window ● The vtkRenderWindow class creates a window for renderers to draw into source/reader → filter → mapper → actor → renderer → renderWindow → interactor Interactors ● The vtkRenderWindowInteractor class provides platform-independent window interaction via the mouse and keyboard ● Allows you to rotate/zoom/pan the camera, select and manipulate actors, etc ● Also handles time events source/reader → filter → mapper → actor → renderer → renderWindow → interactor Example 1: Rendering a cube Pipeline for the cube example Source import vtk # Generate polygon data for a cube cube = vtk.vtkCubeSource() source/reader → filter → mapper → actor → renderer → renderWindow → interactor Mapper # Create a mapper for the cube data cube_mapper = vtk.vtkPolyDataMapper() cube_mapper.SetInput(cube.GetOutput()) source/reader → filter → mapper → actor → renderer → renderWindow → interactor Actor # Connect the mapper to an actor cube_actor = vtk.vtkActor() cube_actor.SetMapper(cube_mapper) cube_actor.GetProperty().SetColor(1.0, 0.0, 0.0) source/reader → filter → mapper → actor → renderer → renderWindow → interactor Renderer # Create a renderer and add the cube actor to it renderer = vtk.vtkRenderer() renderer.SetBackground(0.0, 0.0, 0.0) renderer.AddActor(cube_actor) source/reader → filter → mapper → actor → renderer → renderWindow → interactor Render window # Create a render window render_window = vtk.vtkRenderWindow() render_window.SetWindowName("Simple VTK
Recommended publications
  • Inviwo — a Visualization System with Usage Abstraction Levels
    IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL X, NO. Y, MAY 2019 1 Inviwo — A Visualization System with Usage Abstraction Levels Daniel Jonsson,¨ Peter Steneteg, Erik Sunden,´ Rickard Englund, Sathish Kottravel, Martin Falk, Member, IEEE, Anders Ynnerman, Ingrid Hotz, and Timo Ropinski Member, IEEE, Abstract—The complexity of today’s visualization applications demands specific visualization systems tailored for the development of these applications. Frequently, such systems utilize levels of abstraction to improve the application development process, for instance by providing a data flow network editor. Unfortunately, these abstractions result in several issues, which need to be circumvented through an abstraction-centered system design. Often, a high level of abstraction hides low level details, which makes it difficult to directly access the underlying computing platform, which would be important to achieve an optimal performance. Therefore, we propose a layer structure developed for modern and sustainable visualization systems allowing developers to interact with all contained abstraction levels. We refer to this interaction capabilities as usage abstraction levels, since we target application developers with various levels of experience. We formulate the requirements for such a system, derive the desired architecture, and present how the concepts have been exemplary realized within the Inviwo visualization system. Furthermore, we address several specific challenges that arise during the realization of such a layered architecture, such as communication between different computing platforms, performance centered encapsulation, as well as layer-independent development by supporting cross layer documentation and debugging capabilities. Index Terms—Visualization systems, data visualization, visual analytics, data analysis, computer graphics, image processing. F 1 INTRODUCTION The field of visualization is maturing, and a shift can be employing different layers of abstraction.
    [Show full text]
  • A Client/Server Based Online Environment for the Calculation of Medical Segmentation Scores
    A Client/Server based Online Environment for the Calculation of Medical Segmentation Scores Maximilian Weber, Daniel Wild, Jürgen Wallner, Jan Egger Abstract— Image segmentation plays a major role in medical for medical image segmentation are often very large due to the imaging. Especially in radiology, the detection and development broadly ranged possibilities offered for all areas of medical of tumors and other diseases can be supported by image image processing. Often huge updates are needed, which segmentation applications. Tools that provide image require nightly builds, even if only the functionality of segmentation and calculation of segmentation scores are not segmentation is needed by the user. Examples are 3D Slicer available at any time for every device due to the size and scope [8], MeVisLab [9] and MITK [10], [11], which have installers of functionalities they offer. These tools need huge periodic that are already over 1 GB. In addition, in sensitive updates and do not properly work on old or weak systems. environments, like hospitals, it is mostly not allowed at all to However, medical use-cases often require fast and accurate install these kind of open-source software tools, because of results. A complex and slow software can lead to additional security issues and the potential risk that patient records and stress and thus unnecessary errors. The aim of this contribution data is leaked to the outside. is the development of a cross-platform tool for medical segmentation use-cases. The goal is a device-independent and The second is the need of software for easy and stable always available possibility for medical imaging including manual segmentation training.
    [Show full text]
  • Medical Image Processing Software
    Wohlers Report 2018 Medical Image Processing Software Medical image Patient-specific medical devices and anatomical models are almost always produced using radiological imaging data. Medical image processing processing software is used to translate between radiology file formats and various software AM file formats. Theoretically, any volumetric radiological imaging dataset by Andy Christensen could be used to create these devices and models. However, without high- and Nicole Wake quality medical image data, the output from AM can be less than ideal. In this field, the old adage of “garbage in, garbage out” definitely applies. Due to the relative ease of image post-processing, computed tomography (CT) is the usual method for imaging bone structures and contrast- enhanced vasculature. In the dental field and for oral- and maxillofacial surgery, in-office cone-beam computed tomography (CBCT) has become popular. Another popular imaging technique that can be used to create anatomical models is magnetic resonance imaging (MRI). MRI is less useful for bone imaging, but its excellent soft tissue contrast makes it useful for soft tissue structures, solid organs, and cancerous lesions. Computed tomography: CT uses many X-ray projections through a subject to computationally reconstruct a cross-sectional image. As with traditional 2D X-ray imaging, a narrow X-ray beam is directed to pass through the subject and project onto an opposing detector. To create a cross-sectional image, the X-ray source and detector rotate around a stationary subject and acquire images at a number of angles. An image of the cross-section is then computed from these projections in a post-processing step.
    [Show full text]
  • Getting Started First Steps with Mevislab
    Getting Started First Steps with MeVisLab 1 Getting Started Getting Started Copyright © 2003-2021 MeVis Medical Solutions Published 2021-05-11 2 Table of Contents 1. Before We Start ................................................................................................................... 10 1.1. Welcome to MeVisLab ............................................................................................... 10 1.2. Coverage of the Document ........................................................................................ 10 1.3. Intended Audience ..................................................................................................... 11 1.4. Conventions Used in This Document .......................................................................... 11 1.4.1. Activities ......................................................................................................... 11 1.4.2. Formatting ...................................................................................................... 11 1.5. How to Read This Document ..................................................................................... 12 1.6. Related MeVisLab Documents ................................................................................... 12 1.7. Glossary (abbreviated) ............................................................................................... 13 2. The Nuts and Bolts of MeVisLab ........................................................................................... 15 2.1. MeVisLab Basics ......................................................................................................
    [Show full text]
  • Getting Started First Steps with Mevislab
    Getting Started First Steps with MeVisLab 1 Getting Started Getting Started Published April 2009 Copyright © MeVis Medical Solutions, 2003-2009 2 Table of Contents 1. Before We Start ..................................................................................................................... 1 1.1. Welcome to MeVisLab ................................................................................................. 1 1.2. Coverage of the Document .......................................................................................... 1 1.3. Intended Audience ....................................................................................................... 1 1.4. Requirements .............................................................................................................. 2 1.5. Conventions Used in This Document ............................................................................ 2 1.5.1. Activities ........................................................................................................... 2 1.5.2. Formatting ........................................................................................................ 2 1.6. How to Read This Document ....................................................................................... 2 1.7. Related MeVisLab Documents ..................................................................................... 3 1.8. Glossary (abbreviated) ................................................................................................. 4 2. The Nuts
    [Show full text]
  • An Open-Source Visualization System
    OpenWalnut { An Open-Source Visualization System Sebastian Eichelbaum1, Mario Hlawitschka2, Alexander Wiebel3, and Gerik Scheuermann1 1Abteilung f¨urBild- und Signalverarbeitung, Institut f¨urInformatik, Universit¨atLeipzig, Germany 2Institute for Data Analysis and Visualization (IDAV), and Department of Biomedical Imaging, University of California, Davis, USA 3 Max-Planck-Institut f¨urKognitions- und Neurowissenschaften, Leipzig, Germany [email protected] Abstract In the last years a variety of open-source software packages focusing on vi- sualization of human brain data have evolved. Many of them are designed to be used in a pure academic environment and are optimized for certain tasks or special data. The open source visualization system we introduce here is called OpenWalnut. It is designed and developed to be used by neuroscientists during their research, which enforces the framework to be designed to be very fast and responsive on the one side, but easily extend- able on the other side. OpenWalnut is a very application-driven tool and the software is tuned to ease its use. Whereas we introduce OpenWalnut from a user's point of view, we will focus on its architecture and strengths for visualization researchers in an academic environment. 1 Introduction The ongoing research into neurological diseases and the function and anatomy of the brain, employs a large variety of examination techniques. The different techniques aim at findings for different research questions or different viewpoints of a single task. The following are only a few of the very common measurement modalities and parts of their application area: computed tomography (CT, for anatomical information using X-ray measurements), magnetic-resonance imag- ing (MRI, for anatomical information using magnetic resonance esp.
    [Show full text]
  • An Efficient Support for Visual Computing in Surgical Planning and Training
    Nr.: FIN-004-2008 The Medical Exploration Toolkit - An efficient support for visual computing in surgical planning and training Konrad Mühler, Christian Tietjen, Felix Ritter, Bernhard Preim Arbeitsgruppe Visualisierung (ISG) Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg Impressum (§ 10 MDStV): Herausgeber: Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Der Dekan Verantwortlich für diese Ausgabe: Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Konrad Mühler Postfach 4120 39016 Magdeburg E-Mail: [email protected] http://www.cs.uni-magdeburg.de/Preprints.html Auflage: 50 Redaktionsschluss: Juni 2008 Herstellung: Dezernat Allgemeine Angelegenheiten, Sachgebiet Reproduktion Bezug: Universitätsbibliothek/Hochschulschriften- und Tauschstelle The Medical Exploration Toolkit – An efficient support for visual computing in surgical planning and training Konrad M¨uhler, Christian Tietjen, Felix Ritter, and Bernhard Preim Abstract—Application development is often guided by the usage of software libraries and toolkits. For medical applications, the currently available toolkits focus on image analysis and volume rendering. Advanced interactive visualizations and user interface issues are not adequately supported. Hence, we present a toolkit for application development in the field of medical intervention planning, training and presentation – the MEDICALEXPLORATIONTOOLKIT (METK). The METK is based on rapid prototyping platform MeVisLab and offers a large variety of facilities for an easy and efficient application development process. We present dedicated techniques for advanced medical visualizations, exploration, standardized documentation and interface widgets for common tasks. These include, e.g., advanced animation facilities, viewpoint selection, several illustrative rendering techniques, and new techniques for object selection in 3d surface models. No extended programming skills are needed for application building, since a graphical programming approach can be used.
    [Show full text]
  • Arxiv:1904.08610V1 [Cs.CV] 18 Apr 2019
    A Client/Server Based Online Environment for Manual Segmentation of Medical Images Daniel Wild∗ Maximilian Webery Jan Eggerz Institute of Computer Graphics and Vision Graz University of Technology Graz / Austria Computer Algorithms for Medicine Lab Graz / Austria Abstract 1 Introduction Segmentation is a key step in analyzing and processing Image segmentation is an important step in the analysis medical images. Due to the low fault tolerance in medical of medical images. It helps to study the anatomical struc- imaging, manual segmentation remains the de facto stan- ture of body parts and is useful for treatment planning and dard in this domain. Besides, efforts to automate the seg- monitoring of diseases over time. Segmentation can ei- mentation process often rely on large amounts of manu- ther be done manually by outlining the regions of an im- ally labeled data. While existing software supporting man- age by hand or with the help of semi-automatic or au- ual segmentation is rich in features and delivers accurate tomatic algorithms. A lot of research focuses on semi- results, the necessary time to set it up and get comfort- automatic and automatic algorithms, as manual segmenta- able using it can pose a hurdle for the collection of large tion can be quite tedious and time-consuming work. But datasets. even for the development of automated segmentation sys- This work introduces a client/server based online envi- tems, some ground truth has to be found, telling the system ronment, referred to as Studierfenster, that can be used to what exactly constitutes a correct segmentation. As the perform manual segmentations directly in a web browser.
    [Show full text]
  • Release Notes Version 3.1.1 Stable Release (2018-12)
    Release Notes This document lists the most relevant changes, additions, and fixes provided by the latest MeVisLab releases. Version 3.1.1 Stable Release (2018-12) New Features • C++: Updated the Eigen library to version 3.3.5. This was necessary because newer updates of Visual Studio 2017 generate a compile error when including certain header files of this library. • C++: Support CUDA 10 in project generation. • C++: Added new template class TypedBaseField to ML library, which allows for convenient typed access of the contained Base object. • C++: Added method clearTriggers to the SoPointingAction class. • C++: Make libraries MLGraphUtilities and SoCoordUtils1 usable from own projects. • C++: Added macro SO_NODE_ADD_ENUM_FIELD as a shortcut for SO_NODE_SET_SF_ENUM_TYPE and SO_NODE_ADD_FIELD to Inventor. • The Field control got a browsingGroup attribute, which allows to store last used directories for different purposes separately. There is also a new optional parameter of the same name for the methods of the MLABFileDialog scripting class. • Added a scripting wrapper for some of the OpenVDB functionality. Using the wrapper can be more efficient than using the OpenVDB modules, since several level-set operations can be chained. See class MLOpenVDBToolsWrapper in the Scripting Reference for details. • Added function addQuadPatchFromNumPyArray to WEM scripting wrapper, and fixed addTrianglePatchFromNumPyArray, which didn't associate the nodes to the faces. • Also added function addPatchCopy to WEM scripting wrapper to copy a patch from another WEM. • Module DicomReceiver got a new field additionalStoreSCPOptions to specify additional command line options. • The minimum and maximum values of the BoundingBox module can be activated separately with checkboxes now. • Added isMouseOver field to module SoMenuItem.
    [Show full text]
  • Computer Graphics, Computer Vision and Image Processing Interconnects and Applications
    COMPUTER GRAPHICS, COMPUTER VISION AND IMAGE PROCESSING INTERCONNECTS AND APPLICATIONS Muhammad Mobeen Movania Assistant Professor Habib University Outlines • About the presenter • What is Computer Graphics • What is Computer Vision • What is Digital Image Processing • Interconnects between CG, CV and DIP • Applications • Resources to get started • Useful libraries and tools • Our research work in Computer Graphics • Conclusion 2 About the Presenter • PhD, Computer Graphics and Visualization, Nanyang Technological University Singapore, 2012 – Post-Doc Research at Institute for Infocomm Research (I2R), A-Star, Singapore (~1.5 years) • Publications: 2 books, 3 book chapters, 9 Journals, 10 conferences – OpenGL 4 Shading Language Cookbook - Third Edition, 2018. (Reviewer) – OpenGL-Build high performance graphics, 2017. (Author) – Game Engine Gems 3, April 2016. (Contributor) – WebGL Insights, Aug 2015. (Contributor/Reviewer) – OpenGL 4 Shading Language Cookbook - Second Edition, 2014. (Reviewer) – Building Android Games with OpenGL ES online course, 2014. (Reviewer) – OpenGL Development Cookbook, 2013. (Author) – OpenGL Insights, 2012. (Contributor/Reviewer) 3 Flow of this Talk Slide 5 Basics What is CG? What is CV? What is DIP? Key stages in Key stages in Key stages in CG? CV? DIP? What is AR/VR/MR? Interconnect Applications Resources to get started (development and research) Progression of presentation Progression Useful libraries and Tools Our research and development work in CG Conclusion Slide 57 4 Basics 5 What is Computer Graphics?
    [Show full text]
  • Campvis a Game Engine-Inspired Research Framework for Medical Imaging and Visualization
    CAMPVis A Game Engine-inspired Research Framework for Medical Imaging and Visualization Christian Schulte zu Berge, Artur Grunau, Hossain Mahmud, and Nassir Navab Chair for Computer Aided Medical Procedures, Technische Universität München, Munich, Germany [email protected] Abstract Intra-operative visualization becomes more and more an essential part of medical interventions and provides the surgeon with powerful support for his work. However, a potential deployment in the operation room yields various challenges for the developers. Therefore, companies usually oer highly specialized solutions with limited maintainability and extensibility As novel approach, the CAMPVis software framework implements a modern video game engine architecture to provide an infrastructure that can be used for both research purposes and end-user solutions. It is focused on real-time processing and fusion of multi-modal medical data and its visualization. The fusion of multiple modalities (such as CT, MRI, ultrasound, etc.) is the essential step to eectively improve and support the clinician's workow. Furthermore, CAMPVis provides a library of various algorithms for preprocessing and visualization that can be used and combined in a straight-forward way. This boosts cooperation and synergy eects between dierent developers and the reusability of developed solutions. 1 Introduction mation of implemented algorithms to end-user products. Sandbox-like environments: While using the same code Recent advances in the eld of medical image computing pro- base, multiple developers can implement code indepen- vides today's clinicians with a large collection of imaging dently from each other without forcing each other to meet modalities and algorithms for automatic image analysis.
    [Show full text]
  • Getting Started First Steps with Mevislab
    Getting Started First Steps with MeVisLab 1 Getting Started Getting Started Copyright © 2003-2021 MeVis Medical Solutions Published 2021-10-05 2 Table of Contents 1. Before We Start ................................................................................................................... 10 1.1. Welcome to MeVisLab ............................................................................................... 10 1.2. Coverage of the Document ........................................................................................ 10 1.3. Intended Audience ..................................................................................................... 11 1.4. Conventions Used in This Document .......................................................................... 11 1.4.1. Activities ......................................................................................................... 11 1.4.2. Formatting ...................................................................................................... 11 1.5. How to Read This Document ..................................................................................... 12 1.6. Related MeVisLab Documents ................................................................................... 12 1.7. Glossary (abbreviated) ............................................................................................... 13 2. The Nuts and Bolts of MeVisLab ........................................................................................... 15 2.1. MeVisLab Basics ......................................................................................................
    [Show full text]