Public Member Functions | Protected Attributes | Private Attributes | List of all members
crl::multisense::image::Config Class Reference

#include <MultiSenseTypes.hh>

Public Member Functions

bool autoExposure () const
 
uint32_t autoExposureDecay () const
 
uint32_t autoExposureMax () const
 
uint16_t autoExposureRoiHeight () const
 
uint16_t autoExposureRoiWidth () const
 
uint16_t autoExposureRoiX () const
 
uint16_t autoExposureRoiY () const
 
float autoExposureTargetIntensity () const
 
float autoExposureThresh () const
 
bool autoWhiteBalance () const
 
uint32_t autoWhiteBalanceDecay () const
 
float autoWhiteBalanceThresh () const
 
CameraProfile cameraProfile () const
 
 Config ()
 
float cx () const
 
float cy () const
 
uint32_t disparities () const
 
uint32_t exposure () const
 
float fps () const
 
float fx () const
 
float fy () const
 
float gain () const
 
float gamma () const
 
bool hdrEnabled () const
 
uint32_t height () const
 
float pitch () const
 
float roll () const
 
void setAutoExposure (bool e)
 
void setAutoExposureDecay (uint32_t d)
 
void setAutoExposureMax (uint32_t m)
 
void setAutoExposureRoi (uint16_t start_x, uint16_t start_y, uint16_t width, uint16_t height)
 
void setAutoExposureTargetIntensity (float d)
 
void setAutoExposureThresh (float t)
 
void setAutoWhiteBalance (bool e)
 
void setAutoWhiteBalanceDecay (uint32_t d)
 
void setAutoWhiteBalanceThresh (float t)
 
void setCameraProfile (const CameraProfile &profile)
 
void setDisparities (uint32_t d)
 
void setExposure (uint32_t e)
 
void setFps (float f)
 
void setGain (float g)
 
void setGamma (const float g)
 
void setHdr (bool e)
 
void setHeight (uint32_t h)
 
void setResolution (uint32_t w, uint32_t h)
 
void setStereoPostFilterStrength (float s)
 
void setWhiteBalance (float r, float b)
 
void setWidth (uint32_t w)
 
float stereoPostFilterStrength () const
 
float tx () const
 
float ty () const
 
float tz () const
 
float whiteBalanceBlue () const
 
float whiteBalanceRed () const
 
uint32_t width () const
 
float yaw () const
 

Protected Attributes

float m_cx
 
float m_cy
 
float m_fx
 
float m_fy
 
float m_pitch
 
float m_roll
 
float m_tx
 
float m_ty
 
float m_tz
 
float m_yaw
 

Private Attributes

uint32_t m_disparities
 
ExposureConfig m_exposure
 
float m_fps
 
float m_gain
 
float m_gamma
 
bool m_hdrEnabled
 
uint32_t m_height
 
CameraProfile m_profile
 
float m_spfStrength
 
float m_wbBlue
 
uint32_t m_wbDecay
 
bool m_wbEnabled
 
float m_wbRed
 
float m_wbThresh
 
uint32_t m_width
 

Detailed Description

Class used to store a specific camera configuration. Members in this class are set via get and set methods. The class is used as an input to a channel object to query or set camera parameters.

Example code to query an image configuration:

//
// Instantiate a channel connecting to a sensor at the factory default
// IP address
channel = crl::multisense::Channel::Create("10.66.171.21");
channel->setMtu(7200);
//
// Create a imageConfig instance to store the queried configuration
//
// Query the image configuration from the Channel instance
crl::multisense::Status status = channel->getImageConfig(imageConfig);
//
// Check to see if the configuration query succeeded
throw std::runtime_error("Unable to query image configuration");
}
//
// Use the image configuration...
//
// Destroy the channel instance

Example code to set an image configurations:

//
// Instantiate a channel connecting to a sensor at the factory default
// IP address
channel = crl::multisense::Channel::Create("10.66.171.21");
channel->setMtu(7200);
//
// Create a imageConfig instance to store the queried configuration
//
// Query the image configuration from the Channel instance
status = channel->getImageConfig(imageConfig);
//
// Check to see if the configuration query succeeded
throw std::runtime_error("Unable to query image configuration");
}
//
// Modify image configuration parameters
// Here we increase the frame rate to 30 FPS
imageConfig.setFps(30.0);
//
// Send the new image configuration to the sensor
status = channel->setImageConfig(imageConfig);
//
// Check to see if the configuration was successfully received by the
// sensor
throw std::runtime_error("Unable to set image configuration");
}
//
// Destroy the channel instance

Definition at line 790 of file MultiSenseTypes.hh.

Constructor & Destructor Documentation

◆ Config()

crl::multisense::image::Config::Config ( )
inline

Default constructor for a image configuration. Initializes all image configuration members to their default values

Definition at line 1316 of file MultiSenseTypes.hh.

Member Function Documentation

◆ autoExposure()

bool crl::multisense::image::Config::autoExposure ( ) const
inline

Query the current image configuration's auto-exposure enable setting

Returns
The current image configuration's auto-exposure enable flag

Definition at line 1063 of file MultiSenseTypes.hh.

◆ autoExposureDecay()

uint32_t crl::multisense::image::Config::autoExposureDecay ( ) const
inline

Query the current image configuration's auto-exposure decay rate

Returns
The current configuration's auto-exposure decay rate

Definition at line 1079 of file MultiSenseTypes.hh.

◆ autoExposureMax()

uint32_t crl::multisense::image::Config::autoExposureMax ( ) const
inline

Query the current image configuration's maximum auto-exposure value

Returns
The current image configuration's maximum auto-exposure value

Definition at line 1071 of file MultiSenseTypes.hh.

◆ autoExposureRoiHeight()

uint16_t crl::multisense::image::Config::autoExposureRoiHeight ( ) const
inline

Query the current image configuration's auto-exposure ROI height value Will return crl::multisense::Roi_Full_Image for the default setting, when the ROI covers the entire image regardless of current resolution

Returns
The current image configuration's auto-exposure ROI height value

Definition at line 1182 of file MultiSenseTypes.hh.

◆ autoExposureRoiWidth()

uint16_t crl::multisense::image::Config::autoExposureRoiWidth ( ) const
inline

Query the current image configuration's auto-exposure ROI width value Will return crl::multisense::Roi_Full_Image for the default setting, when the ROI covers the entire image regardless of current resolution

Returns
The current image configuration's auto-exposure ROI width value

Definition at line 1173 of file MultiSenseTypes.hh.

◆ autoExposureRoiX()

uint16_t crl::multisense::image::Config::autoExposureRoiX ( ) const
inline

Query the current image configuration's auto-exposure ROI X value

Returns
The current image configuration's auto-exposure ROI X value

Definition at line 1157 of file MultiSenseTypes.hh.

◆ autoExposureRoiY()

uint16_t crl::multisense::image::Config::autoExposureRoiY ( ) const
inline

Query the current image configuration's auto-exposure ROI Y value

Returns
The current image configuration's auto-exposure ROI Y value

Definition at line 1164 of file MultiSenseTypes.hh.

◆ autoExposureTargetIntensity()

float crl::multisense::image::Config::autoExposureTargetIntensity ( ) const
inline

Query the current image configuration's auto-exposure target intensity

Returns
The current image configuration's auto-exposure target intensity

Definition at line 1087 of file MultiSenseTypes.hh.

◆ autoExposureThresh()

float crl::multisense::image::Config::autoExposureThresh ( ) const
inline

Query the current image configuration's auto-exposure threshold

Returns
The current image configuration's auto-exposure threshold

Definition at line 1095 of file MultiSenseTypes.hh.

◆ autoWhiteBalance()

bool crl::multisense::image::Config::autoWhiteBalance ( ) const
inline

Query the current image configuration's white-balance enable setting

Returns
The current image configuration's white-balance enable flag

Definition at line 1119 of file MultiSenseTypes.hh.

◆ autoWhiteBalanceDecay()

uint32_t crl::multisense::image::Config::autoWhiteBalanceDecay ( ) const
inline

Query the current image configuration's white-balance decay rate

Returns
The current image configuration's white-balance decay rate

Definition at line 1127 of file MultiSenseTypes.hh.

◆ autoWhiteBalanceThresh()

float crl::multisense::image::Config::autoWhiteBalanceThresh ( ) const
inline

Query the current image configuration's white-balance threshold

Returns
The current image configuration's white-balance threshold

Definition at line 1135 of file MultiSenseTypes.hh.

◆ cameraProfile()

CameraProfile crl::multisense::image::Config::cameraProfile ( ) const
inline

Query the current image configurations camera profile

Returns
The current image configurations camera profile

Definition at line 1189 of file MultiSenseTypes.hh.

◆ cx()

float crl::multisense::image::Config::cx ( ) const
inline

Query the current camera calibrations left rectified image center in the x dimension

Note this value is scaled based on the current image resolution

Returns
The current camera calibrations rectified image center in the x dimension

Definition at line 1236 of file MultiSenseTypes.hh.

◆ cy()

float crl::multisense::image::Config::cy ( ) const
inline

Query the current camera calibrations left rectified image center in the y dimension

Note this value is scaled based on the current image resolution

Returns
The current camera calibrations rectified image center in the y dimension

Definition at line 1248 of file MultiSenseTypes.hh.

◆ disparities()

uint32_t crl::multisense::image::Config::disparities ( ) const
inline

Query the current image configuration's number of disparities

Returns
The current number of disparities used when searching for stereo feature matches

Definition at line 1031 of file MultiSenseTypes.hh.

◆ exposure()

uint32_t crl::multisense::image::Config::exposure ( ) const
inline

Query the current image configuration's exposure setting

Returns
the current image exposure setting in microseconds

Definition at line 1055 of file MultiSenseTypes.hh.

◆ fps()

float crl::multisense::image::Config::fps ( ) const
inline

Query the current image configuration's frames-per-second setting

Returns
The current frames per second

Definition at line 1039 of file MultiSenseTypes.hh.

◆ fx()

float crl::multisense::image::Config::fx ( ) const
inline

Query the current camera calibrations rectified projection focal length in the x dimension.

Note this value is scaled based on the current image resolution

Returns
The current camera calibrations focal length in the x dimension

Definition at line 1213 of file MultiSenseTypes.hh.

◆ fy()

float crl::multisense::image::Config::fy ( ) const
inline

Query the current camera calibrations rectified projection focal length in the y dimension.

Note this value is scaled based on the current image resolution

Returns
The current camera calibrations focal length in the y dimension

Definition at line 1224 of file MultiSenseTypes.hh.

◆ gain()

float crl::multisense::image::Config::gain ( ) const
inline

Query the current image configuration's gain setting

Returns
The current image gain setting

Definition at line 1046 of file MultiSenseTypes.hh.

◆ gamma()

float crl::multisense::image::Config::gamma ( ) const
inline

Query the gamma correction factor. Gamma correction factor will be applied to all images.

Returns
Return the gamma factor applied to images

Definition at line 1197 of file MultiSenseTypes.hh.

◆ hdrEnabled()

bool crl::multisense::image::Config::hdrEnabled ( ) const
inline

Query the current image configuration's HDR enable flag

Returns
The current image configuration's HDR enable flag

Definition at line 1150 of file MultiSenseTypes.hh.

◆ height()

uint32_t crl::multisense::image::Config::height ( ) const
inline

Query the current image configuration's height

Returns
The current image height

Definition at line 1022 of file MultiSenseTypes.hh.

◆ pitch()

float crl::multisense::image::Config::pitch ( ) const
inline

Query the current camera calibrations pitch value. This is the Euler pitch angle to rotate the right camera frame into the left camera frame. For rectified images this value will be 0.

Returns
the current camera calibrations pitch value

Definition at line 1300 of file MultiSenseTypes.hh.

◆ roll()

float crl::multisense::image::Config::roll ( ) const
inline

Query the current camera calibrations roll value. This is the Euler roll angle to rotate the right camera frame into the left camera frame. For rectified images this value will be 0.

Returns
the current camera calibrations roll value

Definition at line 1290 of file MultiSenseTypes.hh.

◆ setAutoExposure()

void crl::multisense::image::Config::setAutoExposure ( bool  e)
inline

Set auto-exposure enable flag. Default value: true

Parameters
eA boolean used to enable or disable auto-exposure

Definition at line 870 of file MultiSenseTypes.hh.

◆ setAutoExposureDecay()

void crl::multisense::image::Config::setAutoExposureDecay ( uint32_t  d)
inline

Set the desired auto-exposure decay rate. Default value: 7

Parameters
dThe auto-exposure decay rate [0, 20]

Definition at line 886 of file MultiSenseTypes.hh.

◆ setAutoExposureMax()

void crl::multisense::image::Config::setAutoExposureMax ( uint32_t  m)
inline

Set the desired maximum auto-exposure value. Default value: 5000000

Parameters
mThe maximum auto-exposure value in microseconds

Definition at line 878 of file MultiSenseTypes.hh.

◆ setAutoExposureRoi()

void crl::multisense::image::Config::setAutoExposureRoi ( uint16_t  start_x,
uint16_t  start_y,
uint16_t  width,
uint16_t  height 
)
inline

Set the desired ROI to use when computing the auto-exposure. x axis is horizontal and y axis is vertical. (0,0) coordinate starts in the upper left corner of the image. If (x + w > image width) or (y + h > image height) the sensor will return an error Setting to default:(0,0,crl::multisense::Roi_Full_Image,crl::multisense::Roi_Full_Image) will use the entire image for the ROI regardless of the current resolution This feature is only available in sensor firmware version 4.3 and greater

Parameters
start_xThe X coordinate where the ROI starts
start_yThe Y coordinate where the ROI starts
widthThe width of the ROI
heightThe height of the ROI

Definition at line 980 of file MultiSenseTypes.hh.

◆ setAutoExposureTargetIntensity()

void crl::multisense::image::Config::setAutoExposureTargetIntensity ( float  d)
inline

Set the desired auto-exposure target Intensity. Default value: 0.95

Parameters
dThe auto-exposure target intensity [0.0, 1.0]

Definition at line 894 of file MultiSenseTypes.hh.

◆ setAutoExposureThresh()

void crl::multisense::image::Config::setAutoExposureThresh ( float  t)
inline

Set the desired auto-exposure threshold. This is the percentage of the image that should be white. Default value: 0.75

Parameters
tThe desired auto-exposure threshold [0.0, 1.0]

Definition at line 903 of file MultiSenseTypes.hh.

◆ setAutoWhiteBalance()

void crl::multisense::image::Config::setAutoWhiteBalance ( bool  e)
inline

Set the white-balance enable flag. Default value: true

Parameters
eA boolean used to enable or disable white-balance

Definition at line 923 of file MultiSenseTypes.hh.

◆ setAutoWhiteBalanceDecay()

void crl::multisense::image::Config::setAutoWhiteBalanceDecay ( uint32_t  d)
inline

Set the white-balance decay rate. Default value: 3

Parameters
dThe white-balance decay rate [0, 20]

Definition at line 931 of file MultiSenseTypes.hh.

◆ setAutoWhiteBalanceThresh()

void crl::multisense::image::Config::setAutoWhiteBalanceThresh ( float  t)
inline

Set the white-balance threshold. Default value: 0.5

Parameters
tThe desired white-balance threshold [0.0, 1.0]

Definition at line 939 of file MultiSenseTypes.hh.

◆ setCameraProfile()

void crl::multisense::image::Config::setCameraProfile ( const CameraProfile profile)
inline

Set the operation profile for the camera to use. Profile settings subsume other user settings.

Parameters
profileThe operation profile to use on the camera

Definition at line 990 of file MultiSenseTypes.hh.

◆ setDisparities()

void crl::multisense::image::Config::setDisparities ( uint32_t  d)
inline

For stereo sensors, set the desired number of disparities used to search for matching features between the left and right images when computing the output disparity image. Default value: 128

Parameters
dThe number of disparities

Definition at line 816 of file MultiSenseTypes.hh.

◆ setExposure()

void crl::multisense::image::Config::setExposure ( uint32_t  e)
inline

Set the exposure time used to capture images. Note auto exposure must be disabled for this to take effect. Default value: 10000

Parameters
eThe output exposure time in microseconds [10, 5000000]

Definition at line 862 of file MultiSenseTypes.hh.

◆ setFps()

void crl::multisense::image::Config::setFps ( float  f)
inline

Set the desired output frames per second. Default value: 5

Note
If an external trigger is selected, this value acts as an upper bounds to the framerate.
Parameters
fThe desired frames per second

Definition at line 845 of file MultiSenseTypes.hh.

◆ setGain()

void crl::multisense::image::Config::setGain ( float  g)
inline

Set the desired output image's gain. Default value: 1

Parameters
gThe output image gain

Definition at line 853 of file MultiSenseTypes.hh.

◆ setGamma()

void crl::multisense::image::Config::setGamma ( const float  g)
inline

Set the gamma correction factor.

Gamma is a nonlinear operation used to encode and decode luminance. Typical values for gamma range between 1 and 2.2.

Parameters
gthe gamma constant applied to the camera sources

Definition at line 1003 of file MultiSenseTypes.hh.

◆ setHdr()

void crl::multisense::image::Config::setHdr ( bool  e)
inline

Set the HDR enable flag. This feature is only available in sensor firmware version greater than 3.1. Default value: false. Note enabling HDR will disable image white balance. It may also degrade the stereo performance. It is advised to manually tune exposure and gain settings to achieve desired performance.

Parameters
eA boolean used to enable or disable HDR on the camera imagers

Definition at line 963 of file MultiSenseTypes.hh.

◆ setHeight()

void crl::multisense::image::Config::setHeight ( uint32_t  h)
inline

Set the height of the desired output resolution. Default value: 544

Parameters
hThe new resolution's height

Definition at line 834 of file MultiSenseTypes.hh.

◆ setResolution()

void crl::multisense::image::Config::setResolution ( uint32_t  w,
uint32_t  h 
)
inline

Set a desired output resolution. Default value: 1024x544

Parameters
wThe new resolutions width
hThe new resolutions height

Definition at line 804 of file MultiSenseTypes.hh.

◆ setStereoPostFilterStrength()

void crl::multisense::image::Config::setStereoPostFilterStrength ( float  s)
inline

Set the desired stereo post-filter strength. This is used to filter low confidence stereo data before it is sent to the host. Larger numbers indicate more aggressive filtering. This feature is only available on sensor firmware versions greater than 3.0. Default value: 0.5

Parameters
sThe desired stereo post-filter strength [0.0, 1.0]

Definition at line 951 of file MultiSenseTypes.hh.

◆ setWhiteBalance()

void crl::multisense::image::Config::setWhiteBalance ( float  r,
float  b 
)
inline

Set the desired image white-balance. Default value: 1.0 for both r and b

Parameters
rThe input read white-balance value [0.25, 4.0]
bThe input blue white-balance value [0.25, 4.0]

Definition at line 914 of file MultiSenseTypes.hh.

◆ setWidth()

void crl::multisense::image::Config::setWidth ( uint32_t  w)
inline

Set the width of the desired output resolution. Default value: 1024

Parameters
wThe new resolution's width

Definition at line 825 of file MultiSenseTypes.hh.

◆ stereoPostFilterStrength()

float crl::multisense::image::Config::stereoPostFilterStrength ( ) const
inline

Query the current image configuration's stereo post-filter strength

Returns
The current image configuration's stereo post-filter strength

Definition at line 1143 of file MultiSenseTypes.hh.

◆ tx()

float crl::multisense::image::Config::tx ( ) const
inline

Query the current camera calibrations stereo baseline. This is the component of the vector in the x dimension which points from the right rectified camera frame to the left rectified camera frame

Returns
The x component of the current calibrations stereo baseline

Definition at line 1258 of file MultiSenseTypes.hh.

◆ ty()

float crl::multisense::image::Config::ty ( ) const
inline

Query the current camera calibrations stereo baseline. This is the component of the vector in the y dimension which points from the right rectified camera frame to the left rectified camera frame. For rectified images this value will be 0.

Returns
The y component of the current calibrations stereo baseline

Definition at line 1269 of file MultiSenseTypes.hh.

◆ tz()

float crl::multisense::image::Config::tz ( ) const
inline

Query the current camera calibrations stereo baseline. This is the component of the vector in the z dimension which points from the right rectified frame center to the left rectified camera frame. For rectified images this value will be 0.

Returns
The z component of the current calibrations stereo baseline

Definition at line 1280 of file MultiSenseTypes.hh.

◆ whiteBalanceBlue()

float crl::multisense::image::Config::whiteBalanceBlue ( ) const
inline

Query the current image configuration's blue white-balance setting

Returns
The current image configuration's blue white-balance setting

Definition at line 1111 of file MultiSenseTypes.hh.

◆ whiteBalanceRed()

float crl::multisense::image::Config::whiteBalanceRed ( ) const
inline

Query the current image configuration's red white-balance setting

Returns
The current image configuration's red white-balance setting

Definition at line 1103 of file MultiSenseTypes.hh.

◆ width()

uint32_t crl::multisense::image::Config::width ( ) const
inline

Query the current image configuration's width

Returns
The current image width

Definition at line 1014 of file MultiSenseTypes.hh.

◆ yaw()

float crl::multisense::image::Config::yaw ( ) const
inline

Query the current camera calibrations yaw value. This is the Euler yaw angle to rotate the right camera frame into the left camera frame. For rectified images this value will be 0.

Returns
the current camera calibrations yaw value

Definition at line 1310 of file MultiSenseTypes.hh.

Member Data Documentation

◆ m_cx

float crl::multisense::image::Config::m_cx
protected

Definition at line 1343 of file MultiSenseTypes.hh.

◆ m_cy

float crl::multisense::image::Config::m_cy
protected

Definition at line 1343 of file MultiSenseTypes.hh.

◆ m_disparities

uint32_t crl::multisense::image::Config::m_disparities
private

Definition at line 1335 of file MultiSenseTypes.hh.

◆ m_exposure

ExposureConfig crl::multisense::image::Config::m_exposure
private

Definition at line 1328 of file MultiSenseTypes.hh.

◆ m_fps

float crl::multisense::image::Config::m_fps
private

Definition at line 1324 of file MultiSenseTypes.hh.

◆ m_fx

float crl::multisense::image::Config::m_fx
protected

Definition at line 1343 of file MultiSenseTypes.hh.

◆ m_fy

float crl::multisense::image::Config::m_fy
protected

Definition at line 1343 of file MultiSenseTypes.hh.

◆ m_gain

float crl::multisense::image::Config::m_gain
private

Definition at line 1324 of file MultiSenseTypes.hh.

◆ m_gamma

float crl::multisense::image::Config::m_gamma
private

Definition at line 1339 of file MultiSenseTypes.hh.

◆ m_hdrEnabled

bool crl::multisense::image::Config::m_hdrEnabled
private

Definition at line 1337 of file MultiSenseTypes.hh.

◆ m_height

uint32_t crl::multisense::image::Config::m_height
private

Definition at line 1334 of file MultiSenseTypes.hh.

◆ m_pitch

float crl::multisense::image::Config::m_pitch
protected

Definition at line 1345 of file MultiSenseTypes.hh.

◆ m_profile

CameraProfile crl::multisense::image::Config::m_profile
private

Definition at line 1338 of file MultiSenseTypes.hh.

◆ m_roll

float crl::multisense::image::Config::m_roll
protected

Definition at line 1345 of file MultiSenseTypes.hh.

◆ m_spfStrength

float crl::multisense::image::Config::m_spfStrength
private

Definition at line 1336 of file MultiSenseTypes.hh.

◆ m_tx

float crl::multisense::image::Config::m_tx
protected

Definition at line 1344 of file MultiSenseTypes.hh.

◆ m_ty

float crl::multisense::image::Config::m_ty
protected

Definition at line 1344 of file MultiSenseTypes.hh.

◆ m_tz

float crl::multisense::image::Config::m_tz
protected

Definition at line 1344 of file MultiSenseTypes.hh.

◆ m_wbBlue

float crl::multisense::image::Config::m_wbBlue
private

Definition at line 1329 of file MultiSenseTypes.hh.

◆ m_wbDecay

uint32_t crl::multisense::image::Config::m_wbDecay
private

Definition at line 1332 of file MultiSenseTypes.hh.

◆ m_wbEnabled

bool crl::multisense::image::Config::m_wbEnabled
private

Definition at line 1331 of file MultiSenseTypes.hh.

◆ m_wbRed

float crl::multisense::image::Config::m_wbRed
private

Definition at line 1330 of file MultiSenseTypes.hh.

◆ m_wbThresh

float crl::multisense::image::Config::m_wbThresh
private

Definition at line 1333 of file MultiSenseTypes.hh.

◆ m_width

uint32_t crl::multisense::image::Config::m_width
private

Definition at line 1334 of file MultiSenseTypes.hh.

◆ m_yaw

float crl::multisense::image::Config::m_yaw
protected

Definition at line 1345 of file MultiSenseTypes.hh.


The documentation for this class was generated from the following file:


multisense_lib
Author(s):
autogenerated on Sat Jun 24 2023 03:01:21