Skip to main content

Measurements

The Measurements tool allows you to create, edit, and manage geometric measurements in your project. Measurements can be placed on 2D slice views or 3D views to quantify distances, angles, areas, volumes, and other geometric properties.

Accessing the Tool​

  1. Navigate to the Measure tab in the ribbon
  2. Click the Measurements button in the Measurement tools section

Measurement Types​

Select a measurement type from the dropdown menu before placing points:

The nine measurement types as small drawings: point, distance, angle, diameter, contour, circle, ellipse, rectangle and box, each with what it reports

Point​

Create a single point marker at a specific 3D location.

  • Placement: Click once to place the point
  • Output: X, Y, Z coordinates in millimeters
  • Use case: Mark anatomical landmarks or reference positions

Distance​

Measure the linear distance between two points.

  • Placement: Click to place P1, then click to place P2
  • Output: Distance in millimeters
  • Use case: Measure object dimensions, distances between features

Angle​

Measure the angle formed by three points, with the vertex at the middle point.

  • Placement: Click to place P1, P2 (vertex), then P3
  • Output: Angle in degrees
  • Use case: Measure angular relationships, joint angles, wedge angles

Diameter​

Measure a diameter using three points that define a circle.

  • Placement: Click to place three points on the circle edge
  • Output: Diameter in millimeters
  • Use case: Measure circular cross-sections, vessel diameters

Contour​

Create an open or closed contour to measure perimeter length and enclosed area.

  • Placement: Left-click to add points along the contour. Right-click to finalize.
  • Interaction: Use middle-click to drag existing contour points
  • Output: Perimeter length, enclosed area
  • Use case: Trace irregular boundaries, measure cross-sectional areas
Contour Placement

Left-click to add points, right-click to complete. Use middle-click to reposition existing points. Contours are automatically closed if the last point is near the first.

Circle​

Create a circular region of interest for area and density measurements.

  • Placement: Click to place the circle center and define the radius
  • Output: Diameter, area, average density (HU or gray value) within the circle
  • Use case: Region-based intensity analysis, ROI statistics

Ellipse​

Create an elliptical region of interest.

  • Placement: Click to define the ellipse center and axes
  • Output: Area, average density within the ellipse
  • Use case: Elliptical ROI analysis for non-circular regions

Rectangle​

Create a rectangular region of interest.

  • Placement: Click to place the rectangle in a slice view
  • Output: Area, average density within the rectangle
  • Use case: Rectangular ROI analysis

Box​

Create a 3D box region of interest.

  • Placement: Click to place the box in a view
  • Output: Volume, average density within the box
  • Use case: 3D volumetric ROI analysis

Caption​

Create a text annotation at a specific location.

  • Placement: Click to place the caption anchor point
  • Output: Text label with position marker
  • Use case: Add notes, labels, or comments to specific locations

User Interface​

Description Group​

Displays instructions for the currently selected measurement type, explaining how to place points and what output to expect.

Object Type Dropdown​

Select the measurement type to create. Options include: Point, Distance, Angle, Diameter, Contour, Circle, Ellipse, Rectangle, Box, Caption.

Measurements Table​

Lists all measurements in the project with their values and coordinates.

ColumnDescription
ShowVisibility toggle for the measurement
LockLock toggle, which protects a finished measurement from being edited or dragged
NameEditable measurement name
Value columnComputed value, named after the measurement type (distance, angle, area, and so on)
Coordinate columnsOne column per coordinate of each defining point. Values can be typed for an exact position

Toolbar Buttons​

ButtonTooltip
Add (+)Add a new measurement.
Remove (-)Delete the selected measurement(s).
ClearDelete all measurements.
Move upMove the selected measurement up.
Move downMove the selected measurement down.
SaveSave measurements to the disk.
LoadImport measurements from the disk.
More (...)Open the display options menu described below

Right-Click Menu​

Right-click a row in the table:

CommandDescription
Select All / Invert SelectionChange the selection
Toggle VisibilityShow or hide the selected measurements
IsolateShow only the selected measurements
Toggle LockLock or unlock the selected measurements
Isolate UnlockUnlock only the selected measurements
LocateCentre all slice views on the selected measurement
CopyCopy the selected rows to the clipboard
DuplicateCreate a copy of the selected measurements
Move Up / Move DownReorder the list
Remove SelectedDelete the selected measurements
PropertiesOpen the property dialog for the selected measurement

More Options Menu​

The ... button next to the table opens the display options:

OptionDescription
Always ShowKeep measurements visible when the tool is closed
Show In Slice ViewsDisplay measurements in the 2D slice views
AnnotationShow On Active Only, Show All, or Hide All, and the annotation content: Name, Value, Name and Value, Position, or Name and Position
3D AxesShow On Active Only, Show All, or Hide All for the 3D crosshair drawn at each measurement
HandleShow 2D Cross and Show Point control how the handles are drawn
SurfaceSnap To Surface... snaps the points of the selected measurement onto a surface
Properties...Open the property dialog for the selected measurement
Copy To Surfaces

The Surface submenu of the Primitives tool additionally offers Copy To Surfaces, which turns the selected primitives into surface objects. That command is not available for measurements.


Workflow​

Creating a Measurement​

  1. Select the desired measurement type from the dropdown
  2. Click the Add (+) button to enter placement mode
  3. Click in a 2D or 3D view to place the required points
  4. The measurement value appears automatically in the table and as an annotation in the view

Editing Measurements​

  • Rename: Double-click the name cell in the table to edit
  • Move points: Drag measurement handles in the views
  • Set an exact position: Double-click a coordinate cell and type the value
  • Protect a result: Use the Lock column so the handles can no longer be dragged
  • Delete: Select measurements and click the Remove button

Locating Measurements​

Select a measurement in the table, right-click, and choose Locate to navigate all slice views to center on that measurement.


Import and Export​

Supported Formats​

Measurements can be saved and loaded using the INI settings format (.ini), preserving all measurement data including:

  • Measurement type and name
  • Point coordinates
  • Computed values
  • Visual properties and annotations
Human-Readable Format

Measurement export files use a human-readable INI format to support transparency, interoperability, and reproducibility. This allows external tools and scripts to process measurement data when needed.

Exporting Measurements​

  1. Click the Save button in the toolbar
  2. Choose a location and filename
  3. Select "Settings (*.ini)" as the file type
  4. Measurements are saved with an integrity checksum

Importing Measurements​

  1. Click the Load button in the toolbar
  2. Select a previously saved measurement file
  3. Measurements are added to the current project
  4. Volvicon automatically verifies file integrity on import

Data Integrity Verification​

Volvicon includes data integrity verification for measurement export files to ensure data traceability and detect external modifications.

How It Works​

When you export measurements:

  • Volvicon computes a SHA-256 cryptographic hash of all measurement data
  • The hash is stored in a dedicated [Integrity] section of the exported file
  • This process is automatic and transparent to the user

When you import measurements:

  • Volvicon recomputes the hash from the file content
  • The computed hash is compared with the stored hash
  • Any mismatch indicates the file was modified externally

Integrity Status​

StatusDescription
VerifiedFile integrity confirmed—data has not been modified since export
ModifiedHash mismatch detected—file was altered outside Volvicon
No HashIntegrity section missing or removed—integrity cannot be verified
Modified Files

If a file is detected as modified, Volvicon displays a warning:

"This measurements file was modified outside Volvicon. Measurement accuracy and validity cannot be guaranteed."

The import proceeds, but you should verify the data before relying on these measurements for analysis or reporting.

File Structure​

Exported measurement files include:

[Document]
ApplicationName=Volvicon
ApplicationVersion=x.x.x
DateTime=2026-01-30 12:00:00

[MeasurementObjects]
; ... measurement data ...

[Integrity]
FormatVersion=1.0
IntegrityHash=SHA256:9f3a8c...e21

Regulatory Considerations​

The integrity verification system supports regulatory requirements for data traceability:

  • Tamper Detection: Any modification to measurement data is detected on import
  • Audit Trail: Integrity status is logged for debugging and audit purposes
  • User Notification: Clear warnings ensure users are informed of data modifications
  • No Data Blocking: Modified files can still be imported—users retain full control
Best Practice

For regulatory submissions (FDA, CE), maintain the original exported files without modification. If adjustments are needed, re-export from Volvicon to generate a new verified file.


Scripting​

Measurements can be created and accessed programmatically:

import ScriptingApi as api

app = api.Application()
measurement_operations = app.get_measurement_operations()

# Create a distance measurement
measurement_operations.create_distance([0, 0, 0], [10, 0, 0], "Distance_1")

# Get measurement value
value = measurement_operations.get_measurement_value_string("Distance_1")
print(value) # Formated output: "Distance_1 10.000000 ..."

# Get all distance measurements
distances = measurement_operations.get_measurement_names_by_type(api.MeasurementType.Distance)

See the Measurement Operations API for the complete function reference.