Beginner Tutorial Data Objects 2D Contours CSO

Contour Segmented Objects (CSOs) in MeVisLab

Introduction

Structure of CSOs

MeVisLab provides modules to create contours in images. 3D objects which encapsulate these contours are called Contour Segmented Objects (CSOs).

In the next image, you can see a rectangular shaped CSO. The pink circles you can see are called Seed Points.

Seed Points define the shape of the CSO. In case of a rectangle, you need four Seed Points forming the corners, to define the whole rectangle.

The points forming the blue lines are called Path Points.

The Path Points form the connection between the Seed Points whereby contour objects (CSOs) are generated. CSOs are often closed, but do not need to be.

In general, the Seed Points are created interactively using an editor module and the Path Points are generated automatically by interpolation or other algorithms.

Contour Segmented Object (CSO)

Contour Segmented Object (CSO)

CSO Editors

As mentioned, when creating CSOs, you can do this interactively by using an editor.

The following images show editors available in MeVisLab for drawing CSOs:

SoCSOPointEditor

SoCSOPointEditor

SoCSOAngleEditor

SoCSOAngleEditor

SoCSOArrowEditor

SoCSOArrowEditor

SoCSODistanceLineEditor

SoCSODistanceLineEditor

SoCSODistancePolylineEditor

SoCSODistancePolylineEditor

SoCSOEllipseEditor

SoCSOEllipseEditor

SoCSORectangleEditor

SoCSORectangleEditor

SoCSOSplineEditor

SoCSOSplineEditor

SoCSOPolygonEditor

SoCSOPolygonEditor

SoCSOIsoEditor

SoCSOIsoEditor

SoCSOLiveWireEditor

SoCSOLiveWireEditor

CSO Lists and CSO Groups

All created CSOs are stored in CSO lists, which can be saved and loaded on demand. The lists can not only store the coordinates of the CSOs, but also additional information in the form of name-value pairs (using specialized modules or Python scripting).

Basic CSO Network

Basic CSO Network

Each SoCSO*Editor requires a SoView2DCSOExtensibleEditor which manages attached CSO editors and renderers and offers an optional default renderer for all types of CSOs. In addition to that, the list of CSOs needs to be stored in a CSOManager.

The appearance of the CSO can be defined by using a SoCSOVisualizationSettings module.

CSOs can also be grouped together. The following image shows two different CSO groups. Groups can be used to organize CSOs, in this case to distinguish the CSOs of the right and the left lung. Here you can find more information about CSO Groups.

CSO Groups

CSO Groups