Skip to main content

Parametric patterns for laser scanning microscopy

Project description

testing PyPI version

PyScanPatterns

Parametric scan patterns for imaging applications.

Galvo drive signals, line camera/PMT exposure triggers, and frame/digitizer triggers are generated given a scan type and parameters. The exposure pulse is defined by the samples_on and samples_off parameters and this period (samples_on + samples_off) is used to create a pattern with a fixed number of exposures for a given max_line_rate.

Used for an SD-OCT imaging system, but should work for ultrasound and laser scanning microscopy applications.

Installation

pip install scanpatterns

Features

The following patterns are possible:

  • Raster scan
  • Line scan
  • Raster scan with repeated A-lines
  • Raster scan with repeated B-lines
  • Bidirectional raster scan
  • Circle scans
  • Figure-8 scan (modified lissajous)
  • Rhodonea rose scan with odd number of petals

Patterns are created by calling the generate method of any LineScanPattern instance or by passing the arguments of generate to the constructor.

The resultant scan signals can be accessed via the x, y, line_trigger and frame_trigger properties.

Other properties of a pattern such as pattern_rate, frame_rate, and the arguments used to create the pattern are also available.

Gallery

Classic raster

RasterScanPattern(16, 16, 76000, samples_on=1, samples_off=10)

Stepped raster

RasterScanPattern(16, 16, 76000, samples_on=1, samples_off=10, fast_axis_step=True, slow_axis_step=True)

B-line repeated raster

RasterScanPattern(16, 16, 76000, samples_on=1, samples_off=10, bline_repeat=2)

Rectangular raster

RasterScanPattern(16, 16, 76000, fov=[1.5, 4.5], samples_on=1, samples_off=10, fast_axis_step=True, slow_axis_step=True)

Rotated raster

RasterScanPattern(16, 16, 76000, samples_on=1, samples_off=10, fast_axis_step=True, slow_axis_step=True, rotation_rad=np.pi/4)

Bidirectional raster

RasterScanPattern(15, 15, 76000, samples_on=1, samples_off=10, bidirectional=True, slow_axis_step=True)

Line scan

RasterScanPattern(15, 1, 76000, samples_on=1, samples_off=10)

Bidirectional line

RasterScanPattern(15, 1, 76000, samples_on=1, samples_off=10, bidirectional=True, rotation_rad=np.pi/8)

Circle

CircleScanPattern(64, 1.0, 76000, samples_on=1)

Sample figure-8 scan

Figure8ScanPattern(1.0, 16, 76000)

Rose p=3

RoseScanPattern(3, 1, 16, 76000, samples_on=1, samples_off=10)

Rose p=5

RoseScanPattern(5, 1, 16, 76000, samples_on=1, samples_off=10)

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

scanpatterns-0.2.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

scanpatterns-0.2.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file scanpatterns-0.2.0.tar.gz.

File metadata

  • Download URL: scanpatterns-0.2.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for scanpatterns-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9850f47b755b1561c62bcd6e5d6ff9112c63a16454898fa6ab5e69e1c86cc5d5
MD5 ade0a2485411403f9d11a18bb2c09418
BLAKE2b-256 d76ec07b160949178e56dd088c12c0d07aff0df897fcc29981a58b9cee7d2dd2

See more details on using hashes here.

File details

Details for the file scanpatterns-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: scanpatterns-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for scanpatterns-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 34e429587d8278e1bac07df6932957a256eb0d57b01b16606281a74c5c051499
MD5 38129df8fc337d4988b71a5cdd995db4
BLAKE2b-256 28361182df3f1bc79139c296d980e2c301aea59d97ce6dc2db7be23f5b829f45

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