59 -> std::optional<measurement_type> {
115 [[nodiscard]]
auto is_valid() const noexcept ->
bool {
145 std::optional<measurement_type>
type;
auto measurement_type_from_string(std::string_view str) -> std::optional< measurement_type >
Parse string to measurement_type.
measurement_type
Measurement types supported by the system.
@ hounsfield
CT Hounsfield unit value.
@ length
Linear distance measurement.
@ area
Area measurement (generic)
@ polygon_area
Polygon area measurement.
@ ellipse_area
Ellipse area measurement.
@ angle
Angle measurement in degrees.
@ suv
PET Standard Uptake Value.
auto to_string(annotation_type type) -> std::string
Convert annotation_type to string.
@ angle
Angle measurement annotation.
std::optional< std::string > sop_instance_uid
SOP Instance UID filter.
size_t offset
Offset for pagination.
auto has_criteria() const noexcept -> bool
Check if any filter criteria is set.
std::optional< std::string > study_uid
Study Instance UID filter (requires join with instances)
size_t limit
Maximum number of results to return (0 = unlimited)
std::optional< measurement_type > type
Measurement type filter.
std::optional< std::string > user_id
User ID filter.
Measurement record from the database.
std::string unit
Unit of measurement (mm, cm2, degrees, HU, g/ml, etc.)
std::string measurement_id
Unique measurement identifier (UUID)
auto is_valid() const noexcept -> bool
Check if this record has valid data.
std::string geometry_json
Geometry data as JSON string (coordinates)
std::chrono::system_clock::time_point created_at
Record creation timestamp.
std::string sop_instance_uid
SOP Instance UID - DICOM tag (0008,0018)
measurement_type type
Type of measurement.
std::string label
Optional label/description.
std::optional< int > frame_number
Frame number for multi-frame images (1-based)
double value
Calculated measurement value.
int64_t pk
Primary key (auto-generated)
std::string user_id
User who created the measurement.