Orthanc and OrthancAsync initialization methods (i.e., Orthanc$new() and OrthancAsync$new()) have gained several new arguments to provide users more control over how HTTP requests are performed.
params, headers, and cookies set query parameters, headers, and cookies to include in every request.timeout sets the maximum number of seconds to wait for the request to complete.rate_limit can be used to throttle requests so that no more than the maximum capacity of requests are performed during the fill time.verify controls whether to verify the SSL/TLS certificate when making requests.Orthanc and OrthancAsync objects.Fixed an issue with OrthancAsync where requests would fail when requiring basic authentication. This was due to credentials getting removed during the serialization of a httr2_request before sending it to the daemon mirai process. The private method $request_perform() now adds the basic authentication (Authorization) header on the mirai worker instead of the main process.
orthanc has gained support for batch exporting image files (PNG or JPEG) for Instances (retrieve_and_write_images()), NIfTI files for Instances and Series (retrieve_and_write_nifti()), if the Orthanc Neuroimaging plugin is available, and ZIP Archives for Series, Studies, and Patients (retrieve_and_write_archives()).
retrieve_and_write_images(), retrieve_and_write_nifti(), and retrieve_and_write_archives() have support for progress bars and parallel exporting using mirai, similar to retrieve_and_write_patients().Major refactor of resource download methods so that output formats aren't ambiguous across the various resource types:
$download_dicom() (formerly $download()), $download_nifti() (only works if Orthanc Neuroimaging plugin is avialable), and $download_image() (if R packages png or jpeg are installed).download_archive() (formerly download()) and download_nifti() (only works if Orthanc Neuroimaging plugin is avialable).download_archive() (formerly download())download_archive() (formerly download())New methods and fields have been added to resources:
download_dicom(): Download DICOM file to a pathdownload_image(): Download instance as an imagehas_label(): Test if resource has labellist_frames: List framesframes: Number of framesrows: Number of rowscolumns: Number of columnsshape: Shapedim: Number of dimensionsslice_thickness: Slice thicknesspixel_spacing: Pixel spacingdownload_archive(): Download zip archive to pathhas_label(): Test if resource has labelnum_instances: Number of instancesdownload_archive(): Download zip archive to pathhas_label(): Test if resource has labelseries_ids: Series identifiersinstances_ids: Instances identifiersnum_series: Number of seriesnum_instances: Number of instancesdownload_archive(): Download zip archive to pathhas_label(): Test if resource has labelstudies_ids: Studies identifiersseries_ids: Series identifiersinstances_ids: Instances identifiersnum_studies: Number of studiesnum_series: Number of seriesnum_instances: Number of instances$labels active binding for resources can now be used to add new labels to a resource by assigning into the field (e.g., Resource$labels <- "label").
Improved support for progress bars and parallelization for find_and_filter().
Instance$download_nifti() and Series$download_nifti() now use gzip (nii.gz) compression by default.
$image_orientation_patient() and $image_position_patient() now return parsed numeric vectors instead of character vectors.
All $date or $*_date fields now return "Date" class vectors instead of character vectors.
$file_size now returns "pretty" units thanks to prettyunits::pretty_bytes().
Updated $print() method for resources to show locked state, if locked.
Added new $is_locked field to check whether child resources are locked or not.