diff --git a/src/PlusDataCollection/Andor/vtkPlusAndorVideoSource.cxx b/src/PlusDataCollection/Andor/vtkPlusAndorVideoSource.cxx index f3dca787e..6672cb7d1 100644 --- a/src/PlusDataCollection/Andor/vtkPlusAndorVideoSource.cxx +++ b/src/PlusDataCollection/Andor/vtkPlusAndorVideoSource.cxx @@ -434,6 +434,13 @@ void vtkPlusAndorVideoSource::AdjustSpacing(int horizontalBins, int verticalBins LOG_DEBUG("Adjusted spacing: " << spacingStream.str()); } +// ---------------------------------------------------------------------------- +PlusStatus vtkPlusAndorVideoSource::SetFrameFieldImageToReferenceTransform(std::array transform) +{ + this->imageToReferenceTransform = transform; + return PLUS_SUCCESS; +} + // ---------------------------------------------------------------------------- std::vector vtkPlusAndorVideoSource::GetSpacing(int horizontalBins, int verticalBins) { diff --git a/src/PlusDataCollection/Andor/vtkPlusAndorVideoSource.h b/src/PlusDataCollection/Andor/vtkPlusAndorVideoSource.h index 2fdb11726..3d09c0697 100644 --- a/src/PlusDataCollection/Andor/vtkPlusAndorVideoSource.h +++ b/src/PlusDataCollection/Andor/vtkPlusAndorVideoSource.h @@ -142,6 +142,7 @@ class vtkPlusDataCollectionExport vtkPlusAndorVideoSource: public vtkPlusDevice PlusStatus SetTriggerMode(TriggerMode triggerMode); TriggerMode GetTriggerMode(); + PlusStatus SetFrameFieldImageToReferenceTransform(std::array transform); std::vector GetSpacing(int horizontalBins, int verticalBins); /*! Normal operating temperature (degrees celsius). */ @@ -369,6 +370,10 @@ class vtkPlusDataCollectionExport vtkPlusAndorVideoSource: public vtkPlusDevice double OutputSpacing[3] = { 0 }; + /*! Frame field for image transform. Since applications of this device are + mainly stationary, don't use a tracker and just set the transform manually. */ + std::array imageToReferenceTransform = { 0 }; + igsioFieldMapType CustomFields; /*! Use a separate thread for acquisition tasks. */