The cl-photo Reference Manual

This is the cl-photo Reference Manual, version 1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 15:34:17 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cl-photo

Lisp Markup Language

Maintainer

Kevin M. Rosenberg <>

Author

Kevin M. Rosenberg <>

License

GNU General Public License

Long Description

cl-photo calculates photography values.

Version

1.0

Dependency

kmrcl (system).

Source

cl-photo.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 cl-photo/cl-photo.asd

Source

cl-photo.asd.

Parent Component

cl-photo (system).

ASDF Systems

cl-photo.

Packages

cl-photo-system.


3.1.2 cl-photo/package.lisp

Source

cl-photo.asd.

Parent Component

cl-photo (system).

Packages

cl-photo.


3.1.3 cl-photo/convert.lisp

Dependency

package.lisp (file).

Source

cl-photo.asd.

Parent Component

cl-photo (system).

Internals

3.1.4 cl-photo/cameras.lisp

Dependency

convert.lisp (file).

Source

cl-photo.asd.

Parent Component

cl-photo (system).

Public Interface
Internals

3.1.5 cl-photo/fov.lisp

Dependency

cameras.lisp (file).

Source

cl-photo.asd.

Parent Component

cl-photo (system).

Public Interface
Internals

3.1.6 cl-photo/dof.lisp

Dependency

fov.lisp (file).

Source

cl-photo.asd.

Parent Component

cl-photo (system).

Public Interface
Internals

3.1.7 cl-photo/tables.lisp

Dependencies
Source

cl-photo.asd.

Parent Component

cl-photo (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 cl-photo-system

Source

cl-photo.asd.

Use List
  • asdf/interface.
  • common-lisp.

4.2 cl-photo

Source

package.lisp.

Nickname

photo

Use List
  • common-lisp.
  • kmrcl.
Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *cameras*
Package

cl-photo.

Source

cameras.lisp.

Special Variable: *digital-cameras*
Package

cl-photo.

Source

cameras.lisp.


5.1.2 Ordinary functions

Function: aov (focal-length frame-width frame-height &key projection magnification)

Returns the angle of field of view for a focal length and frame size. Default is infinity (magnification 0)

Package

cl-photo.

Source

fov.lisp.

Function: aov-format (focal-length format &key projection)

Returns the angle of field of view for a focal length and frame size at infinity

Package

cl-photo.

Source

fov.lisp.

Function: aov-table (imager &key output projection)
Package

cl-photo.

Source

tables.lisp.

Function: bellows-factor (focal-length object-distance)

Returns the bellows factor, the ratio of effective aperature to actual aperture.

Package

cl-photo.

Source

fov.lisp.

Function: close-up (&key focal-length object-distance image-distance magnification units)

Computes the parameters for focusing closer than infinity.
Requires two, and only two, of the input parameters.
Returns: focal-length object-distance image-distance magnification bellows-factor.

Package

cl-photo.

Source

fov.lisp.

Function: coc (imager-size &key lpm minimum-distance viewing-distance print-size)

Returns circle of confusion in mm and print magnification for a format. Default resolving power is 5 lpm at 25cm.

Package

cl-photo.

Source

dof.lisp.

Function: coc-airy (f-stop &optional wavelength)

Return the circle of confusion based on the airy disk.

Package

cl-photo.

Source

dof.lisp.

Function: coc-format (format &key lpm minimum-distance viewing-distance print-size)

Returns circle of confusion in mm and print magnification for a format. Default resolving power is 5 lpm at 25cm.

Package

cl-photo.

Source

dof.lisp.

Function: coc-pixels (imager pixels)

Returns lpm and circle of confusion based on pixel size.

Package

cl-photo.

Source

dof.lisp.

Function: coc-pixels-format (format)

Returns circle of confusion based on pixel size.

Package

cl-photo.

Source

dof.lisp.

Function: dof (focal-length f-stop distance coc &key units pupil-factor)

Returns the Depth of Field.
Input: FOCAL-LENGTH, F-STOP, DISTANCE, CIRCLE-OF-CONFUSION.
Output: NEAR-POINT, FAR-POINT, TOTAL-DOF, MAGNIFICATION, BLUR-SIZE-OF-INFINITY-POINT-IN-MM.

Package

cl-photo.

Source

dof.lisp.

Function: dof-table (focal-length coc &key output units)
Package

cl-photo.

Source

tables.lisp.

Function: effective-aperture (focal-length distance aperture)
Package

cl-photo.

Source

dof.lisp.

Function: extension-tube (focal-length &key original-object-distance original-image-distance original-magnification new-object-distance new-image-distance new-magnification extension-length units)

Computes the parameters for using extension tubes.
Requires: 1. original-object-distance, original-image-distance, or original-magnification
2. new-object-distance, new-image-distance, new-magnification, or extension-length
Returns: original-object-distance, original-image-distance, original-magnification, original-bellows-factor new-object-distance, new-image-distance, new-magnification, extension-length.

Package

cl-photo.

Source

fov.lisp.

Function: fov (focal-length frame-width frame-height &key object-distance image-distance magnification units projection)
Package

cl-photo.

Source

fov.lisp.

Function: fov-table (imager focal-length &key output projection units)
Package

cl-photo.

Source

tables.lisp.

Function: gaussian-lens (&key object-distance image-distance focal-length units)

object-distance is in units. image-distance and focal-length are in mm.

Package

cl-photo.

Source

fov.lisp.

Function: hyperfocal (focal-length f-stop coc &key units)
Package

cl-photo.

Source

dof.lisp.

Function: hyperfocal-table (focal-length coc &key units output)
Package

cl-photo.

Source

tables.lisp.

Function: imager-dimensions (format-spec)

Returns the imager dimensions in mm of a FORMAT.

Package

cl-photo.

Source

cameras.lisp.

Function: magnification (&key focal-length object-distance image-distance units)

Returns the image magnification: the ratio of image size to object size. focal-length and image-distance are in mm, object-distance is in units

Package

cl-photo.

Source

fov.lisp.

Function: maximum-sharpness-aperture (format &optional wavelength)
Package

cl-photo.

Source

dof.lisp.

Function: output-dimensions (format-spec)

Returns the output dimensions in mm of a FORMAT.

Package

cl-photo.

Source

cameras.lisp.

Function: pixel-dimensions (sensor-spec &key format)

Returns the number of pixels for a format.
CAMERA-SPEC is either a keyword designating the camera or
the number of megapixels of the sensor.
FORMAT should be defined if the CAMERA-SPEC is the number of megapixels so the proper aspect ratio is used.

Package

cl-photo.

Source

cameras.lisp.

Function: pixel-size (format-spec)

Return pixel size in micrometers.

Package

cl-photo.

Source

cameras.lisp.

Function: print-magnification (imager-size print-size)

Returns the magnification required between an imager and print sizes while taking crop into consideration.

Package

cl-photo.

Source

dof.lisp.

Function: rayleigh-limit (f-stop &optional wavelength)

Returns the rayleigh limit in line pairs per mm (MTF 9%) as well as the MTF50

Package

cl-photo.

Source

dof.lisp.


5.2 Internals


5.2.1 Constants

Constant: +inches->mm+
Package

cl-photo.

Source

convert.lisp.

Constant: +radian->degrees+
Package

cl-photo.

Source

convert.lisp.


5.2.2 Special variables

Special Variable: +distances-feet+
Package

cl-photo.

Source

tables.lisp.

Special Variable: +f-stops+
Package

cl-photo.

Source

tables.lisp.

Special Variable: +focal-lengths+
Package

cl-photo.

Source

tables.lisp.

Special Variable: +format-db+
Package

cl-photo.

Source

cameras.lisp.


5.2.3 Ordinary functions

Function: %fov (focal-length frame-width frame-height object-distance image-distance units &optional projection)

Returns the field of view (units), magnification ratio, object-distance (units), and image distance (mm) for a given image (mm) and object distance (mm).

Package

cl-photo.

Source

fov.lisp.

Function: aov-one-dim (focal-length frame-size &key projection magnification)

Returns the angle of view in one dimension. Default is infinity which has an magnification of 0.

Package

cl-photo.

Source

fov.lisp.

Function: degrees->radians (r)
Package

cl-photo.

Source

convert.lisp.

Function: diagonal (x y)
Package

cl-photo.

Source

convert.lisp.

Function: dof-mm (focal-length f-stop distance coc &key pupil-factor)

Returns depth of field based on focal-length, f-stop, distance, and coc. Six values are returned:
near point, far point, total dof, magnification, blur size at infinity (mm). Circle of confusion can either be a number or keyword designating format. Reference: http://www.vanwalree.com/optics/dofderivation.html

Package

cl-photo.

Source

dof.lisp.

Function: dof-symmetric-mm (focal-length f-stop distance coc)

Returns depth of field based on focal-length, f-stop, distance, and coc. Six values are returned:
near point, far point, total dof, near point, far point, magnification, blur size at infinity (mm).
Circle of confusion can either be a number or keyword designating format.

Package

cl-photo.

Source

dof.lisp.

Function: feet->mm (d)
Package

cl-photo.

Source

convert.lisp.

Function: find-format (format-spec)
Package

cl-photo.

Source

cameras.lisp.

Function: format-match-p (format-spec format)
Package

cl-photo.

Source

cameras.lisp.

Function: image-distance-magnification (focal-length magnification)

Returns the image distance for a focused object at distance using the Gaussian Lens Equation.

Package

cl-photo.

Source

fov.lisp.

Function: inches->mm (d)
Package

cl-photo.

Source

convert.lisp.

Function: length->mm (d units)

Convert a length in units to mm.

Package

cl-photo.

Source

convert.lisp.

Function: make-output-format (w h &key units)
Package

cl-photo.

Source

cameras.lisp.

Function: mm->feet (d)
Package

cl-photo.

Source

convert.lisp.

Function: mm->inches (d)
Package

cl-photo.

Source

convert.lisp.

Function: mm->length (d units)

Convert a number of mm to units.

Package

cl-photo.

Source

convert.lisp.

Function: mtf-scanner (freq dscan-freq &optional order)
Package

cl-photo.

Source

dof.lisp.

Function: n-args-not-nil (n &rest args)

Returns T when count N of input args are not nil.

Package

cl-photo.

Source

fov.lisp.

Function: radians->degrees (r)
Package

cl-photo.

Source

convert.lisp.

Function: sensor-dimensions-megapixels (format megapixels)
Package

cl-photo.

Source

cameras.lisp.

Function: sort-formats (formats)
Package

cl-photo.

Source

cameras.lisp.

Function: sort-size (size)

Returns a cons pair with the smaller size first.

Package

cl-photo.

Source

dof.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %  
A   B   C   D   E   F   G   H   I   L   M   N   O   P   R   S  
Index Entry  Section

%
%fov: Private ordinary functions

A
aov: Public ordinary functions
aov-format: Public ordinary functions
aov-one-dim: Private ordinary functions
aov-table: Public ordinary functions

B
bellows-factor: Public ordinary functions

C
close-up: Public ordinary functions
coc: Public ordinary functions
coc-airy: Public ordinary functions
coc-format: Public ordinary functions
coc-pixels: Public ordinary functions
coc-pixels-format: Public ordinary functions

D
degrees->radians: Private ordinary functions
diagonal: Private ordinary functions
dof: Public ordinary functions
dof-mm: Private ordinary functions
dof-symmetric-mm: Private ordinary functions
dof-table: Public ordinary functions

E
effective-aperture: Public ordinary functions
extension-tube: Public ordinary functions

F
feet->mm: Private ordinary functions
find-format: Private ordinary functions
format-match-p: Private ordinary functions
fov: Public ordinary functions
fov-table: Public ordinary functions
Function, %fov: Private ordinary functions
Function, aov: Public ordinary functions
Function, aov-format: Public ordinary functions
Function, aov-one-dim: Private ordinary functions
Function, aov-table: Public ordinary functions
Function, bellows-factor: Public ordinary functions
Function, close-up: Public ordinary functions
Function, coc: Public ordinary functions
Function, coc-airy: Public ordinary functions
Function, coc-format: Public ordinary functions
Function, coc-pixels: Public ordinary functions
Function, coc-pixels-format: Public ordinary functions
Function, degrees->radians: Private ordinary functions
Function, diagonal: Private ordinary functions
Function, dof: Public ordinary functions
Function, dof-mm: Private ordinary functions
Function, dof-symmetric-mm: Private ordinary functions
Function, dof-table: Public ordinary functions
Function, effective-aperture: Public ordinary functions
Function, extension-tube: Public ordinary functions
Function, feet->mm: Private ordinary functions
Function, find-format: Private ordinary functions
Function, format-match-p: Private ordinary functions
Function, fov: Public ordinary functions
Function, fov-table: Public ordinary functions
Function, gaussian-lens: Public ordinary functions
Function, hyperfocal: Public ordinary functions
Function, hyperfocal-table: Public ordinary functions
Function, image-distance-magnification: Private ordinary functions
Function, imager-dimensions: Public ordinary functions
Function, inches->mm: Private ordinary functions
Function, length->mm: Private ordinary functions
Function, magnification: Public ordinary functions
Function, make-output-format: Private ordinary functions
Function, maximum-sharpness-aperture: Public ordinary functions
Function, mm->feet: Private ordinary functions
Function, mm->inches: Private ordinary functions
Function, mm->length: Private ordinary functions
Function, mtf-scanner: Private ordinary functions
Function, n-args-not-nil: Private ordinary functions
Function, output-dimensions: Public ordinary functions
Function, pixel-dimensions: Public ordinary functions
Function, pixel-size: Public ordinary functions
Function, print-magnification: Public ordinary functions
Function, radians->degrees: Private ordinary functions
Function, rayleigh-limit: Public ordinary functions
Function, sensor-dimensions-megapixels: Private ordinary functions
Function, sort-formats: Private ordinary functions
Function, sort-size: Private ordinary functions

G
gaussian-lens: Public ordinary functions

H
hyperfocal: Public ordinary functions
hyperfocal-table: Public ordinary functions

I
image-distance-magnification: Private ordinary functions
imager-dimensions: Public ordinary functions
inches->mm: Private ordinary functions

L
length->mm: Private ordinary functions

M
magnification: Public ordinary functions
make-output-format: Private ordinary functions
maximum-sharpness-aperture: Public ordinary functions
mm->feet: Private ordinary functions
mm->inches: Private ordinary functions
mm->length: Private ordinary functions
mtf-scanner: Private ordinary functions

N
n-args-not-nil: Private ordinary functions

O
output-dimensions: Public ordinary functions

P
pixel-dimensions: Public ordinary functions
pixel-size: Public ordinary functions
print-magnification: Public ordinary functions

R
radians->degrees: Private ordinary functions
rayleigh-limit: Public ordinary functions

S
sensor-dimensions-megapixels: Private ordinary functions
sort-formats: Private ordinary functions
sort-size: Private ordinary functions