diff --git a/source/Applications/Advanced/ObjectMatching/SurfaceMatchingFindModelFromFile.hdev b/source/Applications/Advanced/ObjectMatching/SurfaceMatchingFindModelFromFile.hdev
index bac74a9..7b5c4df 100644
--- a/source/Applications/Advanced/ObjectMatching/SurfaceMatchingFindModelFromFile.hdev
+++ b/source/Applications/Advanced/ObjectMatching/SurfaceMatchingFindModelFromFile.hdev
@@ -56,7 +56,7 @@
for Index := 1 to 5 by 1
- tuple_add (ScenePath, '/im', SceneFilename)
+ tuple_add (ScenePath, '/Im', SceneFilename)
tuple_add (SceneFilename, Index, SceneFilename)
tuple_add (SceneFilename, '.ply', SceneFilename)
read_object_model_3d (SceneFilename, 'm', ['xyz_map_width'], [1920], ObjectModel3DScene, Status)
diff --git a/source/Camera/Advanced/CaptureHDRLoop.hdev b/source/Camera/Advanced/CaptureHDRLoop.hdev
index 6a4dd5f..0dfa581 100644
--- a/source/Camera/Advanced/CaptureHDRLoop.hdev
+++ b/source/Camera/Advanced/CaptureHDRLoop.hdev
@@ -27,7 +27,7 @@
* Connecting to Zivid camera
open_framegrabber ('GenICamTL', 1, 1, 0, 0, 0, 0, 'progressive', -1, 'default', -1, 'false', 'default', Device, 0, 0, AcqHandle)
get_framegrabber_param (AcqHandle, 'DeviceModelName', DeviceModelName)
- tuple_substr (DeviceModelName, 0, 8, DeviceModelFolder)
+ get_zivid_model_folder_name (DeviceModelName, DeviceModelFolder)
* Configuring 3D-settings
set_framegrabber_param (AcqHandle, 'create_objectmodel3d', 'enable')
@@ -45,7 +45,8 @@
set_framegrabber_param (AcqHandle, 'ResetAcquisitions', 1)
* Configuring HDR settings for frames
- set_settings (AcqHandle, ZividDataDir + '/SettingsJson/' + DeviceModelFolder +'/Settings0'+(Index+1)+'.json')
+ read_dict (ZividDataDir + '/SettingsJson/' + DeviceModelFolder + '/Settings01.json', [], [], JsonSettings)
+ read_zivid_json_params (AcqHandle, JsonSettings)
* Capturing frame (HDR)
grab_data (Image, Region, Contours, AcqHandle, ObjectModel3D)
diff --git a/source/Camera/InfoUtilOther/Warmup.hdev b/source/Camera/InfoUtilOther/Warmup.hdev
new file mode 100644
index 0000000..8cd52dc
--- /dev/null
+++ b/source/Camera/InfoUtilOther/Warmup.hdev
@@ -0,0 +1,67 @@
+
+
+
+
+
+ *
+ * A basic warm-up method for a Zivid camera with specified time and capture cycle.
+ *
+
+ * Preparing the graphics window
+ dev_close_window ()
+ WinWidth := 480
+ WinHeight := 400
+ dev_open_window (0, 0, WinWidth, WinHeight, 'black', Window3D)
+
+ * Getting first available Zivid device
+ info_framegrabber ('GenICamTL','device', Information, Devices)
+ import './../../Procedures'
+ get_first_available_zivid_device (Devices, Device)
+ get_zivid_sample_data_dir(ZividDataDir)
+
+ * Connecting to Zivid camera
+ open_framegrabber ('GenICamTL',1, 1, 0, 0, 0, 0, 'progressive', -1, 'default', -1, 'false', 'default', Device, 0, 0, AcqHandle)
+
+ WarmupTimeMinutes := 10
+ CaptureCycle := 5
+
+ * Reading JSON settings path
+ get_framegrabber_param (AcqHandle, 'DeviceModelName', DeviceModelName)
+ get_zivid_model_folder_name (DeviceModelName, DeviceModelFolder)
+ read_dict (ZividDataDir + '/SettingsJson/' + DeviceModelFolder + '/Settings01.json', [], [], JsonSettings)
+ read_zivid_json_params (AcqHandle, JsonSettings)
+
+ dev_disp_text ('Starting warm up for: ' + WarmupTimeMinutes + ' minutes' , 'window', 60, 12, 'black', [], [])
+
+ TimePast := 0
+ WarmupTime := WarmupTimeMinutes * 60
+ while(TimePast < WarmupTime)
+ count_seconds(BeforeGrabData)
+ grab_data (Image, Region, Contours, AcqHandle, Data)
+ count_seconds(AfterGrabData)
+
+ CaptureTime := AfterGrabData - BeforeGrabData
+
+ if (CaptureTime < CaptureCycle)
+ wait_seconds (CaptureCycle - CaptureTime)
+ else
+ dev_disp_text('Your capture time is longer than your desired capture cycle. Please increase the desired capture cycle.','window', 84, 12, 'black', [], [])
+ endif
+
+ TimePast := TimePast + max([CaptureTime, CaptureCycle])
+ RemainingTime := WarmupTime - TimePast
+ RemainingTimeSeconds := max2 (0, int(RemainingTime) % 60)
+ RemainingTimeMinutes := int (RemainingTime - RemainingTimeSeconds) / 60
+ dev_disp_text('Remaining time: ' + RemainingTimeMinutes + ' minutes, ' + RemainingTimeSeconds + ' seconds' , 'window', 106, 12, 'black', [], [])
+ endwhile
+
+ dev_disp_text('Warm up completed', 'window', 120, 12, 'black', [], [])
+
+ * Closing graphics window
+ dev_close_window ()
+
+
+
+
+
+
diff --git a/source/Procedures/get_zivid_model_folder_name.hdvp b/source/Procedures/get_zivid_model_folder_name.hdvp
new file mode 100644
index 0000000..4044b5b
--- /dev/null
+++ b/source/Procedures/get_zivid_model_folder_name.hdvp
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ tuple_split(DeviceModelName, ' ', Substrings)
+ if (Substrings[1] == 'One')
+ ZividFolder := 'zividOne'
+ else
+ ZividFolder := 'zividTwo'
+ endif
+ return ()
+
+
+
+
+
+
+
+
+
diff --git a/source/Procedures/read_zivid_json_params.hdvp b/source/Procedures/read_zivid_json_params.hdvp
new file mode 100644
index 0000000..db1fb22
--- /dev/null
+++ b/source/Procedures/read_zivid_json_params.hdvp
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+ get_dict_tuple (path, 'Settings', Settings)
+ get_dict_tuple (Settings,'Acquisitions', Acquisitions)
+ get_dict_param (Acquisitions, 'keys', [], AllKeys)
+
+ * Single Capture or HDR
+ if (|AllKeys|==1)
+ set_framegrabber_param (AcqHandle, 'AcquisitionMode', 'SingleFrame')
+ elseif (|AllKeys| > 1)
+ set_framegrabber_param (AcqHandle, 'AcquisitionMode', 'MultiAcquisitionFrame')
+ endif
+
+ * Acquisition Settings
+ for Index := 0 to |AllKeys| -1 by 1
+ get_dict_tuple (Acquisitions, Index, AcquisitionIndex)
+ get_dict_tuple (AcquisitionIndex, 'Acquisition', Acquisition)
+ get_dict_tuple (Acquisition, 'ExposureTime', ExposureTime)
+ set_framegrabber_param(AcqHandle,'ExposureTime', ExposureTime)
+ get_dict_tuple (Acquisition, 'Aperture', Aperture)
+ set_framegrabber_param (AcqHandle, 'Aperture', Aperture)
+ get_dict_tuple(Acquisition, 'Brightness', Brightness)
+ set_framegrabber_param (AcqHandle, 'Brightness', Brightness)
+ get_dict_tuple(Acquisition, 'Gain', Gain)
+ set_framegrabber_param(AcqHandle, 'Gain', Gain)
+ set_framegrabber_param(AcqHandle, 'AddAcquisition',1)
+ endfor
+
+ * Processing Settings
+ get_dict_tuple(Settings, 'Processing', Processing)
+ get_dict_tuple(Processing, 'Filters', Filters)
+
+ * 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)
+
+ * 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)
+
+ * 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,'Experimental', Experimental)
+ get_dict_tuple(Experimental,'Mode', Mode)
+ set_framegrabber_param(AcqHandle, 'ProcessingFiltersReflectionRemovalExperimentalMode',Mode)
+
+ * 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)
+
+ * 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)
+
+ * 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)
+
+ return ()
+
+
+
+
+
+
+
+
+