Skip to main content
Version: 3.11.0-beta.36 (Latest)

useMeasurements

The useMeasurements hook provides access to measurements from the measurement service, with automatic updates when measurements are added, updated, or removed.

Overview

This hook retrieves measurements from the measurement service and maps them to a display-friendly format. It monitors various measurement service events and updates the returned measurements automatically when changes occur.

Import

import { useMeasurements } from '@ohif/extension-cornerstone';

Usage

function MeasurementPanel() {
const measurementFilter = measurements => measurements.someFilter;

const measurements = useMeasurements({
measurementFilter,
});

return (
<div>
{measurements.map(measurement => (
<div key={measurement.uid}>
<span>{measurement.label}</span>
<div>
{measurement.displayText.primary.map((text, i) => (
<p key={i}>{text}</p>
))}
</div>
</div>
))}
</div>
);
}

Parameters

  • options - Configuration options:
    • measurementFilter - Optional function to filter measurements returned by the measurement service.

Returns

An array of mapped measurements with the following structure:

Events

The hook automatically updates when any of these measurement service events occur:

  • MEASUREMENT_ADDED
  • RAW_MEASUREMENT_ADDED
  • MEASUREMENT_UPDATED
  • MEASUREMENT_REMOVED
  • MEASUREMENTS_CLEARED

Implementation Details

The hook uses debouncing to prevent excessive re-renders when multiple measurement events occur in rapid succession. It also performs a deep comparison of the measurements to avoid unnecessary state updates when the data hasn't actually changed.