The opticl-core Reference Manual

This is the opticl-core Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:29:20 2024 GMT+0.

Table of Contents


1 Systems

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


1.1 opticl-core

A library for representing and processing images

Author

Cyrus Harmon <>

License

BSD

Dependency

alexandria (system).

Source

opticl-core.asd.

Child Components

2 Files

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


2.1 Lisp


2.1.1 opticl-core/opticl-core.asd

Source

opticl-core.asd.

Parent Component

opticl-core (system).

ASDF Systems

opticl-core.


2.1.2 opticl-core/package.lisp

Source

opticl-core.asd.

Parent Component

opticl-core (system).

Packages

2.1.3 opticl-core/opticl-core.lisp

Dependency

package.lisp (file).

Source

opticl-core.asd.

Parent Component

opticl-core (system).

Public Interface
Internals

3 Packages

Packages are listed by definition order.


3.1 opticl-core

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

3.2 opticl-cltl2

Source

package.lisp.


4 Definitions

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


4.1 Public Interface


4.1.1 Macros

Macro: do-pixels ((i-var j-var) image &body body)
Package

opticl-core.

Source

opticl-core.lisp.

Macro: do-region-pixels ((i-var j-var y1 x1 y2 x2) image &body body)
Package

opticl-core.

Source

opticl-core.lisp.

Macro: pixel (image-var y x)

Returns the (possibly multiple) image intensity value(s) at position y, x. With proper type declarations for images, use of this macro should yield non-consing access to image intensity data.

Package

opticl-core.

Source

opticl-core.lisp.

Setf expander for this macro

(setf pixel).

Macro: set-pixels ((i-var j-var) image &body body)
Package

opticl-core.

Source

opticl-core.lisp.

Macro: set-region-pixels ((i-var j-var y1 x1 y2 x2) image &body body)
Package

opticl-core.

Source

opticl-core.lisp.

Macro: with-image-bounds ((ymax-var xmax-var &optional channels) img &body body)
Package

opticl-core.

Source

opticl-core.lisp.


4.1.2 Setf expanders

Setf Expander: (setf pixel) (image-var y x)

Sets the (possibly multiple) image intensity value(s) at position y, x to the provided value(s). For example, to set pixel [0,0] in an rgb-image to R20, G40, B60, one would do (setf (pixel img 0 0) (values 20 40 60)). With proper type declarations for images, use of this macro should yield non-consing setting of image intensity data.

Package

opticl-core.

Source

opticl-core.lisp.

Reader

pixel (macro).

Setf Expander: (setf pixel*) (&rest args)

(setf (pixel* img y x) list) sets the values of pixel y, x in img to the values contained in list. (setf (pixel ...) ...) is the more efficient way to do this, but if one wants to pass a set of values as a list instead of as multiple-values (for named colors perhaps), this function does that.

Package

opticl-core.

Source

opticl-core.lisp.

Reader

pixel* (function).

Writer

set-pixel* (macro).


4.1.3 Ordinary functions

Function: clear-image (image)
Package

opticl-core.

Source

opticl-core.lisp.

Function: copy-array (src &key element-type fill-pointer adjustable)

Returns an undisplaced copy of ARRAY, with same fill-pointer and adjustability (if any) as the original, unless overridden by the keyword arguments.

Package

opticl-core.

Source

opticl-core.lisp.

Function: make-1-bit-gray-alpha-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-1-bit-gray-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-16-bit-gray-alpha-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-16-bit-gray-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-16-bit-rgb-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-16-bit-rgba-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-2-bit-gray-alpha-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-2-bit-gray-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-32-bit-gray-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-32-bit-rgb-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-32-bit-rgba-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-4-bit-gray-alpha-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-4-bit-gray-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-4-bit-rgb-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-4-bit-rgba-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-8-bit-gray-alpha-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-8-bit-gray-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-8-bit-rgb-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-8-bit-rgba-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-double-float-gray-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-double-float-rgb-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-double-float-rgba-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-fixnum-gray-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-fixnum-rgb-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-fixnum-rgba-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-single-float-gray-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-single-float-rgb-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-single-float-rgba-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: pixel* (image y x)

pixel* returns the value(s) at position y, x as a list. This function conses, but occasionally one wants the image intensity values as a list, rather than as multiple values. This is a convenience function to provide this, largely to provide symmetry
with (setf (pixel* ...) ...)

Package

opticl-core.

Source

opticl-core.lisp.

Setf expander for this function

(setf pixel*).


4.1.4 Types

Type: 1-bit-gray-alpha-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 1-bit-gray-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 16-bit-gray-alpha-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 16-bit-gray-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 16-bit-rgb-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 16-bit-rgba-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 2-bit-gray-alpha-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 2-bit-gray-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 32-bit-gray-alpha-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 32-bit-gray-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 32-bit-rgb-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 32-bit-rgba-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 4-bit-gray-alpha-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 4-bit-gray-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 4-bit-rgb-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 4-bit-rgba-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 8-bit-gray-alpha-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 8-bit-gray-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 8-bit-rgb-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: 8-bit-rgba-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: double-float-gray-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: double-float-rgb-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: double-float-rgba-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: fixnum-gray-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: fixnum-rgb-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: fixnum-rgba-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: gray-alpha-image (&key element-type)
Package

opticl-core.

Source

opticl-core.lisp.

Type: gray-image (&key element-type)
Package

opticl-core.

Source

opticl-core.lisp.

Type: image (&key channels element-type)
Package

opticl-core.

Source

opticl-core.lisp.

Type: rgb-image (&key element-type)
Package

opticl-core.

Source

opticl-core.lisp.

Type: rgba-image (&key element-type)
Package

opticl-core.

Source

opticl-core.lisp.

Type: single-float-gray-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: single-float-rgb-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: single-float-rgba-image ()
Package

opticl-core.

Source

opticl-core.lisp.


4.2 Internals


4.2.1 Constants

Constant: +max-image-channels+
Package

opticl-core.

Source

opticl-core.lisp.


4.2.2 Special variables

Special Variable: *image-types*
Package

opticl-core.

Source

opticl-core.lisp.


4.2.3 Macros

Macro: define-image-type (name &key channels element-type)

Defines a new image type. Under the covers, this results in evaluation of the appropriate deftype and make-my-image-type constructor functions. Returns the name of the created type (i.e. name).

Package

opticl-core.

Source

opticl-core.lisp.

Macro: set-pixel* (image y x list)
Package

opticl-core.

Source

opticl-core.lisp.

Setf expanders to this macro

(setf pixel*).


4.2.4 Ordinary functions

Function: %get-array-dimensions-from-type-decl (type-decl)

Extract the array dimension specifier from type declaration TYPE-DECL.

Package

opticl-core.

Source

opticl-core.lisp.

Function: %get-image-dimensions (image-var env)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-32-bit-gray-alpha-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-double-float-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.

Function: make-single-float-image (height width &key initial-element initial-contents)
Package

opticl-core.

Source

opticl-core.lisp.


4.2.5 Types

Type: double-float-image ()
Package

opticl-core.

Source

opticl-core.lisp.

Type: single-float-image ()
Package

opticl-core.

Source

opticl-core.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
C   D   F   M   P   S   W  
Index Entry  Section

%
%get-array-dimensions-from-type-decl: Private ordinary functions
%get-image-dimensions: Private ordinary functions

(
(setf pixel): Public setf expanders
(setf pixel*): Public setf expanders

C
clear-image: Public ordinary functions
copy-array: Public ordinary functions

D
define-image-type: Private macros
do-pixels: Public macros
do-region-pixels: Public macros

F
Function, %get-array-dimensions-from-type-decl: Private ordinary functions
Function, %get-image-dimensions: Private ordinary functions
Function, clear-image: Public ordinary functions
Function, copy-array: Public ordinary functions
Function, make-1-bit-gray-alpha-image: Public ordinary functions
Function, make-1-bit-gray-image: Public ordinary functions
Function, make-16-bit-gray-alpha-image: Public ordinary functions
Function, make-16-bit-gray-image: Public ordinary functions
Function, make-16-bit-rgb-image: Public ordinary functions
Function, make-16-bit-rgba-image: Public ordinary functions
Function, make-2-bit-gray-alpha-image: Public ordinary functions
Function, make-2-bit-gray-image: Public ordinary functions
Function, make-32-bit-gray-alpha-image: Private ordinary functions
Function, make-32-bit-gray-image: Public ordinary functions
Function, make-32-bit-rgb-image: Public ordinary functions
Function, make-32-bit-rgba-image: Public ordinary functions
Function, make-4-bit-gray-alpha-image: Public ordinary functions
Function, make-4-bit-gray-image: Public ordinary functions
Function, make-4-bit-rgb-image: Public ordinary functions
Function, make-4-bit-rgba-image: Public ordinary functions
Function, make-8-bit-gray-alpha-image: Public ordinary functions
Function, make-8-bit-gray-image: Public ordinary functions
Function, make-8-bit-rgb-image: Public ordinary functions
Function, make-8-bit-rgba-image: Public ordinary functions
Function, make-double-float-gray-image: Public ordinary functions
Function, make-double-float-image: Private ordinary functions
Function, make-double-float-rgb-image: Public ordinary functions
Function, make-double-float-rgba-image: Public ordinary functions
Function, make-fixnum-gray-image: Public ordinary functions
Function, make-fixnum-rgb-image: Public ordinary functions
Function, make-fixnum-rgba-image: Public ordinary functions
Function, make-single-float-gray-image: Public ordinary functions
Function, make-single-float-image: Private ordinary functions
Function, make-single-float-rgb-image: Public ordinary functions
Function, make-single-float-rgba-image: Public ordinary functions
Function, pixel*: Public ordinary functions

M
Macro, define-image-type: Private macros
Macro, do-pixels: Public macros
Macro, do-region-pixels: Public macros
Macro, pixel: Public macros
Macro, set-pixel*: Private macros
Macro, set-pixels: Public macros
Macro, set-region-pixels: Public macros
Macro, with-image-bounds: Public macros
make-1-bit-gray-alpha-image: Public ordinary functions
make-1-bit-gray-image: Public ordinary functions
make-16-bit-gray-alpha-image: Public ordinary functions
make-16-bit-gray-image: Public ordinary functions
make-16-bit-rgb-image: Public ordinary functions
make-16-bit-rgba-image: Public ordinary functions
make-2-bit-gray-alpha-image: Public ordinary functions
make-2-bit-gray-image: Public ordinary functions
make-32-bit-gray-alpha-image: Private ordinary functions
make-32-bit-gray-image: Public ordinary functions
make-32-bit-rgb-image: Public ordinary functions
make-32-bit-rgba-image: Public ordinary functions
make-4-bit-gray-alpha-image: Public ordinary functions
make-4-bit-gray-image: Public ordinary functions
make-4-bit-rgb-image: Public ordinary functions
make-4-bit-rgba-image: Public ordinary functions
make-8-bit-gray-alpha-image: Public ordinary functions
make-8-bit-gray-image: Public ordinary functions
make-8-bit-rgb-image: Public ordinary functions
make-8-bit-rgba-image: Public ordinary functions
make-double-float-gray-image: Public ordinary functions
make-double-float-image: Private ordinary functions
make-double-float-rgb-image: Public ordinary functions
make-double-float-rgba-image: Public ordinary functions
make-fixnum-gray-image: Public ordinary functions
make-fixnum-rgb-image: Public ordinary functions
make-fixnum-rgba-image: Public ordinary functions
make-single-float-gray-image: Public ordinary functions
make-single-float-image: Private ordinary functions
make-single-float-rgb-image: Public ordinary functions
make-single-float-rgba-image: Public ordinary functions

P
pixel: Public macros
pixel*: Public ordinary functions

S
set-pixel*: Private macros
set-pixels: Public macros
set-region-pixels: Public macros
Setf Expander, (setf pixel): Public setf expanders
Setf Expander, (setf pixel*): Public setf expanders

W
with-image-bounds: Public macros


A.3 Variables


A.4 Data types

Jump to:   1   2   3   4   8  
D   F   G   I   O   P   R   S   T  
Index Entry  Section

1
1-bit-gray-alpha-image: Public types
1-bit-gray-image: Public types
16-bit-gray-alpha-image: Public types
16-bit-gray-image: Public types
16-bit-rgb-image: Public types
16-bit-rgba-image: Public types

2
2-bit-gray-alpha-image: Public types
2-bit-gray-image: Public types

3
32-bit-gray-alpha-image: Public types
32-bit-gray-image: Public types
32-bit-rgb-image: Public types
32-bit-rgba-image: Public types

4
4-bit-gray-alpha-image: Public types
4-bit-gray-image: Public types
4-bit-rgb-image: Public types
4-bit-rgba-image: Public types

8
8-bit-gray-alpha-image: Public types
8-bit-gray-image: Public types
8-bit-rgb-image: Public types
8-bit-rgba-image: Public types

D
double-float-gray-image: Public types
double-float-image: Private types
double-float-rgb-image: Public types
double-float-rgba-image: Public types

F
File, opticl-core.asd: The opticl-core/opticl-core․asd file
File, opticl-core.lisp: The opticl-core/opticl-core․lisp file
File, package.lisp: The opticl-core/package․lisp file
fixnum-gray-image: Public types
fixnum-rgb-image: Public types
fixnum-rgba-image: Public types

G
gray-alpha-image: Public types
gray-image: Public types

I
image: Public types

O
opticl-cltl2: The opticl-cltl2 package
opticl-core: The opticl-core system
opticl-core: The opticl-core package
opticl-core.asd: The opticl-core/opticl-core․asd file
opticl-core.lisp: The opticl-core/opticl-core․lisp file

P
Package, opticl-cltl2: The opticl-cltl2 package
Package, opticl-core: The opticl-core package
package.lisp: The opticl-core/package․lisp file

R
rgb-image: Public types
rgba-image: Public types

S
single-float-gray-image: Public types
single-float-image: Private types
single-float-rgb-image: Public types
single-float-rgba-image: Public types
System, opticl-core: The opticl-core system

T
Type, 1-bit-gray-alpha-image: Public types
Type, 1-bit-gray-image: Public types
Type, 16-bit-gray-alpha-image: Public types
Type, 16-bit-gray-image: Public types
Type, 16-bit-rgb-image: Public types
Type, 16-bit-rgba-image: Public types
Type, 2-bit-gray-alpha-image: Public types
Type, 2-bit-gray-image: Public types
Type, 32-bit-gray-alpha-image: Public types
Type, 32-bit-gray-image: Public types
Type, 32-bit-rgb-image: Public types
Type, 32-bit-rgba-image: Public types
Type, 4-bit-gray-alpha-image: Public types
Type, 4-bit-gray-image: Public types
Type, 4-bit-rgb-image: Public types
Type, 4-bit-rgba-image: Public types
Type, 8-bit-gray-alpha-image: Public types
Type, 8-bit-gray-image: Public types
Type, 8-bit-rgb-image: Public types
Type, 8-bit-rgba-image: Public types
Type, double-float-gray-image: Public types
Type, double-float-image: Private types
Type, double-float-rgb-image: Public types
Type, double-float-rgba-image: Public types
Type, fixnum-gray-image: Public types
Type, fixnum-rgb-image: Public types
Type, fixnum-rgba-image: Public types
Type, gray-alpha-image: Public types
Type, gray-image: Public types
Type, image: Public types
Type, rgb-image: Public types
Type, rgba-image: Public types
Type, single-float-gray-image: Public types
Type, single-float-image: Private types
Type, single-float-rgb-image: Public types
Type, single-float-rgba-image: Public types