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 () + + + + + + + + +