exportSplitArchives
Exports a scan recording as multiple archive files asynchronously....
Declaration
func exportSplitArchives(scanDirPath: String, scanId: String, maxFramesPerArchive: Int32, userData: [String : Any] = [:], exportAsVideo: Bool = true, exportResolution: ExportResolution = .high, pollingInterval: TimeInterval = 0.1, timeout: TimeInterval = 300.0, progressCallback: ((Float) -> Void)? = nil) async throws -> [String]
Exports a scan recording as multiple archive files asynchronously.
Starts the export process for a scan recording and suspends until the export
completes successfully, fails, or times out.
- Parameters:
- scanPath: The path to the directory containing the raw scan files to export. This
is obtained from the return value of
NsdkScanningSession/saveInfo().The export will be written to a .tgz file inside this directory.
- scanId: The unique identifier of the scan to export.
- maxFramesPerArchive: The maximum number of frames to include in each archive of the
exported recording. Must be greater than 0.
- userData: Dictionary containing custom metadata to include in the export.
- exportAsVideo: If true, the RGB frames in the scan will be exported as an
.mp4 video. If false, they will be individual image files.
- exportResolution: Resolution option for exported images (default:
ExportResolution/high).- pollingInterval: Time between progress checks (default: 0.5s).
- timeout: Maximum duration to wait before failing (default: 5 minutes).
- Returns: A list of file paths to the exported recording.
- Throws:
-
CancellationErrorif the Task running this function was cancelled.-
TimeoutErrorif the function timed out before it could complete execution.