---
title: "TIVITA workflows"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{TIVITA workflows}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
resource_files:
- figures/logo.svg
- figures/logo-dark.svg
---
```{r setup, include=FALSE}
library(hypermodR)
knitr::opts_chunk$set(collapse = TRUE, comment = "#>", error = FALSE)
```
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.
```{r tivita}
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()
```
`hm_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.