Classes | Typedefs | Functions

sc_optics.h File Reference

Optical functions. More...

Classes

struct  camera_data_s
 Optical functions. More...

Typedefs

typedef struct camera_data_s camera_data_t
 Optical functions.

Functions

double effective_focal_length (ml_matrix distance, ml_matrix focal_length)
 Computes effective focal length.
double diffraction_limit (double lambda, double aperture)
 Diffraction resolution limit.
ml_matrix angle_of_view (double focal_length, ml_matrix d)
 Angle of view from focal length with a 2D input.
double angle_of_view (double focal_length, double d)
 Angle of view from focal length with a 1D input.
ml_matrix angle_of_view (ml_matrix focal_length, double d)
 Angle of view from a matrix of focal lengths with a 1D input.
double focal_length_from_angle_of_view (double alpha, double d)
 Focal length from angle of view.
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.
ml_matrix u_to_pix (ml_matrix u, double f)
 Converts a unit vector to a pixel map assuming a pinhole camera model.
ml_matrix vm_to_intensity (ml_matrix v)
 Converts visual magnitude to intensity.
ml_matrix intensity_to_vm (ml_matrix i)
 Converts intensity to visual magnitude.
double vm_to_intensity (double v)
 Converts visual magnitude to intensity.
double intensity_to_vm (double i)
 Converts intensity to visual magnitude.
double laser_beam_radius (double d, double lambda, double z)
 Laser beam radius.
double laser_power (double d, double lambda, double z, double power)
 Laser power.
camera_data_t camera_calibration (const ml_matrix &pD, const ml_matrix &pW)
 Camera calibration.
ml_matrix calibration_cube (double w, double r, int n)
 Camera cube.
ml_matrix camera_calibration_model (camera_data_t d, const ml_matrix &pW, double f)
 Camera model.

Detailed Description


Typedef Documentation

typedef struct camera_data_s camera_data_t

Structure for storing camera data.


Function Documentation

double effective_focal_length ( ml_matrix  distance,
ml_matrix  focal_length 
)

Computes effective focal length.

Parameters:
distanceArray of distances between lenses
focal_lengthArray of lens focal lengths
Returns:
Effective focal length
double diffraction_limit ( double  lambda,
double  aperture 
)

Diffraction resolution limit.

Parameters:
lambdaWavelength
apertureWidth of aperture
Returns:
Diffraction limited resolution
ml_matrix angle_of_view ( double  focal_length,
ml_matrix  d 
)

Angle of view from focal length with a 2D input.

Parameters:
focal_lengthFocal length
dWidth of imaging chip
Returns:
Angle of view
double angle_of_view ( double  focal_length,
double  d 
)

Angle of view from focal length with a 1D input.

Parameters:
focal_lengthFocal length
dWidth of imaging chip
Returns:
Angle of view
ml_matrix angle_of_view ( ml_matrix  focal_length,
double  d 
)

Angle of view from a matrix of focal lengths with a 1D input.

Parameters:
focal_lengthFocal length
dWidth of imaging chip
Returns:
Angle of view
double focal_length_from_angle_of_view ( double  alpha,
double  d 
)

Focal length from angle of view.

Parameters:
alphaAngle of view
Returns:
Width of imaging chip
ml_matrix pix_to_u ( ml_matrix  p,
double  f 
)

Converts a pixel map to a unit vector assuming a pinhole camera model.

Parameters:
pPixel coordinates
fFocal length
Returns:
Unit vectors
ml_matrix u_to_pix ( ml_matrix  r,
double  f 
)

Converts a unit vector to a pixel map assuming a pinhole camera model.

Parameters:
rPosition vector
fFocal length
Returns:
[x;y] in pixel frames
ml_matrix vm_to_intensity ( ml_matrix  v )

Converts visual magnitude to intensity.

Parameters:
vVisual magnitude
Returns:
Intensity
ml_matrix intensity_to_vm ( ml_matrix  i )

Converts intensity to visual magnitude.

Parameters:
iIntensity
Returns:
Visual magnitude
double vm_to_intensity ( double  v )

Converts visual magnitude to intensity.

Parameters:
vVisual magnitude
Returns:
Intensity
double intensity_to_vm ( double  i )

Converts intensity to visual magnitude.

Parameters:
iIntensity
Returns:
Visual magnitude
double laser_beam_radius ( double  d,
double  lambda,
double  z 
)

Laser beam radius.

Parameters:
dAperture (m)
lambdaWavelength (m)
range(m)
Returns:
Beam radius (m)

References PI.

double laser_power ( double  d,
double  lambda,
double  z,
double  power 
)

Laser power.

Parameters:
dAperture (m)
lambdaWavelength (m)
range(m)
power(m)
Returns:
Beam radius (m)
camera_data_t camera_calibration ( const ml_matrix &  pD,
const ml_matrix &  pW 
)
Parameters:
dMeasured coordinates (m)
pWWorld points (m)
Returns:
Camera parameters

References camera_data_s::alpha, camera_data_s::f, camera_data_s::k1, camera_data_s::k2, camera_data_s::o, camera_data_s::R, camera_data_s::s, and camera_data_s::T.

ml_matrix calibration_cube ( double  w,
double  r,
int  n 
)

Camera cube.

Parameters:
wWidth of square (m)
rCube width (m)
nNumber of squares
Returns:
Points of square corners
ml_matrix camera_calibration_model ( camera_data_t  d,
const ml_matrix &  pW,
double  f 
)

Camera model.

Parameters:
dCamera data structure
pWWorld points (m)
Returns:
Points in pixel frame

References camera_data_s::o, camera_data_s::R, camera_data_s::s, and camera_data_s::T.