mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-20 02:40:03 +02:00
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
# SPDX-License-Identifier: LGPL-3.0-or-other
|
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
|
"""
|
|
Example showing how to set and get exposure times
|
|
"""
|
|
|
|
import datetime as dt
|
|
from slsdet import Detector
|
|
from slsdet.utils import element_if_equal
|
|
|
|
d = Detector()
|
|
|
|
# The simplest way is to set the exposure time in
|
|
# seconds by using the exptime property
|
|
# This sets the exposure time for all modules
|
|
d.exptime = 0.5
|
|
|
|
# exptime also accepts a python datetime.timedelta
|
|
# which can be used to set the time in almost any unit
|
|
t = dt.timedelta(milliseconds = 2.3)
|
|
d.exptime = t
|
|
|
|
# or combination of units
|
|
t = dt.timedelta(minutes = 3, seconds = 1.23)
|
|
d.exptime = t
|
|
|
|
#exptime however always returns the time in seconds
|
|
# >>> d.exptime
|
|
# 181.23
|
|
|
|
# To get back the exposure time for each module
|
|
# it's possible to use getExptime, this also returns
|
|
# the values as datetime.timedelta
|
|
|
|
# >>> d.getExptime()
|
|
# [datetime.timedelta(seconds=181, microseconds=230000), datetime.timedelta(seconds=181, microseconds=230000)]
|
|
|
|
# In case the values are the same it's possible to use the
|
|
# element_if_equal function to reduce the values to a single
|
|
# value
|
|
|
|
# >>> t = d.getExptime()
|
|
# >>> element_if_equal(t)
|
|
# datetime.timedelta(seconds=1) |