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
- Navigate to the Measure tab in the ribbon
- Click the Measurements button in the Measurement tools section
Measurement Types
Select a measurement type from the dropdown menu before placing points:
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
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.
| Column | Description |
|---|---|
| # | Measurement index |
| Name | Editable measurement name |
| Measurement | Computed value (distance, angle, area, etc.) |
| P1X, P1Y, P1Z | First point coordinates |
| P2X, P2Y, P2Z | Second point coordinates (if applicable) |
| P3X, P3Y, P3Z | Third point coordinates (if applicable) |
Toolbar Buttons
| Button | Description |
|---|---|
| Add (+) | Enter placement mode to add a new measurement |
| Remove (-) | Delete selected measurements |
| Clear | Delete all measurements |
| Move Up | Move selected measurement up in the list |
| Move Down | Move selected measurement down in the list |
| Save | Export measurements to file |
| Load | Import measurements from file |
| More | Additional options menu |
More Options Menu
| Option | Description |
|---|---|
| Always show | Keep measurements visible when the tool is closed |
| Show in slice views | Display measurements in 2D slice views |
| Locate | Navigate to the selected measurement position |
Workflow
Creating a Measurement
- Select the desired measurement type from the dropdown
- Click the Add (+) button to enter placement mode
- Click in a 2D or 3D view to place the required points
- 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
- 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
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
- Click the Save button in the toolbar
- Choose a location and filename
- Select "Settings (*.ini)" as the file type
- Measurements are saved with an integrity checksum
Importing Measurements
- Click the Load button in the toolbar
- Select a previously saved measurement file
- Measurements are added to the current project
- 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
| Status | Description |
|---|---|
| Verified | File integrity confirmed—data has not been modified since export |
| Modified | Hash mismatch detected—file was altered outside Volvicon |
| No Hash | Integrity section missing or removed—integrity cannot be verified |
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
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.
Related Tools
- Primitives — Create geometric reference shapes
- Measurement between Primitives — Measure distances and angles between primitives
- PDF Report — Include measurements in exported reports