# Code

## Fast Fourier Transforms (FFT)

Image processing uses processes called "Transforms" to manipulate and compress images. These "transformations" include the Fourier Transform (FT), Walsh Transform, Hadamard Transform, Discrete Cosine Transform (DCT), Haar Transform, and Slant Transform. Of all these transforms, the best known is the Fourier Transform. Deriving the other transforms is usually analogous to the derivation of the FT.

Essentially, the Fourier Transform maps a given function f(x) from the Spatial Domain (of x) into the Frequency Domain (u) using the Fourier Function F(u). This is useful for implementing frequency filters and other processing techniques. For this transformation to work, f(x) must be integratable and continuous over the range (+infinity,-infinity).

## Huffman Encoding Trees

Huffman encoding trees are a loss-less compression schema that work very well with text or other datasets where elements are frequently repeated. A binary tree is constructed where each node and leaf represents a symbol. The address to a node or leaf is the sequential labels of the edges to that node. Because more frequently used symbols are referenced higher on the tree, they have a shorter address. In this way compression is possible.

## Pluggable Authentication Module (PAM)

I wrote this Application Package Interface (API) to interact with the Linux' "Pluggable Authentication Module" or PAM routines. Although the code is in C, it can easily be called as a system call from any scripting or programming language.