Record Ultrasound Sweeps ======================== Records (grabs) data from one or multiple image streams and a tracking stream. Input ----- The algorithm requires at least one ImageStream and exactly one TrackingStream as input. Instead of the individual image streams, a data group collecting all of them can be provided. In the latter case, the algorithm will automatically include (sub)streams later added to the data group. Output ------ For each recording, a set of Ultrasound sweeps is produced, which might be added to the data model and/or saved to the file system, according to the settings. Description ----------- After clicking **Start recording** , the algorithm will start accumulating (copying) incoming 2D images and tracking information in memory. No synchronization or temporal resampling is hereby performed: The Ultrasound sweep data structure keeps timestamps for both images and tracking information and stores all incoming data without any modification. Whenever a combination of image and tracking matrix is required, the appropriate matrix is searched using the timestamp. The button **Stop recording** finalizes the recording According to ``Keep last ... in data panel``, the resulting sweeps are added to the data model. Previous sweeps are removed once the limit is reached. Substreams of a data group are not added to the data model unless saving to the file system is disabled. If ``Automatic Storage`` is active, all resulting sweeps are saved to the file system: * The ``Directory`` for all data to be stored is adjusted in the advanced settings. * The field ``Patient Name`` is used for both the name of the subfolder, as well as the base name of the sweep file. * For each recording, a sequence number is incremented and added to the base name. * Finally, an optional ``Description`` is stripped of special characters and also added to the file name. Note that the sequence number is independent of the description string. The final path of the file is thus: *Directory/PatientName/PatientName-SeqNo-Description.imf*, if the DICOM format is disabled. Substream sweeps are saved in a file with the identical name in a *RawData* subfolder. In addition, a log file of the form *Directory/PatientName/PatientName.txt* is created, for which additional log messages can be recorded using the Log field and the two buttons **Save** and **CM** (for "camera moved"). The button **Discard Last Sweep** removes the last recording both from the data model and the file system. The algorithm allows setting the following advanced parameters: * ``Record all tracking target``: Defines whether all tracking devices will be recorded or just the selected one. Default is on. * ``Compress``: Defines if the output files will be compressed before saving. Default is off. * ``Tint image if tracking is lost``: Colors the live 2D ultrasound red of the tracking quality drops. * ``Time limit``: Defines the maximum recording time. Default is none. * ``Frames limit``: Defines the maximum number of recorded images. Default is none. * ``Tracking data limit``: Defines the maximum number of recorded tracking samples. Default is none. * ``Memory limit``: Defines the maximum fraction of RAM to be exhausted before recording stops automatically. Default is 90%. * ``Tracker button click speed``: Defines the minimum duration a tracking device button needs to remain pressed to start/stop the recording. * ``Sweep buffer``: Defines the number of frames that are shown in the view as part of the Live Sweep visualization. * ``Resample``: Defines whether the incoming images should be resampled before saving. Default is off.