Skip to main content

Theia Technologies IQSmart(R)

Theia Technologies offers a MCR600 motor control board for interfacing with Theia's motorized lenses. This board controls focus, zoom, iris, and IRC filter motors. It can be connected to a host comptuer by USB, UART, or I2C connection. This IQSmart module allows the user to easily convert from engineering units (meters, degrees) to motor steps applicable to Theia's motorized lenses. For sending these motor steps to the contorl board to move the lens, install TheiaMCR (TheiaMCR on Github)

Features

python Engineering units can be converted to motor steps and vice versa. The calculations use the design data for the lens but it is possible to load a calibration data file as well.

Initialization functions

  • loadData: Load the calibration data file.
  • loadCOC: Change the circle of confusion parameter.
  • loadSensorWidth: Change the image sensor width.

Class variables

  • COC: circle of confusion parameter (in millimeters)
  • sensorWd: image sensor width (in millimeters)

Motor steps to engineering units

  • zoomStep2FL: calculate the lens focal length from the current focal length motor step.
  • focusStep2OD: calculate the object distance at the current focal length from the current focus motor step.
  • irisStep2NA, irisStep2FNum: calculate the numeric aperture or F/# at the current focal length from the current iris step.

Engineering units to motor steps

  • FL2ZoomStep: calculate the zoom motor step for a focal length (in mm)
  • OD2FocusStep: calculate the focus motor step for a given zoom motor step and object distance (in m)
  • ODFL2FocusStep: calculate the focus motor step for a given focal length (in mm) and object distance (in m)
  • NA2IrisStep: calculate the iris step from the numeric aperture at the current focal length (in mm)
  • fnum2IrisStep: calculate the iris step from the F/# at the current focal length (in mm)
  • AOV2MotorSteps: calculate the focus and zoom motor steps to support the requested angle of view (in deg). This depends on the object distance as well and image sensor size.
  • FOV2MotorSteps: calculate the focus and zoom motor steps to support the field of view (in m). This depends on the object distance as well and image sensor size.

Conversion functions

  • calcAOV: calculate the angle of view (in deg) from a focal length (in mm).
  • calcFOV: calcualte the field of view (in m) from the focal length (in mm) and object distance (in m)
  • calcDOF: calculate the minimum and maximum object distances for acceptable focus at the given focal length (in mm), aperture (in iris motor step position), and focused object distance (in m).

Updating functions

  • updateAfterZoom: Update the engineering units to be consistent after a focal length change.
  • updateAfterFocus: Update the engineering units after a focus (object distance) change.
  • updateAfterIris: Update the engineering units after an aperture change.

Camera back focal length compensation

  • BFLCorrection: apply a correction to any focus motor step position to compensate for tolerances in the camera side lens mount. BFL correction points are made by adjusting the lens for best focus from the calculated focus step position. The correction is calcualted from a curve through several of these points.
  • addBFLCorrection, removeBFLCorrectionByIndex: add or remove compensation points to the BFL correction curve.

Other support functions

  • NA2FNum: convert numeric aperture to F/#
  • FNum2NA: convert F/# to numeric aperture
  • FOV2AOV: convert field of view at a given object distance to angle of view

This software module is in beta test mode. There may be bugs and the functions may change if corrections or enhancements are required. Please send any comments about issues to the contact information below.

License

Theia Technologies proprietary license Copyright 2023 Theia Technologies Contact Theia Technologies for licensing options.

Contact information

For more information contact: Mark Peterson at Theia Technologies mpeterson@theiatech.com

Revision

v.1.2.15

Metadata

Release files for IQSmart 1.2.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for IQSmart 1.2.15
File Size Uploaded
IQSmart-1.2.15.tar.gz 18.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for IQSmart 1.2.15
File Interpreter ABI Platform
IQSmart-1.2.15-py3-none-any.whl Python 3 none any Details

Total release size: 36.6 kB

Release files / IQSmart-1.2.15.tar.gz

Download URL IQSmart-1.2.15.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
16c0309ce2a09d3baae18b345641080e1de9c635d5f56d21510d37120ff96a15
BLAKE2b-256 checksum
How to use checksums
3ba9d15b3920a6d8cd469f4df23e856dacef54c9b172c730f02759b26ca81527
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / IQSmart-1.2.15-py3-none-any.whl

Download URL IQSmart-1.2.15-py3-none-any.whl
Size 18.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
261b05da6af399a9104a99b06ea84d3f3dc37c48a3a7ff3d074ebab50e847a26
BLAKE2b-256 checksum
How to use checksums
11b334cf228db9622743ea92b64762b29cc3db499778d0f7740953224318abfd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release history Release notifications | RSS feed

This release

1.2.15 This release

2 release files

1.2.13

2 release files

1.2.11

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.20

2 release files

1.0.8

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page