diff --git a/source/Applications/Advanced/ObjectMatching/SurfaceMatchingCreateModel.hdev b/source/Applications/Advanced/ObjectMatching/SurfaceMatchingCreateModel.hdev
index 984b5fb..346588b 100644
--- a/source/Applications/Advanced/ObjectMatching/SurfaceMatchingCreateModel.hdev
+++ b/source/Applications/Advanced/ObjectMatching/SurfaceMatchingCreateModel.hdev
@@ -38,7 +38,7 @@
set_framegrabber_param (AcqHandle, 'ResetAcquisitions', 1)
* Setting global settings
- set_framegrabber_param (AcqHandle, 'Engine', 'omni')
+ set_framegrabber_param (AcqHandle, 'Engine', 'stripe')
set_framegrabber_param (AcqHandle, 'SamplingColor', 'rgb')
set_framegrabber_param (AcqHandle, 'SamplingPixel', 'blueSubsample2x2')
set_framegrabber_param (AcqHandle, 'ProcessingFiltersSmoothingGaussianEnabled', 1)
diff --git a/source/Applications/Advanced/ObjectMatching/SurfaceMatchingCreateModelFromFile.hdev b/source/Applications/Advanced/ObjectMatching/SurfaceMatchingCreateModelFromFile.hdev
index 54c4d8d..a46209e 100644
--- a/source/Applications/Advanced/ObjectMatching/SurfaceMatchingCreateModelFromFile.hdev
+++ b/source/Applications/Advanced/ObjectMatching/SurfaceMatchingCreateModelFromFile.hdev
@@ -33,9 +33,9 @@
import './../../../Procedures'
get_zivid_sample_data_dir(ZividDataDir)
ScenePath := ZividDataDir + '/ObjectMatching/' + SurfaceModelFile + '/Im1.ply'
- * Specify the camera that point cloud was taken with; options are: 'Zivid 2' and 'Zivid 2+'.
+ * Specify the camera that point cloud was taken with.
Camera := 'Zivid 2+'
- * Specify SamplingPixel that point cloud was taken with; options are: 'all', 'blueSubsample2x2', and 'redSubsample2x2'
+ * Specify SamplingPixel that point cloud was taken with.
SamplingPixel := 'blueSubsample2x2'
get_zivid_camera_width (Camera, SamplingPixel, MapWidth)
read_object_model_3d (ScenePath, 'm', ['xyz_map_width'], MapWidth, ObjectModel3D_Scene, Status)
diff --git a/source/Applications/Advanced/ObjectMatching/SurfaceMatchingFindModel.hdev b/source/Applications/Advanced/ObjectMatching/SurfaceMatchingFindModel.hdev
index ebb77e0..3c9bd8e 100644
--- a/source/Applications/Advanced/ObjectMatching/SurfaceMatchingFindModel.hdev
+++ b/source/Applications/Advanced/ObjectMatching/SurfaceMatchingFindModel.hdev
@@ -55,7 +55,7 @@
set_framegrabber_param (AcqHandle, 'ResetAcquisitions', 1)
* Setting global settings
- set_framegrabber_param (AcqHandle, 'Engine', 'omni')
+ set_framegrabber_param (AcqHandle, 'Engine', 'stripe')
set_framegrabber_param (AcqHandle, 'SamplingColor', 'rgb')
set_framegrabber_param (AcqHandle, 'SamplingPixel', 'blueSubsample2x2')
set_framegrabber_param (AcqHandle, 'ProcessingFiltersSmoothingGaussianEnabled', 1)
diff --git a/source/Camera/Basic/Capture.hdev b/source/Camera/Basic/Capture.hdev
index e8a29d0..1dd1fc2 100644
--- a/source/Camera/Basic/Capture.hdev
+++ b/source/Camera/Basic/Capture.hdev
@@ -32,16 +32,6 @@
* Switching to single Frame mode
set_framegrabber_param (AcqHandle, 'AcquisitionMode', 'SingleFrame')
- * Configuring settings
- set_framegrabber_param (AcqHandle, 'Aperture', 5.66)
- set_framegrabber_param (AcqHandle, 'ExposureTime', 6500)
- set_framegrabber_param (AcqHandle, 'Gain', 1)
- set_framegrabber_param (AcqHandle, 'Brightness', 1)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersOutlierRemovalEnabled', 1)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersOutlierRemovalThreshold', 5)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersSmoothingGaussianEnabled', 1)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersSmoothingGaussianSigma', 1.5)
-
* Capturing frame
grab_data (Image, Region, Contours, AcqHandle, ObjectModel3D)
diff --git a/source/Camera/Basic/CaptureHDRCompleteSettings.hdev b/source/Camera/Basic/CaptureHDRCompleteSettings.hdev
index 3360804..e6cd99c 100644
--- a/source/Camera/Basic/CaptureHDRCompleteSettings.hdev
+++ b/source/Camera/Basic/CaptureHDRCompleteSettings.hdev
@@ -43,7 +43,7 @@
* Configuring HDR settings for the first image
set_framegrabber_param (AcqHandle, 'Aperture', 8)
set_framegrabber_param (AcqHandle, 'ExposureTime', 10000)
- set_framegrabber_param (AcqHandle, 'Brightness', 1)
+ set_framegrabber_param (AcqHandle, 'Brightness', 1.8)
set_framegrabber_param (AcqHandle, 'Gain', 1)
set_framegrabber_param (AcqHandle, 'AddAcquisition', 1)
@@ -51,7 +51,7 @@
* Configuring HDR settings for the second image
set_framegrabber_param (AcqHandle, 'Aperture', 4.00)
set_framegrabber_param (AcqHandle, 'ExposureTime', 10000)
- set_framegrabber_param (AcqHandle, 'Brightness', 1)
+ set_framegrabber_param (AcqHandle, 'Brightness', 1.8)
set_framegrabber_param (AcqHandle, 'Gain', 1)
set_framegrabber_param (AcqHandle, 'AddAcquisition', 1)
@@ -59,7 +59,7 @@
* Configuring HDR settings for the third image
set_framegrabber_param (AcqHandle, 'Aperture', 4.00)
set_framegrabber_param (AcqHandle, 'ExposureTime', 40000)
- set_framegrabber_param (AcqHandle, 'Brightness', 1)
+ set_framegrabber_param (AcqHandle, 'Brightness', 1.8)
set_framegrabber_param (AcqHandle, 'Gain', 1)
set_framegrabber_param (AcqHandle, 'AddAcquisition', 1)
@@ -67,7 +67,7 @@
* Setting global settings
set_framegrabber_param (AcqHandle, 'Engine', 'phase')
set_framegrabber_param (AcqHandle, 'SamplingColor', 'rgb')
- set_framegrabber_param (AcqHandle, 'SamplingPixel', 'all')
+ set_framegrabber_param (AcqHandle, 'SamplingPixel', 'blueSubsample2x2')
set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxEnabled', 1)
set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointOX', 1000)
set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointOY', 1000)
@@ -102,6 +102,7 @@
set_framegrabber_param (AcqHandle, 'ProcessingFiltersHoleRepairEnabled', 1)
set_framegrabber_param (AcqHandle, 'ProcessingFiltersHoleRepairHoleSize', 0.2)
set_framegrabber_param (AcqHandle, 'ProcessingFiltersHoleRepairStrictness', 1)
+ set_framegrabber_param (AcqHandle, 'ProcessingResamplingMode', 'upsample2x2')
set_framegrabber_param (AcqHandle, 'ProcessingColorBalanceBlue', 1)
set_framegrabber_param (AcqHandle, 'ProcessingColorBalanceGreen', 1)
set_framegrabber_param (AcqHandle, 'ProcessingColorBalanceRed', 1)
diff --git a/source/Camera/Basic/CaptureSavePLY.hdev b/source/Camera/Basic/CaptureSavePLY.hdev
index 71aab96..af6d7d9 100644
--- a/source/Camera/Basic/CaptureSavePLY.hdev
+++ b/source/Camera/Basic/CaptureSavePLY.hdev
@@ -31,12 +31,6 @@
* Switching to single acquisition mode
set_framegrabber_param (AcqHandle, 'AcquisitionMode', 'SingleFrame')
- * Configuring settings
- set_framegrabber_param (AcqHandle, 'Aperture', 5.66)
- set_framegrabber_param (AcqHandle, 'ExposureTime', 6500)
- set_framegrabber_param (AcqHandle, 'Gain', 1)
- set_framegrabber_param (AcqHandle, 'Brightness', 1)
-
* Capturing frame
grab_data (Image, Region, Contours, AcqHandle, ObjectModel3D)
diff --git a/source/Procedures/read_zivid_json_params.hdvp b/source/Procedures/read_zivid_json_params.hdvp
index 503c5c6..e1fd37f 100644
--- a/source/Procedures/read_zivid_json_params.hdvp
+++ b/source/Procedures/read_zivid_json_params.hdvp
@@ -12,6 +12,8 @@
get_dict_tuple (Settings, 'Acquisitions', Acquisitions)
get_dict_param (Acquisitions, 'keys', [], AllKeys)
+ NonExistingKeys := []
+
* Single Capture or HDR
if (|AllKeys|==1)
set_framegrabber_param (AcqHandle, 'AcquisitionMode', 'SingleFrame')
@@ -35,148 +37,242 @@
endfor
* Engine
- get_dict_tuple (Settings, 'Engine', Engine)
- set_framegrabber_param (AcqHandle, 'Engine', Engine)
+ get_dict_param(Settings, 'key_exists', 'Engine', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Settings, 'Engine', Engine)
+ set_framegrabber_param (AcqHandle, 'Engine', Engine)
+ else
+ NonExistingKeys := [NonExistingKeys, 'Engine']
+ endif
* Sampling
- get_dict_tuple (Settings, 'Sampling', Sampling)
- get_dict_tuple (Sampling, 'Color', SamplingColor)
- get_dict_tuple (Sampling, 'Pixel', SamplingPixel)
- set_framegrabber_param (AcqHandle, 'SamplingColor', SamplingColor)
- set_framegrabber_param (AcqHandle, 'SamplingPixel', SamplingPixel)
+ get_dict_param(Settings, 'key_exists', 'Sampling', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Settings, 'Sampling', Sampling)
+ get_dict_tuple (Sampling, 'Color', SamplingColor)
+ get_dict_tuple (Sampling, 'Pixel', SamplingPixel)
+ set_framegrabber_param (AcqHandle, 'SamplingColor', SamplingColor)
+ set_framegrabber_param (AcqHandle, 'SamplingPixel', SamplingPixel)
+ else
+ NonExistingKeys := [NonExistingKeys, 'Sampling']
+ endif
* RegionOfInterest
- get_dict_tuple (Settings, 'RegionOfInterest', RegionOfInterest)
+ get_dict_param(Settings, 'key_exists', 'RegionOfInterest', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Settings, 'RegionOfInterest', RegionOfInterest)
+ else
+ NonExistingKeys := [NonExistingKeys, 'RegionOfInterest']
+ endif
* Box
- get_dict_tuple (RegionOfInterest, 'Box', Box)
- get_dict_tuple (Box, 'Enabled', Enabled)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxEnabled', Enabled)
- get_dict_tuple (Box, 'Extents', Extents)
- get_dict_tuple (Extents, 0, ExtentsMin)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxExtentsMin', ExtentsMin)
- get_dict_tuple (Extents, 1, ExtentsMax)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxExtentsMax', ExtentsMax)
- get_dict_tuple (Box, 'PointO', PointO)
- get_dict_tuple (PointO, 0, PointOX)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointOX', PointOX)
- get_dict_tuple (PointO, 1, PointOY)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointOY', PointOY)
- get_dict_tuple (PointO, 2, PointOZ)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointOZ', PointOZ)
- get_dict_tuple (Box, 'PointA', PointA)
- get_dict_tuple (PointA, 0, PointAX)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointAX', PointAX)
- get_dict_tuple (PointA, 1, PointAY)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointAY', PointAY)
- get_dict_tuple (PointA, 2, PointAZ)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointAZ', PointAZ)
- get_dict_tuple (Box, 'PointB', PointB)
- get_dict_tuple (PointB, 0, PointBX)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointBX', PointBX)
- get_dict_tuple (PointB, 1, PointBY)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointBY', PointBY)
- get_dict_tuple (PointB, 2, PointBZ)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointBZ', PointBZ)
+ get_dict_param(RegionOfInterest, 'key_exists', 'Box', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (RegionOfInterest, 'Box', Box)
+ get_dict_tuple (Box, 'Enabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxEnabled', Enabled)
+ get_dict_tuple (Box, 'Extents', Extents)
+ get_dict_tuple (Extents, 0, ExtentsMin)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxExtentsMin', ExtentsMin)
+ get_dict_tuple (Extents, 1, ExtentsMax)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxExtentsMax', ExtentsMax)
+ get_dict_tuple (Box, 'PointO', PointO)
+ get_dict_tuple (PointO, 0, PointOX)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointOX', PointOX)
+ get_dict_tuple (PointO, 1, PointOY)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointOY', PointOY)
+ get_dict_tuple (PointO, 2, PointOZ)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointOZ', PointOZ)
+ get_dict_tuple (Box, 'PointA', PointA)
+ get_dict_tuple (PointA, 0, PointAX)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointAX', PointAX)
+ get_dict_tuple (PointA, 1, PointAY)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointAY', PointAY)
+ get_dict_tuple (PointA, 2, PointAZ)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointAZ', PointAZ)
+ get_dict_tuple (Box, 'PointB', PointB)
+ get_dict_tuple (PointB, 0, PointBX)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointBX', PointBX)
+ get_dict_tuple (PointB, 1, PointBY)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointBY', PointBY)
+ get_dict_tuple (PointB, 2, PointBZ)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestBoxPointBZ', PointBZ)
+ else
+ NonExistingKeys := [NonExistingKeys, 'RegionOfInterestBox']
+ endif
* Depth
- get_dict_tuple (RegionOfInterest, 'Depth', Depth)
- get_dict_tuple (Depth, 'Enabled', Enabled)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestDepthEnabled', 1)
- get_dict_tuple (Depth, 'Range', Range)
- get_dict_tuple (Range, 0, RangeMin)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestDepthRangeMin', RangeMin)
- get_dict_tuple (Range, 1, RangeMax)
- set_framegrabber_param (AcqHandle, 'RegionOfInterestDepthRangeMax', RangeMax)
+ get_dict_param(RegionOfInterest, 'key_exists', 'Depth', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (RegionOfInterest, 'Depth', Depth)
+ get_dict_tuple (Depth, 'Enabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestDepthEnabled', 1)
+ get_dict_tuple (Depth, 'Range', Range)
+ get_dict_tuple (Range, 0, RangeMin)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestDepthRangeMin', RangeMin)
+ get_dict_tuple (Range, 1, RangeMax)
+ set_framegrabber_param (AcqHandle, 'RegionOfInterestDepthRangeMax', RangeMax)
+ else
+ NonExistingKeys := [NonExistingKeys, 'RegionOfInterestDepth']
+ endif
* Processing Settings
get_dict_tuple (Settings, 'Processing', Processing)
get_dict_tuple (Processing, 'Filters', Filters)
* Cluster Filter
- get_dict_tuple (Filters, 'Cluster', Cluster)
- get_dict_tuple (Cluster, 'Removal', Removal)
- get_dict_tuple (Removal, 'Enabled', Enabled)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersClusterRemovalEnabled', Enabled)
- get_dict_tuple (Removal, 'MaxNeighborDistance', MaxNeighborDistance)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersClusterRemovalMaxNeighborDistance', MaxNeighborDistance)
- get_dict_tuple (Removal, 'MinArea', MinArea)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersClusterRemovalMinArea', MinArea)
+ get_dict_param(Filters, 'key_exists', 'Cluster', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Filters, 'Cluster', Cluster)
+ get_dict_tuple (Cluster, 'Removal', Removal)
+ get_dict_tuple (Removal, 'Enabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersClusterRemovalEnabled', Enabled)
+ get_dict_tuple (Removal, 'MaxNeighborDistance', MaxNeighborDistance)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersClusterRemovalMaxNeighborDistance', MaxNeighborDistance)
+ get_dict_tuple (Removal, 'MinArea', MinArea)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersClusterRemovalMinArea', MinArea)
+ else
+ NonExistingKeys := [NonExistingKeys, 'ClusterFilter']
+ endif
* Noise Filter
- get_dict_tuple (Filters, 'Noise', Noise)
- get_dict_tuple (Noise, 'Removal', Removal)
- get_dict_tuple (Removal, 'Enabled', Enabled)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersNoiseRemovalEnabled', Enabled)
- get_dict_tuple (Removal, 'Threshold', Threshold)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersNoiseRemovalThreshold', Threshold)
- get_dict_tuple (Noise, 'Suppression', Suppression)
- get_dict_tuple (Suppression, 'Enabled', Enabled)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersNoiseSuppressionEnabled', Enabled)
- get_dict_tuple (Noise, 'Repair', Repair)
- get_dict_tuple (Repair, 'Enabled', Enabled)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersNoiseRepairEnabled', Enabled)
+ get_dict_param(Filters, 'key_exists', 'Noise', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Filters, 'Noise', Noise)
+ get_dict_tuple (Noise, 'Removal', Removal)
+ get_dict_tuple (Removal, 'Enabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersNoiseRemovalEnabled', Enabled)
+ get_dict_tuple (Removal, 'Threshold', Threshold)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersNoiseRemovalThreshold', Threshold)
+ get_dict_tuple (Noise, 'Suppression', Suppression)
+ get_dict_tuple (Suppression, 'Enabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersNoiseSuppressionEnabled', Enabled)
+ get_dict_tuple (Noise, 'Repair', Repair)
+ get_dict_tuple (Repair, 'Enabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersNoiseRepairEnabled', Enabled)
+ else
+ NonExistingKeys := [NonExistingKeys, 'NoiseFilter']
+ endif
* Outlier Filter
- get_dict_tuple (Filters, 'Outlier', Outlier)
- get_dict_tuple (Outlier, 'Removal', Removal)
- get_dict_tuple (Removal, 'Enabled', Enabled)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersOutlierRemovalEnabled', Enabled)
- get_dict_tuple (Removal, 'Threshold', Threshold)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersOutlierRemovalThreshold', Threshold)
+ get_dict_param(Filters, 'key_exists', 'Outlier', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Filters, 'Outlier', Outlier)
+ get_dict_tuple (Outlier, 'Removal', Removal)
+ get_dict_tuple (Removal, 'Enabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersOutlierRemovalEnabled', Enabled)
+ get_dict_tuple (Removal, 'Threshold', Threshold)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersOutlierRemovalThreshold', Threshold)
+ else
+ NonExistingKeys := [NonExistingKeys, 'OutlierFilter']
+ endif
* Reflection Filter
- get_dict_tuple (Filters, 'Reflection', Reflection)
- get_dict_tuple (Reflection, 'Removal', Removal)
- get_dict_tuple (Removal, 'Enabled', Enabled)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersReflectionRemovalEnabled', Enabled)
- get_dict_tuple (Removal, 'Mode', Mode)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersReflectionRemovalMode', Mode)
+ get_dict_param(Filters, 'key_exists', 'Reflection', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Filters, 'Reflection', Reflection)
+ get_dict_tuple (Reflection, 'Removal', Removal)
+ get_dict_tuple (Removal, 'Enabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersReflectionRemovalEnabled', Enabled)
+ get_dict_tuple (Removal, 'Mode', Mode)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersReflectionRemovalMode', Mode)
+ else
+ NonExistingKeys := [NonExistingKeys, 'ReflectionFilter']
+ endif
* Smoothing Filter
- get_dict_tuple (Filters, 'Smoothing', Smoothing)
- get_dict_tuple (Smoothing, 'Gaussian', Gaussian)
- get_dict_tuple (Gaussian, 'Enabled', Enabled)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersSmoothingGaussianEnabled', Enabled)
- get_dict_tuple (Gaussian, 'Sigma', Sigma)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersSmoothingGaussianSigma', Sigma)
+ get_dict_param(Filters, 'key_exists', 'Smoothing', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Filters, 'Smoothing', Smoothing)
+ get_dict_tuple (Smoothing, 'Gaussian', Gaussian)
+ get_dict_tuple (Gaussian, 'Enabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersSmoothingGaussianEnabled', Enabled)
+ get_dict_tuple (Gaussian, 'Sigma', Sigma)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersSmoothingGaussianSigma', Sigma)
+ else
+ NonExistingKeys := [NonExistingKeys, 'SmoothingFilter']
+ endif
* ContrastDistortion Filter
- get_dict_tuple (Filters, 'Experimental', Experimental)
- get_dict_tuple (Experimental, 'ContrastDistortion', ContrastDistortion)
- get_dict_tuple (ContrastDistortion, 'Correction', Correction)
- get_dict_tuple (Correction, 'Enabled', Enabled)
- get_dict_tuple (Correction, 'Strength', Strength)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersExperimentalContrastDistortionCorrectionEnabled', Enabled)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersExperimentalContrastDistortionCorrectionStrength', Strength)
- get_dict_tuple (ContrastDistortion, 'Removal', Removal)
- get_dict_tuple (Removal, 'Enabled', Enabled)
- get_dict_tuple (Removal, 'Threshold', Threshold)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersExperimentalContrastDistortionRemovalEnabled', Enabled)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersExperimentalContrastDistortionRemovalThreshold', Threshold)
+ get_dict_param(Filters, 'key_exists', 'Experimental', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Filters, 'Experimental', Experimental)
+ get_dict_param(Experimental, 'key_exists', 'ContrastDistortion', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Experimental, 'ContrastDistortion', ContrastDistortion)
+ get_dict_tuple (ContrastDistortion, 'Correction', Correction)
+ get_dict_tuple (Correction, 'Enabled', Enabled)
+ get_dict_tuple (Correction, 'Strength', Strength)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersExperimentalContrastDistortionCorrectionEnabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersExperimentalContrastDistortionCorrectionStrength', Strength)
+ get_dict_tuple (ContrastDistortion, 'Removal', Removal)
+ get_dict_tuple (Removal, 'Enabled', Enabled)
+ get_dict_tuple (Removal, 'Threshold', Threshold)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersExperimentalContrastDistortionRemovalEnabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersExperimentalContrastDistortionRemovalThreshold', Threshold)
+ else
+ NonExistingKeys := [NonExistingKeys, 'ContrastDistortionFilter']
+ endif
+ else
+ NonExistingKeys := [NonExistingKeys, 'Experimental']
+ endif
* Hole Repair Filter
- get_dict_tuple (Filters, 'Hole', Hole)
- get_dict_tuple (Hole, 'Repair', Repair)
- get_dict_tuple (Repair, 'Enabled', Enabled)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersHoleRepairEnabled', Enabled)
- get_dict_tuple (Repair, 'HoleSize', HoleSize)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersHoleRepairHoleSize', HoleSize)
- get_dict_tuple (Repair, 'Strictness', Strictness)
- set_framegrabber_param (AcqHandle, 'ProcessingFiltersHoleRepairStrictness', Strictness)
+ get_dict_param(Filters, 'key_exists', 'Hole', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Filters, 'Hole', Hole)
+ get_dict_tuple (Hole, 'Repair', Repair)
+ get_dict_tuple (Repair, 'Enabled', Enabled)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersHoleRepairEnabled', Enabled)
+ get_dict_tuple (Repair, 'HoleSize', HoleSize)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersHoleRepairHoleSize', HoleSize)
+ get_dict_tuple (Repair, 'Strictness', Strictness)
+ set_framegrabber_param (AcqHandle, 'ProcessingFiltersHoleRepairStrictness', Strictness)
+ else
+ NonExistingKeys := [NonExistingKeys, 'HoleRepairFilter']
+ endif
+
+ * Resampling
+ get_dict_param(Processing, 'key_exists', 'Resampling', KeyExists)
+ if (KeyExists)
+ get_dict_tuple(Processing, 'Resampling', Resampling)
+ get_dict_tuple(Resampling, 'Mode', Mode)
+ set_framegrabber_param(AcqHandle, 'ProcessingResamplingMode', Mode)
+ else
+ NonExistingKeys := [NonExistingKeys, 'Resampling']
+ endif
* Color Settings
- get_dict_tuple (Processing, 'Color', Color)
- get_dict_tuple (Color, 'Balance', Balance)
- get_dict_tuple (Balance, 'Blue', Blue)
- get_dict_tuple (Balance, 'Green', Green)
- get_dict_tuple (Balance, 'Red', Red)
- set_framegrabber_param (AcqHandle, 'ProcessingColorBalanceBlue', Blue)
- set_framegrabber_param (AcqHandle, 'ProcessingColorBalanceGreen', Green)
- set_framegrabber_param (AcqHandle, 'ProcessingColorBalanceRed', Red)
- get_dict_tuple (Color, 'Experimental', Experimental)
- get_dict_tuple (Experimental, 'Mode', Mode)
- set_framegrabber_param (AcqHandle, 'ProcessingColorExperimentalMode', Mode)
+ get_dict_param(Processing, 'key_exists', 'Color', KeyExists)
+ if (KeyExists)
+ get_dict_tuple (Processing, 'Color', Color)
+ get_dict_tuple (Color, 'Balance', Balance)
+ get_dict_tuple (Balance, 'Blue', Blue)
+ get_dict_tuple (Balance, 'Green', Green)
+ get_dict_tuple (Balance, 'Red', Red)
+ set_framegrabber_param (AcqHandle, 'ProcessingColorBalanceBlue', Blue)
+ set_framegrabber_param (AcqHandle, 'ProcessingColorBalanceGreen', Green)
+ set_framegrabber_param (AcqHandle, 'ProcessingColorBalanceRed', Red)
+ get_dict_tuple (Color, 'Experimental', Experimental)
+ get_dict_tuple (Experimental, 'Mode', Mode)
+ set_framegrabber_param (AcqHandle, 'ProcessingColorExperimentalMode', Mode)
+ else
+ NonExistingKeys := [NonExistingKeys, 'Color']
+ endif
+
+ tuple_length(NonExistingKeys, NumberOfNonExistingKeys)
+ if (NumberOfNonExistingKeys > 0)
+ dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
+ DisplayText := 'Could not find the following capture settings:\n'
+ for Index := 0 to |NumberOfNonExistingKeys| - 1 by 1
+ tuple_select(NonExistingKeys, Index, NonExistingKey)
+ DisplayText := DisplayText + '\t\t- ' + NonExistingKey + '\n'
+ endfor
+ DisplayText := DisplayText + 'Using default settings instead.'
+ dev_disp_text(DisplayText, 'window', 0, 0, 'red', ['box'], ['false'])
+ wait_seconds(5)
+ dev_close_window()
+ endif
return ()