Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion mevislab.github.io/content/about/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Hints common mistakes or steps you should consider beforehand.
{{</alert>}}

## Keyboard Shortcuts
Keyboard shortcuts are incorporated like this: {{< keyboard "CTRL" "ALT" "2" >}}.
Keyboard shortcuts are incorporated like this: {{< keyboard "Ctrl" "Alt" "2" >}}.

## Networks
The networks shown and used in the tutorials can be found in the [Examples](examples) section of this page.
Expand Down
4 changes: 2 additions & 2 deletions mevislab.github.io/content/contact.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ draft: false
Having any questions on MeVisLab Licensing? Please contact the [MeVisLab Sales Team](mailto://sales@mevislab.de)

#### MeVisLab Forum
Searching for a forum to ask your specific MeVisLab questions? Having trouble with functionalities? Ask [here](https://forum.mevislab.de)! Someone else might know the answer. If not - one of our developers will help you out!
Searching for a forum to ask your specific MeVisLab questions? Having trouble with functionalities? Ask [here](https://forum.mevislab.de)! Someone else might know the answer. If not &mdash; one of our developers will help you out!

#### General Questions
General questions regarding MeVisLab? Don't hesitate to contact the [MeVisLab Team](mailto://info@mevislab.de).

#### YouTube
Also: If you haven't yet - have a look at our [YouTube Channel](https://www.youtube.com/channel/UCUGi64NseroIGjga8l7EX8g). You will find a variety of helpful tutorials provided to you by the MeVisLab Team.
Also: If you haven't yet &mdash; have a look at our [YouTube Channel](https://www.youtube.com/channel/UCUGi64NseroIGjga8l7EX8g). You will find a variety of helpful tutorials provided to you by the MeVisLab Team.

Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Additionally, the images are modified by a local macro module `Filter` and shown

In order to display the same slice (unchanged and changed), the module `SyncFloat` is used to synchronize the field value <field>startSlice</field> in both viewers. The `SyncFloat` module duplicates the value <field>Float1</field> to the field <field>Float2</field> if it differs by <field>Epsilon</field>.

![Screenshot](examples/basic_mechanisms/contour_filter/image.png)
![Example network](examples/basic_mechanisms/contour_filter/image.png "Example network")

# Download
You can download the example network [here](examples/basic_mechanisms/contour_filter/ContourFilter.zip)
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ category: "basic_mechanisms"
This example contains an entire package structure. Inside, you can find the example contour filter for which a panel was created.

## Summary
A new macro module `Filter` has been created. Initially, macro modules do not provide an own panel containing user interface elements such as buttons. The *Automatic Panel* is shown on double-clicking the module providing the name of the module.
A new macro module `Filter` has been created. Initially, macro modules do not provide an own panel containing user interface elements such as buttons. The *Automatic Panel* is shown on double-clicking {{< mousebutton "left" >}} the module providing the name of the module.

In this example we update the *.script* file of the `Filter` module to display the <field>Kernel</field> field of the `Convolution` module within its network.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ A new macro module `IsoCSOs` is created providing two viewers in its internal ne

To showcase how Python functions can be implemented in MeVisLab and called from within a module, additional buttons to browse directories and create contours via the `CSOIsoGenerator` are added. Lastly, a field listener is implemented that reacts to field changes by colorizing contours when the user hovers over them with the mouse.

![Screenshot](examples/basic_mechanisms/macro_modules_and_module_interaction/example2/image2.png)
![Example network](examples/basic_mechanisms/macro_modules_and_module_interaction/example2/image2.png "Example network")

![Screenshot](examples/basic_mechanisms/macro_modules_and_module_interaction/example2/image.png)
![Coloring a contour with Python](examples/basic_mechanisms/macro_modules_and_module_interaction/example2/image.png "Coloring a contour with Python")

# Download
The files need to be added to a package. You can download the example network [here](examples/basic_mechanisms/macro_modules_and_module_interaction/example2/ScriptingExample2.zip)
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ category: "basic_mechanisms"
# Example 3: Creating a Simple Application
In this example, you will learn how to create a simple prototype application in MeVisLab including a user interface (UI) with 2D and 3D viewers.

![Screenshot](examples/basic_mechanisms/viewer_application/image.png)
![Simple application with a 2D and a 3D viewer](examples/basic_mechanisms/viewer_application/image.png "Simple application with a 2D and a 3D viewer")

# Download
You can download the example network [here](examples/basic_mechanisms/viewer_application/viewerexample.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Contours are stored as Contour Segmentation Objects (CSOs) in MeVisLab.
This example highlights ways of creating CSOs using modules of the `SoCSOEditor` group.

{{<alert class="info" caption="Info">}}
You may want to look at the glossary entry on [*CSOs*](glossary/#contour-segmented-objects).
You may want to look at the glossary entry on [*CSOs*](glossary/#contour-segmentation-objects).
{{</alert>}}

The `SoCSOEditor` module group contains several modules, some of which are listed right below:
Expand All @@ -30,13 +30,13 @@ The `SoCSOEditor` module group contains several modules, some of which are liste
Whenever Contour Segmentation Objects are created, they are temporarily stored by and can be managed with the `CSOManager`.
{{</alert>}}

In this example, contours are created and colors and styles of these CSOs are customized by using the `SoCSOVisualizationSettings` module.
In this example, contours are created, and colors and styles of these CSOs are customized by using the `SoCSOVisualizationSettings` module.

![Screenshot](examples/data_objects/contours/example1/image.png)
![Visualization of a spline CSO is customized](examples/data_objects/contours/example1/image.png "Visualization of a spline CSO is customized")

## Summary
* Contours are stored as their own abstract data type called Contour Segmentation Objects (often abbreviated to *CSO*).
* The `SoCSO\*Editor` module group contains several useful modules to create, interact with or modify CSOs.
* Contours are stored as their own abstract data type called Contour Segmentation Objects (abbreviated to *CSO*).
* The `SoCSO\*Editor` module group contains several useful modules to create, interact with, or modify CSOs.
* Created CSOs are temporarily stored and can be managed using the `CSOManager`.

# Download
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ In this example, semiautomatic countours are created using the `SoCSOLiveWireEdi

Additional contours between the manually created ones are generated by the `CSOSliceInterpolator` and added to the `CSOManager`. Different groups of contours are created for the left and right lobe of the lung and colored respectively.

![Screenshot](examples/data_objects/contours/example2/image.png)
![Manually created CSOs are automatically interpolated](examples/data_objects/contours/example2/image.png "Manually created CSOs are automatically interpolated")

# Download
You can download the example network [here](examples/data_objects/contours/example2/ContourExample2.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The module `VoxelizeCSO` is used to create a three-dimensional voxel mask of the

Lastly, the panel of the `View3D` module is used to visualize the voxel mask in 3D.

![Screenshot](examples/data_objects/contours/example3/image.png)
![Manually created CSOs are automatically interpolated and shown in 2D and in 3D](examples/data_objects/contours/example3/image.png "Manually created CSOs are automatically interpolated and shown in 2D and in 3D")

# Download
You can download the example network [here](examples/data_objects/contours/example3/ContourExample3.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This example shows how to add annotations to an image.
## Summary
In this example, the network of **Contour Example 3** is extended, so that the volume of the 3D mask generated by the `VoxelizeCSO` module is calculated. The `CalculateVolume` module counts the number of voxels in the given mask and returns the correct volume in ml. The calculated volume will be used for a custom `SoView2DAnnotation` displayed in the `View2D`.

![Screenshot](examples/data_objects/contours/example4/image.png)
![Volume of a mask image is calculated and shown as an annoation](examples/data_objects/contours/example4/image.png "Volume of a mask image is calculated and shown as an annoation")

# Download
You can download the example network [here](examples/data_objects/contours/example4/ContourExample4.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ In this example, the `CSOIsoGenerator` is used to generate contours based on a g

"Ghosting" means not only showing contours available on the currently visible slice but also contours on the neighboring slices with increasing transparency.

The contours are also displayed in a three-dimensionsl `SoExaminerViewer` by using the `SoCSO3DRenderer`.
The contours are also displayed in a three-dimensionsal `SoExaminerViewer` by using the `SoCSO3DRenderer`.

![Screenshot](examples/data_objects/contours/example5/image.png)
![CSOs on slices below and above the current slice are shown with ghosting](examples/data_objects/contours/example5/image.png "CSOs on slices below and above the current slice are shown with ghosting")

# Download
You can download the example network [here](examples/data_objects/contours/example5/ContourExample5.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ category: "data_objects"

# Curves Example: Drawing Curves
This examples shows how to create and render curves.
![Screenshot](examples/data_objects/curves/example1/image.png)
![Multiple curves are rendered in a single 2D viewer](examples/data_objects/curves/example1/image.png "Multiple curves are rendered in a single 2D viewer")

# Download
You can download the example network [here](examples/data_objects/curves/example1/Curves.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ category: "data_objects"

# Marker Example 1: Distance Between Markers
This examples shows how to create markers in a viewer and measure their distance.
![Screenshot](examples/data_objects/markers/example1/image.png)
![Distances of the red markers to the green marker are measured](examples/data_objects/markers/example1/image.png "Distances of the red markers to the green marker are measured")

# Download
You can download the example network [here](examples/data_objects/markers/example1/Marker_Example1.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ category: "data_objects"

# Surface Example 1: Creation of WEMs
This example shows how to create WEMs out of voxel images and CSOs.
![Screenshot](examples/data_objects/surface_objects/example1/image.png)
![WEM surface is created from a voxel image](examples/data_objects/surface_objects/example1/image.png "WEM surface is created from a voxel image")

# Download
You can download the example network [here](examples/data_objects/surface_objects/example1/SurfaceExample1.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ category: "data_objects"

# Surface Example 2: Processing and Modifying of WEMs
This example shows how to process and modify WEMs using the modules `WEMModify`, `WEMSmooth`, and `WEMSurfaceDistance`.
![Screenshot](examples/data_objects/surface_objects/example2/DO7_03.png)
![Modified and smoothed WEM is compared to its original](examples/data_objects/surface_objects/example2/DO7_03.png "Modified and smoothed WEM is compared to its original")

# Download
You can download the example network [here](examples/data_objects/surface_objects/example2/SurfaceExample2.mlab)
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
---
layout: post
title: "Apply Transformations to a 3D WEM Object Via Mouse Interactions"
title: "Apply Transformations to a 3D WEM Object via Mouse Interactions"
category: "data_objects"
---

# Surface Example 3: Interactions With WEM

## Scale, Rotate, and Move a WEM in a Scene
In this example, we are using a `SoTransformerDragger` module to apply transformations on a 3D WEM object via mouse interactions.
![Screenshot](examples/data_objects/surface_objects/example3/image.png)
![Open Inventor cube is interactively transformed](examples/data_objects/surface_objects/example3/image.png "Open Inventor cube is interactively transformed")

### Download
You can download the example network [here](examples/data_objects/surface_objects/example3/SurfaceExample3.mlab)

## Interactively Modify WEMs
In this example, we are using a `SoWEMBulgeEditor` module to modify a WEM using the mouse.
![Screenshot](examples/data_objects/surface_objects/example3/image2.png)
![WEM surface is interactively deformed](examples/data_objects/surface_objects/example3/image2.png "WEM surface is interactively deformed")

### Download
You can download the example network [here](examples/data_objects/surface_objects/example3/WEMExample3b.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ category: "data_objects"

# Surface Example 4: Interactively Moving WEM
This example shows how to use dragger modules to modify objects in a 3D viewer.
![Screenshot](examples/data_objects/surface_objects/example4/image.png)
![Spheroid WEM surface and a custom interactive dragger](examples/data_objects/surface_objects/example4/image.png "Spheroid WEM surface and a custom interactive dragger")

# Download
You can download the example network [here](examples/data_objects/surface_objects/example4/SurfaceExample4.zip)
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ category: "data_objects"

# Surface Example 5: WEM - Primitive Value Lists
This example shows how to use Primitive Value Lists (PVLs). With the help of PVLs, the distance between the surfaces of WEMs is color-coded.
![Screenshot](examples/data_objects/surface_objects/example5/image.png)
![Color-coding distances via PVLs](examples/data_objects/surface_objects/example5/image.png "Color-coding distances via PVLs")

# Download
You can download the example network [here](examples/data_objects/surface_objects/example5/SurfaceExample5.mlab)
6 changes: 3 additions & 3 deletions mevislab.github.io/content/examples/howto.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The provided files are usually either *.mlab* files or *.zip* archives. You will
MeVisLab files are networks stored as *.mlab* files. <br>

{{<alert class="info" caption="Info">}}
Double-clicking the left mouse button within your MeVisLab workspace works as a shortcut to open files.
Double-clicking {{< mousebutton "left" >}} the left mouse button within your MeVisLab workspace works as a shortcut to open files.
{{</alert>}}

Files can also be opened using the menu option {{< menuitem "File" "Open">}}.
Expand All @@ -30,7 +30,7 @@ Archives mostly contain macro modules. <br>
To use those macro modules, you will need to know how to handle user packages.

{{<alert class="check" caption="Check">}}
See [Example 2.1: Package creation](tutorials/basicmechanisms/macromodules/package/) for more information on packages in MeVisLab.
See [Example 2.1: Package Creation](tutorials/basicmechanisms/macromodules/package/) for more information on packages in MeVisLab.
{{</alert>}}

The contents can be extracted into the directory of your package. Make sure to keep the directory's structure for the examples to be loaded and displayed correctly.
Expand All @@ -41,7 +41,7 @@ The typical directory structure of a MeVisLab package looks like this:
The package *TutorialSummary* within the package group *MeVis* is shown above. A package typically contains at least a *Projects* directory, which is where the macro modules are located. When extracting the contents of a *.zip* file, the *Projects* folder of your package should be the target directory.

Sometimes we even provide test cases. Extract them into the *TestCases* directory.
![Package directory structure](images/examples/howto_2.png "Package directory structure")
![Package directory content](images/examples/howto_2.png "Package directory content")

{{<alert class="info" caption="Notice">}}
Feel free to create certain directories if they do not exist yet, but make sure to name them conforming the directory structure shown above.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
---
layout: post
title: "Arithmetic operations on two images"
title: "Arithmetic Operations on Two Images"
category: "image_processing"
---

# Image Processing Example 1: Arithmetic Operations on Two Images
In this example, we apply scalar functions on two images like Add, Multiply, Subtract, etc.
In this example, we apply scalar functions on two images like Add, Multiply, or Subtract.

## Summary
We are loading two images by using the `LocalImage` module and show them in a `SynchroView2D`. In addition to that, both images are used for arithmetic processing in the module `Arithmetic2`.

![Screenshot](examples/image_processing/example1/image.png)
![Adding two voxel images](examples/image_processing/example1/image.png "Adding two voxel images")

# Download
You can download the example network [here](examples/image_processing/example1/BasicFilter.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ In this example, we create a simple mask on an image, so that background voxels
## Summary
We are loading images by using the `LocalImage` module and show them in a `SynchroView2D`. The same image is shown in the right viewer of the `SynchroView2D` but with a `Threshold`-based `Mask`.

![Screenshot](examples/image_processing/example2/image.png)
![Masking an image with a threshold-based mask image](examples/image_processing/example2/image.png "Masking an image with a threshold-based mask image")

# Download
You can download the example network [here](examples/image_processing/example2/ImageMask.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ In this example, we create a simple mask on an image by using the `RegionGrowing
## Summary
We are loading images by using the `LocalImage` module and show them in a `SynchroView2D`. The same image is used as input for the `RegionGrowing` module. The starting point for the algorithm is a list of markers created by the `SoView2DMarkerEditor`. As the `RegionGrowing` may leave gaps, an additional `CloseGap` module is added. The resulting segmentation mask is shown as an overlay on the original image via `SoView2DOverlay`.

![Screenshot](examples/image_processing/example3/image.png)
![Segmenting with the region growing algorithm](examples/image_processing/example3/image.png "Segmenting with the region growing algorithm")

# Download
You can download the example network [here](examples/image_processing/example3/RegionGrowingExample.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ In this example, we subtract a sphere from another WEM.
## Summary
We are loading images by using the `LocalImage` module and render them as a 3D scene in a `SoExaminerViewer`. We also add a sphere that is then subtracted from the original surface.

![Screenshot](examples/image_processing/example4/image.png)
![Subtracting a sphere from a surface](examples/image_processing/example4/image.png "Subtracting a sphere from a surface")

# Download
You can download the example network [here](examples/image_processing/example4/Subtract3DObjects.mlab)
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ In this example, we are using the currently visible slice from a 2D view as a cl
## Summary
We are loading images by using the `LocalImage` module and render them as a two-dimensional image stack `SoRenderArea`. The displayed slice is used to create a 3D plane/clip plane in a `SoExaminerViewer`.

![Screenshot](examples/image_processing/example5/image.png)
![Showing a slice in 2D, in 3D, and using it as a clip plane in 3D](examples/image_processing/example5/image.png "Showing a slice in 2D, in 3D, and using it as a clip plane in 3D")

# Download
You can download the example network [here](examples/image_processing/example4/ImageProcessingExample5.mlab)
Loading
Loading