Spacecraft Control Framework 1.0
Spacecraft Control Library
Classes | Typedefs | Functions
sc_optics.h File Reference

Optical functions and types. More...

Go to the source code of this file.

Classes

struct  camera_data_s
 
struct  psf_data_s
 Structure for storing point spread function data. More...
 
struct  gaussian_psf_s
 Structure for implementing a Gaussian psf. More...
 
struct  airy_psf_s
 Structure for implementing an Airy psf. More...
 
struct  airydefocused_psf_s
 Structure for implementing a defocused Airy psf. More...
 
class  ImagePSF
 Helper class for matching PSFs to images. More...
 

Typedefs

typedef struct camera_data_s camera_data_t
 
typedef struct psf_data_s psf_data_t
 Structure for storing point spread function data.
 
typedef gaussian_psf_s gaussian_psf_t
 Structure for implementing a Gaussian psf.
 
typedef airy_psf_s airy_psf_t
 Structure for implementing an Airy psf.
 
typedef airydefocused_psf_s airydefocused_psf_t
 Structure for implementing a defocused Airy psf.
 

Functions

double effective_focal_length (ml_matrix distance, ml_matrix focal_length)
 Computes effective focal length. More...
 
double diffraction_limit (double lambda, double aperture)
 Diffraction resolution limit. More...
 
ml_matrix angle_of_view (double focal_length, ml_matrix d)
 Angle of view from focal length with a 2D input. More...
 
double angle_of_view (double focal_length, double d)
 Angle of view from focal length with a 1D input. More...
 
ml_matrix angle_of_view (ml_matrix focal_length, double d)
 Angle of view from a matrix of focal lengths with a 1D input. More...
 
double focal_length_from_angle_of_view (double alpha, double d)
 Focal length from angle of view. More...
 
ml_matrix separation_angles (ml_matrix u)
 Separation angles and pairs.
 
ml_matrix pix_to_u (ml_matrix p, double f)
 Converts a pixel map to a unit vector assuming a pinhole camera model. More...
 
ml_matrix u_to_pix (const ml_matrix &r, double f, double row=0, double col=0)
 Converts a unit vector to a pixel map assuming a pinhole camera model. More...
 
double laser_beam_radius (double d, double lambda, double z)
 Laser beam radius. More...
 
double laser_power (double d, double lambda, double z, double power)
 Laser power. More...
 
camera_data_t camera_calibration (const ml_matrix &pD, const ml_matrix &pW)
 Camera calibration. More...
 
ml_matrix calibration_cube (double w, double r, int n)
 Camera cube. More...
 
ml_matrix camera_calibration_model (camera_data_t d, const ml_matrix &pW, double f)
 Camera model. More...
 
ml_matrix imager_psf (ml_matrix PSF(const ml_matrix &x, const ml_matrix &y, void *context), psf_data_t *d)
 Imager with point spread functions. More...
 
void imager_psf_uint16 (ml_matrix PSF(const ml_matrix &x, const ml_matrix &y, void *context), psf_data_t *d, uint16_t *frame)
 Imager with point spread function return a uint16_t array. More...
 
int any_less_than (const ml_matrix &x, double d)
 Find if any value of x is less than d. More...
 
ml_matrix rhs_gaussian_psf (const ml_matrix &x, const ml_matrix &y, void *context)
 Gaussian point spread function. More...
 
ml_matrix rhs_airy_psf (const ml_matrix &x, const ml_matrix &y, void *context)
 Airy point spread function. More...
 
ml_matrix rhs_airy_defocused_psf (const ml_matrix &x, const ml_matrix &y, void *context)
 Defocused Airy point spread function. More...
 
ml_matrix rand_pn (double f, int n, int m)
 Poisson random matrix. More...
 
ml_matrix fit_PSF_to_data (const ml_matrix &r0, const ml_matrix &intensity, const ml_matrix &pixels, int nUse, int mUse)
 Fit PSF to coarse centroid data using numerical optimization. More...
 
double cost_psf (const ml_matrix &x, void *context)
 PSF cost function.
 

Detailed Description

Optical functions and types.