Skip to main content

Theia MCR motor control functions and calculations

Project description

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 thess motor steps to the contorl board to move the lens, install TheiaMCR (TheiaMCR on Githum)

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.

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 and confidential license Copyright 2023 Theia Technologies

Contact information

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

Revision

v.1.2.13

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

IQSmart-1.2.13.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

IQSmart-1.2.13-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file IQSmart-1.2.13.tar.gz.

File metadata

  • Download URL: IQSmart-1.2.13.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for IQSmart-1.2.13.tar.gz
Algorithm Hash digest
SHA256 1176a7cc9c928738d7fbe315bd4dfb0a2753697854665c1b95d23d76f20d7432
MD5 5db4110697b388ea49f3b4bb8c0a9168
BLAKE2b-256 ec331d39e7ce265242e8a425eb2bdf5969711b201ad833d8eb631abdc55a9fa6

See more details on using hashes here.

File details

Details for the file IQSmart-1.2.13-py3-none-any.whl.

File metadata

  • Download URL: IQSmart-1.2.13-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for IQSmart-1.2.13-py3-none-any.whl
Algorithm Hash digest
SHA256 6ae5b8878f2b9f232ef28de25cc6fa38f5dc4eb90fa431b9fed5860a43ca9c27
MD5 58efbe6e3c17944c85f2416c22955357
BLAKE2b-256 30cf01e030f4174efe6279267bf760c90d82a4cd88da9729cf0ecbf937e82097

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page