magni.imaging.measurements._square_spiral module

Module providing public functions for the magni.imaging.measurements subpackage.

Routine listings

square_spiral_sample_image(h, w, scan_length, num_points)
Function for square spiral sampling an image.
square_spiral_sample_surface(l, w, speed, sample_rate, time)
Function for square spiral sampling a surface.
magni.imaging.measurements._square_spiral.square_spiral_sample_image(h, w, scan_length, num_points)[source]

Sample an image using a square spiral pattern.

The coordinates (in units of pixels) resulting from sampling an image of size h times w using a square spiral pattern are determined. The scan_length determines the length of the path scanned whereas num_points indicates the number of samples taken on that path.

Parameters:
  • h (int) – The height of the area to scan in units of pixels.
  • w (int) – The width of the area to scan in units of pixels.
  • scan_length (float) – The length of the path to scan in units of pixels.
  • num_points (int) – The number of samples to take on the scanned path.
Returns:

coords (ndarray) – The coordinates of the samples arranged into a 2D array, such that each row is a coordinate pair (x, y).

Notes

The orientation of the coordinate system is such that the width w is measured along the x-axis whereas the height h is measured along the y-axis.

Examples

For example,

>>> import numpy as np
>>> from magni.imaging.measurements import square_spiral_sample_image
>>> h = 10
>>> w = 10
>>> scan_length = 50.0
>>> num_points = 12
>>> np.set_printoptions(suppress=True)
>>> square_spiral_sample_image(h, w, scan_length, num_points)
array([[ 5.        ,  5.        ],
       [ 6.28571429,  5.97619048],
       [ 4.38095238,  3.71428571],
       [ 2.42857143,  5.92857143],
       [ 4.95238095,  7.57142857],
       [ 7.57142857,  6.02380952],
       [ 7.        ,  2.42857143],
       [ 2.83333333,  2.42857143],
       [ 1.14285714,  4.9047619 ],
       [ 1.35714286,  8.85714286],
       [ 5.52380952,  8.85714286],
       [ 8.85714286,  8.02380952]])
magni.imaging.measurements._square_spiral.square_spiral_sample_surface(l, w, speed, sample_rate, time)[source]

Sample a surface area using a square spiral pattern.

The coordinates (in units of meters) resulting from sampling an area of size l times w using a square spiral pattern are determined. The scanned path is determined from the probe speed and the scan time.

Parameters:
  • l (float) – The length of the area to scan in units of meters.
  • w (float) – The width of the area to scan in units of meters.
  • speed (float) – The probe speed in units of meters/second.
  • sample_rate (float) – The sample rate in units of Hertz.
  • time (float) – The scan time in units of seconds.
Returns:

coords (ndarray) – The coordinates of the samples arranged into a 2D array, such that each row is a coordinate pair (x, y).

Notes

The orientation of the coordinate system is such that the width w is measured along the x-axis whereas the length l is measured along the y-axis.

Examples

For example,

>>> import numpy as np
>>> from magni.imaging.measurements import square_spiral_sample_surface
>>> l = 1e-6
>>> w = 1e-6
>>> speed = 7e-7
>>> sample_rate = 1.0
>>> time = 12.0
>>> np.set_printoptions(suppress=True)
>>> square_spiral_sample_surface(l, w, speed, sample_rate, time)
array([[ 0.0000005,  0.0000005],
       [ 0.0000004,  0.0000004],
       [ 0.0000006,  0.0000007],
       [ 0.0000005,  0.0000003],
       [ 0.0000002,  0.0000007],
       [ 0.0000008,  0.0000007],
       [ 0.0000006,  0.0000002],
       [ 0.0000001,  0.0000004],
       [ 0.0000003,  0.0000009],
       [ 0.0000009,  0.0000008],
       [ 0.0000009,  0.0000001],
       [ 0.0000002,  0.0000001]])