This example checks source orientation, not a camera. The only admitted profile here is a synthetic y,x,band declaration. Tissue, Mini and Surgery device/export profiles require independent calibration and reference-output evidence.
measurement <- list(
cube = array(seq_len(24), c(2, 3, 4)),
wavelengths = c(500, 600, 700, 800), metadata = list(synthetic = TRUE),
references = list(), timestamp = "2026-01-01", path = "synthetic"
)
x <- hm_from_tivis(
measurement,
hm_tivita_profile(wavelengths = measurement$wavelengths)
)
b <- hm_read_block(x)
if (!isTRUE(all(
identical(as.numeric(b$values), as.numeric(measurement$cube)),
identical(dim(b$values), c(2L, 3L, 4L, 1L))
))) {
cli::cli_abort("Example assertion failed.", class = "hm_example_error")
}
hm_instrument_profiles()
#> profile status
#> 1 tivita-synthetic-yxb-v1 synthetic_only
#> 2 Tissue unqualified
#> 3 Mini unqualified
#> 4 Surgery unqualified
#> 5 cuvis-sdk unqualified
#> reason
#> 1 Explicit portable arrays; no device claim
#> 2 Device/export fixture required
#> 3 Device/export fixture required
#> 4 Device/export fixture required
#> 5 SDK scaling and complete enumeration fixture requiredhm_from_tivis() requires an explicit source profile. It
does not infer a grid from the camera name or the measurement’s band
count. Radiometric calibration remains unknown unless established
separately. Masks retain unknown/invalid pixels; registered SpecCube,
RGB, DICOM and parameter-display assets retain distinct roles. A vendor
display does not establish quantitative export parity.