Copyright: Copyright 2005 by Quarktet.  All rights reserved.
Citation: Tria Image Processing


Image Types

Tria can open and save to several common image file types.  These types are explained below:

Device Independent Bitmap  describes a bitmap in a format that does not store its contents in terms that relate to a specific device's output capabilities  including color depth and pixels-per-inch.   Bitmaps are the standard Windows bit-mapped graphic image format file.  This format is very common and can be read by most programs. Tria reads 8-bit grayscale and 24-bit RGB formats.(.bmp)

Tagged Image File Format, or TIFF, is another format for  bit-mapped graphic images that can be viewed and edited on both IBM-based and Apple-based computers, unlike windows BMP files.  The TIFF header provides infomation in the form of 'tags' about the format, image size, bit depth, and provides flexibility for user-defined tags.  Tria reads the IBM format for 8, 16, and 32-bit grayscale and 24, 48, and 96-bit RGB images. (.tif or .tiff)  The 32-bit and 96-bit formats are single precision format.   Long Integer format is not currently supported.  Tria can also open some "Motorola"-style images, (i.e. images created on Apple systems), depending on the program that created it.

The JPEG format is a standardized image compression mechanism developed by the Joint Photographic Experts Group.  It is designed for compressing either full-color or gray-scale images to save storage space. The compression is typically "lossy," meaning that the decompressed image will not have the same informtion as the original.  These differences may not be apparent to the human eye, can came be brought out with image processing.  (.jpg or .jpeg)

The Flexible Image Transport System or FITS was developed to enable the exchange of astronomical image data between computers with different formats.  FITS, like TIFF, is highly flexible, but has an added advantage of using an ASCII text header.  FITS has evolved over the years, encompassing new and more complex data structures in accord with the increasing sophistication of new astronomical instruments. All major astronomical software packages read and write FITS format data, and many have adopted FITS not only for exchange with other programs and facilities, but as a native run-time data format. Tria reads 8, 16 and 32-bit FITS files.

The raw data format (.raw or .dat) allows the use of a binary data file without common image headers to be read into the program.  The user is asked to input the data format, x size, y size, and buffer size (if any).

Delimited text files are simply rows of numbers that can be read from and to spreadsheets.  The user chooses the delimiter and data format.  The "Specify Text Format" box will request the image size and delimiter type.  The Maximum Length determines how many characters the program will search for the delimiter.  For example, an 8-bit image needs to only four characters at a time, whereas a 16-bit image needs to search 7 characters for the next delimiter.  Supplying a number that is too small will produce an error.


Tria Welcome Page

Welcome to Tria Image Processing Help

Tria has many common image manipulation features, with the primary attraction being a fast and robust blind deconvolution method.  The SeDDaRA and Caron techniques allow rapid de-blurring of any image without knowledge of the imaging system or the blur function.  Tria provides the user with a common-sense GUI interface that will provide casual  computer user's the ability to apply a very novel and widely-applicable image processing technique.

This help file contains all the information required you need to start using Tria, walk-through examples on deconvolution processes, and some background information.

With Tria, you can:

•	Open 15 different image formats

•	Apply the SeDDaRA blind deconvolution process

•	Apply the Caron blind deconvolution process

•	Apply an effective pseudo-inverse deconvolution

•	Apply basic image mathematics

•	Apply Fourier operations

•	View Image Header Information

•	Easily Compare Images of Any Size

•	Rotate and resize images

•	Create reference images for blind deconvolution

•	Clean point spread functions for improved deconvolutions

•	Track your steps with our Log Viewer

See this page if you are using the program in the Demonstration Mode.

Help File Version 1.0.0.


Image Display

When images are opened from a file, two arrays are created.  The first array contains the raw image data.  To display the image on the monitor, the image must be converted to a 24-bit color image.   A conversion is performed on the original data to create an 24-bit image.  Contrast operations only operate on the display image and do not affect the stored image data.

Tria offers a Image Header reader that can be access by Image Menu---Info---Show Header.  Tria can read the Header of any Tiff, Fits, or BMP image.


Open Dialog Box

Tria uses a standard Microsoft File Open Dialog Box.  Tria can open:

•	BitMaps (.bmp)

•	Tiffs (.tif)

•	JPegs (.jpg)

•	Fits (.fit)

•	Raw data (.raw or .dat)

•	Delimited text files (.txt)

Click here for more information on Image Types


Image Save Types

Tria uses a standard Microsoft File Save Dialog Box.  Tria can save:

•	BitMaps (.bmp) as 8-bit grayscale or 24-bit RGB.

•	Tiffs (.tif) as 8, 16, 0r 32-bit grayscale and 24, 48, and 96-bit RGB.

•	Fits (.fit) as 8, 16, 0r 32-bit grayscale.

•	Raw data (.raw or .dat) with single (32-bit) precision.

•	Delimited text files (.txt) with single (32-bit) precision.

See the Image Types page for more information.

Note: Tria will not ask you whether you want to save your images or log file.  Once the program is closed, the data is lost.


Save Display Image

This function allows you to save the display image that appears on your screen as a 24-bit color bitmap.  This includes changes in contrast, or the Compare tool.  The save display function does not alter the actual image data in any way.  The user can continue to operate on and save the actual image data unabated.


Save Dialog Box

You can access the Save function by either selecting "Save" under the "File" menu, or by pressing the "Save" button on the control panel.  If you choose the latter, a "select image" dialog box will open and present the list of availalbe images.  Pressing the "R" button refreshes the list.

Tria uses a standard File Save Dialog Box.  Tria can save:

•	BitMaps (.bmp)

•	Tiffs (.tif)

•	Fits (.fit)

•	Raw data (.raw or .dat)

•	Delimited text files (.txt)

using a choice of formats.  Click here for more information on Image Types


Save Image Type Dialog Box

This dialog box allows you to choose how to format the saved image.

Tria can save:

•	BitMaps (.bmp)

•	Tiffs (.tif)

•	Fits (.fit)

•	Raw data (.raw or .dat)

•	Delimited text files (.txt)

You can choose the format and bit depth, and press the `go' button to call up the Save Dialog Box.  Click here for more information on Image Types.


Image Math

With this dialog box, you can add, subtract, multiply, and divide images.  Type the name of the result in the bottom text box.  The result will be displayed with this name and can be operated on like any other image.

We have inserted a special function to handle 'divide by zero' errors.  A message box will alert to the first instance.  The zeros in the 'dividend' will be substituted with the value 0.0001.

To add, subtract, multiply, or divide by a constant, simply type the value into the second box.

These operations can also be applied to complex images.  Two current limitations are:

•	Complex and Real images cannot be combined.

•	Complex constants are not accepted.


Fast Fourier Transform

Q. What is the frequency domain ?

A signal can be viewed in the time domain or the frequency domain.

When we listen to a musical instrument, like the bassoon, we are perceiving the signal in the time domain.  If we make a map of the frequencies that the instrument produces in a certain time period, this map is the signal displayed in the frequency domain.  You can view the frequency domain by watching a frequency analyzer on a media player.  Application of a Fourier transform rearranges the information from the time domain to the frequency domain.  Application of an inverse Fourier transform rearranges the information from the frequency domain to the time domain.

Two-dimensional images can be represented in the same manner.  The image, as captured and displayed, is in 'image space'.  After application  of a two-dimensional Fourier transform, the infomation is transformed to 'frequency space'. As with signals, images can be thought of as being a distribution of spatial frequencies.  An image that is in perfect focus will display the smallest features that are allowable.  These features contribute to the high spatial frequencies of the image.  If the image is blurry, the high spatial have been diminished.

In frequency space, the image can be seperated into a magnitude, and a phase component.  In brief, the magnitude displays the absolute vale of the distribution of frequencies.  The phase describes where those frequencies are located in the image.

Q. Why work in the frequency space?

If certain operations are performed in image, such as convolution, the processing will take significantly longer than if the operations were conducted in frequency space.  We can also operate on the magnitude component without disrupting the phase component, or vice versa.

Q. Do I need to know the math?

Some users may want to exactly what the calculation has done to their image.  However, it is not necessary if you are applying the algorithms for non-quantitative purposes.

The Fourier transfrom for two dimensions is described mathematically as

where f(x,y) is the original function and (u,v) are the coordinates in frequency space.

The inverse Fourier transform,

brings the data back into image space.

Since digital images consist of discrete data, a discrete Fourier transform is needed to describe the operation

and the inverse discrete Fourier transform is

.

Applying this formula as stated is very time consuming for the computer.  Scientists have developed faster methods that eliminate redundant calculations.  These are called Fast Fourier transforms, or FFTs.

A disadvantage of FFTs is that it puts limitations on the size of data.  For this program, FFTs can only be applied to images of size

where a  and b  are integers greater than 1.


Resize Image

The Resize function allows you to change the size of an image.  Image size is provided in pixels.  Pressing the resize button on the control panel brings up the resize form.  Once you select an image, the original image size will appear on the right-side panel.  Change these values to choose your size.  If you would like to keep the ratio of the height-to-width unchaged, click the contrain size checkbox.  You can also choose the interpolation algorithm used to resize the image.  This function uses either nearest neighbor, bi-linear or bi-cubic interpolation to rescale an image to another size.

When you press the `Go' button, the interpolated image will appear in a new display window.


Deconvolution Overview

From home photographers to world-class astronomers, anyone who has taken a photograph, has taken a blurry photograph. Many times, we wished there existed a process that could remove the blur from the photograph after the fact. Scientists call the removal of the blur from an image "Deconvolution".

One way to grasp this idea is to think of an image of a star. With the star being so distant from our viewing point, the star would only effect a single point on the image (barring atmospheric effects). The star is an example of what is called a "point source". Now if your camera is not in focus, the light from that star will not be limited to a single point, but will fall on a collection of points surrounding that central point. This distribution of a point source in an image is called a "point source function" or PSF. If the image is of an extended scene, a house for example, each point in the image has the spread of the PSF associated with it.

All images have a characteristic PSF. If the PSF is large enough, the image appears blurry. Common sources of blur include out-of-focus, motion, atmospheric effects, and optical defects. The mathematical term for the influence of the PSF on the image is called a "Convolution". To perform a "deconvolution", you must have some method of finding the PSF. There are three basic approaches for doing so:

1. The PSF can be calculated by accurately knowing the optical system and the cause of the blur. There exists software packages that perform this operation. However, one must have exact knowledge of the optics and their positions, and the optics must closely match the specifications.

2. The PSF can be measured by imaging a point source. The point source must be small enough compared to the system's resolution to act as a point source, and closely match light created or reflected by the object.

3. The PSF can be estimated using information about either the object, optical system, or educated guesses. Since this is an indirect approach, this method is what we typically call "Blind Deconvolution".

Many deconvolution algorithms, such as non-negative least squares and the Wiener filter, can be found in research literature.  For this program, a pseudo-inverse filter, an approximation of the Wiener filter, has been employed. It is a fast process and very robust. The deconvolution in frequency space is given by

where F(u,v) is the result, G(u,v) is the original image, and D(u,v) is the PSF. The parameter C2 is keeps image noise from being over-amplified and is typically chosen by trial and error.


Caron Blind Deconvolution

Caron Blind Deconvolution Overview

The "Caron" method was first presented in an article in Optics Letters as "SeDDaRA" in 2001.  Further research showed the original technique was an approximation of a much more powerful method.  With a patent in the works, the SeDDaRA name was applied to the entire theory, and the approximation is now referred to as the Caron method.

The difference between the two methods is that the SeDDaRA method requires the use of a reference image, whereas the Caron method approximates the reference, in frequency space, as a constant between 0 and 1.  In images with relatively simple blur functions, either method will work.  In images with complicated blur functions, SeDDaRA is more effective.

The theory behind the technique is presented below.  You do not need to know the theory to apply the technique.  It is supplied for users who have a background in physics or mathematics.

Theory

This section describes the theory for the Caron blind deconvolution technique.  A mathematical representation of the blurred image g(x,y) is

 	(1)

where f(x,y) is the real scene, w(x,y) is a noise term, and "*" denotes convolution. The objective of blind deconvolution is to find the best estimate of the scene f(x,y) from the blurred image g(x,y) when the PSF d(x,y) and  noise w(x,y) are unknown. This relationship is simplified by transferring both sides of Equation 1 into frequency space by application of a Fourier transform, yielding

(2)

where (u,v) are the coordinates in frequency space, and the transformed functions are represented by capital letters.

If d(x,y) is known either by measurement or calculation, a deconvolution process can be applied to g(x,y) to estimate f(x,y).  We employ a pseudo-inverse filter to perform the deconvolution.  It is a fast process and very robust. The deconvolution is given by

(3)

where the parameter C2 is typically chosen by trial and error. This is easy to apply, and provides a good approximation of the Wiener filter.

Without explicit knowledge of d(x,y), the function must be estimated through blind deconvolution.  Research on blind deconvolution extends back several decades, but studies by Ayers and Dainty spurred an increase in activity in the astronomical community.  All methods require some prior knowledge of either the scene, the scene

statistics, or the shape of the blur function.  Most of these techniques are iterative and can only be applied within certain restraints.  In contrast, the SeDDaRA approach can be applied to very diverse images.

The SeDDaRA process assumes the transfer function has the form

(4)

where alpha(u,v) is a tuning parameter and KG is a real, positive scalar chosen to ensure |D(u,v)|< 1.  Application of the smoothing filter S{...\} assumes that D(u,v) is a slowly varying function.  Assumptions for this calculation are explained in the reference below.

Instead of explicitly determining the form of alpha(u,v), we assume the function is a constant of frequency with a value between 0 and 1.  There are some heurisitic explanantions for this approximation, but the main justification is that it works.

Once D(u,v) has been extracted from the image using Equation 4, both functions are inserted into Equation 3 to remove the blur.

For a more detailed description see:

"Blind data restoration with an extracted filter function," J.N. Caron, N.M. Namazi, R.L. Lucke, C.J. Rollins, and P.R. Lynn, Jr., Optics Letters , Vol 26, No.15, 2001, p. 1164.


SeDDaRA Operation

To bring up the SeDDaRA dialog box, press the "SeDDaRA" button on the Control Panel.  When you select an image from the list, the form offers suggestions for the name of the result and the name of the point spread function.  A reference image list is also generated at this time.  Only "real" images (as opposed to color or complex images) are listed.

Three parameters are required.

•	The reference image is used to determine the SeDDaRA alpha function.  It has the desired spatial frequency distribution that you are seeking in the target image.  These images must be manually loaded into the program by the user at run-time, and must be larger than the target image.  See Reference Image Choices for more details.

•	The C2 value is a constant that ensures the noise in an image is not over-amplified when the deconvolution is performed.  See deconvolution for specifics.

•	The influence is the number of pixels surrounding the extracted point spread function.  Higher values will produce a better result to the point that artifacts are formed.  This parameter is only used when the PSF is cleaned in image space, described below.

The PSF can be cleaned in either frequency space, or image space.  Cleaning the PSF in image space generally produces a superior result if the PSF is complicated, as in motion blur.  However, this requires two more FFT's to be performed, increasing computation time.

Clicking the "Show PSF" box will reveal the extracted PSF used in the operation.

Clicking the "R" button will refresh the list.

Note: The SeDDaRA function does not operate directly on Color images.  Use the Split or Convert functions to create gray-scale images.


Log

Tria allows you to keep track of the operations applied to each image and save the list as a text file.  This allows the user to re-trace steps in order to replicate the actions on future images.

The log file initiates as soon as Tria is opened.  All actions that affect image data (as opposed to display) are recorded.  You can save the log file by pressing the 'save' button on the Log form.  You can also copy portions of the log by highlighing the text and pressing Control^C.

The log can be cleared by pressing the 'clear' button.  Caution, the information will then be lost.  Tria does not automatically save the information at closing.


Image Contrast

The contrast of an image can be changed by either selecting one of four pre-set displays, or by using the contrast slide bars.  The presets are defined as:

•	Abs---The image contrast is scaled from zero to the maximum values of the image data.  This is the default value.

•	Max---The image contrast is scaled to the minimum and maximum values of the image data.  This is the default value.

•	Hist---The image contrast is scaled by taking a histogram of the image.  The high value is set to the 90% bin, while the low value is set to the 10% bin.

•	Inv---The image values are inverted such that the low value is used for maximum contrast, and the high value is set at the lowest value.

Below the presets are two sliding bars.  The sliding bars are independent of the presets. The left sliding bar decreases the value for the maximum contrast.  The right sliding bar increases the value for the minimum contrast.

Thus, one current inconvenience is that the sliding bars to not operate on the inverse image, or the histogram image.


Blind Deconvolution

Blind Deconvolution Types

Researchers have been studying blind deconvolution methods for several decades, and have approached the problem from different aspects. Here we summarize, in no particular order, the more common methods.

•	The Method of Support Constraints---The technique makes two assumptions. The truth image is assumed to be positive and comprised of an object with known support against a uniform background. A 'support' is defined to the smallest rectangle that can be drawn around the object. This technique can be further improved by controlling the noise parameters using 'regularization'. Regularization methods try to alleviate sensitivity to noise by eliminating eigen-components of the solution belonging to noise subspace.

•	Maximum Entropy Method---This appears to be the most popular form of deconvolution. It stems from research in information theory. MEM functions by minimizing a smoothness function, called "entropy" in an image. Adding constraints such as positivity ensures that the iterative approach converges to a solution.

•	Nearest Neighbor Technique---Nearest neighbor is most closely associated with microscopy whereby a series of images can be created using different focus positions. The middle position is at the optimum focus position whereas the other two are out-of-focus positions on either side. Using information from the two 'neighbors', the PSF is calculated.

•	APEX and BEAK---Alfred Carasso developed two non-iterative approaches that work well for Gaussian and Lorentzian distributed PSFs. By choosing a specific type of blur function, the authors narrow the scope in which the algorithm need to be applied. The algorithm fits parameters to match the logarithm of the modulation transfer function with a modelled PSF. These methods, called APEX and BEAK, are not expected to be effective for out-of-focus, and motion blurs.

•	SeDDaRA--The  approach calculates the PSF by comparing the blurred image to an in-focus image, or "truth image", that contains the desired spatial frequency content. Now this sounds like it is a difficult task. But the Quarktet technique greatly relaxes this condition to enable easy implementation. The process is non-iterative, requires only a couple of parameters, and takes seconds to perform (depending on image size and computational speed.)

•	Caron Blind Deconvolution---This filter is an approximation of the SeDDaRA process. The truth image is approximated by a user-defined constant. A little bit of effort is needed to choose the right constant. But once chosen, this process operates faster than the SeDDaRA process, with comparable results.

•	Cepstrum Transform---This filter is similar in approach to the Caron Filter. A frequency function, derived from a Cepstrum transform, is imposed on the blurry image to produce a PSF, which is used to clean up the blurred. Since there are no parameters, this approach is more restrictive than the Caron filter, is about as fast, but will operate successfully on a smaller variety of images.


Important Questions

This page presents common questions that you may have when using the Tria program.  This file will be updated with user  questions whenever a new help file is released.

Q. Where is my big flashy cardboard box?

A. To date, Tria is available only through the Quarktet website.  Quarktet feels that the flashy packaging of software is a waste of time and expense.  We prefer not to pass the expense of desgin and printing the flashy box onto the customer.

Q. How about the thick manual?

A. Although a collection of software manuals can be an attractive bookshelf item, most people prefer to browse the on-line manual instead.  At Quarktet, we prefer not to pass the expense of writing, designing, and printing the manual onto the customer.  Instead, we are dedicated to producing a complete on-line help file that will updated frequently to address the users' needs.

Q. What is the accuracy of the algorithms used in Tria?

A. Whenever possible, the operations used in Tria have been written from scratch, as opposed to imported from a third-party.  The code was written by Jim Caron, who holds a Ph. D. in physics and has published in many peer-reviewed scientific journals.  Accuracy is extremely important to us!  Please notify us if you have found an inaccuracies in the processing or have concerns.

Q. Why is Tria not as polished as other image processing software programs?

A. The other programs are developed by large  (and mid-sized) companies who have professional designers and programmers on staff.  We hope to achieve this someday, but currently Tria was developed on a home computer in a spare bedroom.  Please submit any suggestions or bugs to our email address.

Q. What about updates?

A.  We will issue updates and notify customers as they become available.  Our first concern is to correct any major bugs that occur within the first version.  Next, we would like to optimize the processes for speed.  Following this, we would like to add more functions and features, based in part on the suggestions of our customers.


Magnitude and Phase

A complex number can be described by its magnitude and phase.  The complex number

with a  being the real component and b  the imaginary component, may be written in exponential form as

where r  is called the magnitude and θ  is called the phase, which can be calculated using

 and [image].

Similarily, a complex image can be described as

where (u,v)  are the image coordinates.

When a Fourier transform is applied to an image, it results in a complex image that has both real and imaginary parts.  Calculation of the magnitude of the image produces a distribution that describes the spatial frequency content of the image.  The lower frequencies (such as those produce by a clear sky or dark background) are located at the center of the image.  The higher frequencies (the smallest details in the image) are located near the edges.  The phase of the image describes where each of those frequencies are located.

The real, imaginary, magnitude, and phase can all be viewed by pressing the appropriate button on the FFT image form.  The default display is the real component.


Deconvolution Operation

Deconvolution is a process in which a known point spread function can be removed from an image.  Clicking on the "Decon" button on the control panel will display the Deconvolution form.  You need to select an image and a point spread function (PSF).  The PSF selection box will only list images that have the same dimensions as the chosen image.  When you select an image from the list, the form offers suggestions for the name of the result and the name of the point spread function.

You also nee to choose the C2 value. The C2 value is a constant that ensures the noise in an image is not over-amplified when the deconvolution is performed.  See deconvolution for specifics.

The images do not need to have dimensions of  2^N, where N is an integer.  These images are interpolated to the nearest 2^N size, performs the deconvolution, and them interpolates the result back to the original size.

Note: The Decon function does not operate directly on Color images.  Use the Split or Convert functions to create gray-scale images.


Inverse Fast Fourier Transform

An inverse Fourier transform is the back transformation of the Fourier Transform.  The application of an inverse Fourier transfrom brings data from frequency space back into image space.  The mathematical representation is

where F(u,v) is the data in frequency space.  For the discrete case of images, the formula is

.

Like the FFT, an inverse fast Fourier transform can be performed to reduce the amount of computations. But also like FFTs, inverse FFTs can only be applied to images of size

where a  and b  are integers greater than 1.


Rotate Image

This function allows the user to rotate an image by 90, 180, or 270 degrees, and flip the image horizonatlly or vertically.  A new image is created and displayed.

The rotation involves no interpolation, i.e. one pixel is tranlated one and only one pixel.  For rotations of 90 and 270 degrees, a M X N image is resized to a N X M image.  The horizontal and vertical flipping remaps the data such that the new image is flipped in a single direction.

We hope to allow rotations of any angle in a future version.


Image Interpolation

Interpolation is the calculation of values between known data pointsto estimate their value.  Image interpolation is necessary when one wants to vew the image on a larger or smaller grid.  This occurs in image processing programs at two levels:

1) When the viewer wants to merely see the image as larger or smaller, the image is interpolated to appear larger or smaller on the screen.  This action does not change the data.

2) When the viewer requests that the physical size of the image change, the interpolation is performed on the data.

Tria provides you with three standard interpolation options.    They are usually referred to as nearest neighbor, bilinear, and bicubic interpolation.

For the nearest-neighbor approach,  a pixel on the new image is given the value of a pixel on the orginal image that is closest to it.  This operation is the fastest approach, but can produce a 'pixelated' image.

For bilinear interpolation, the interpolated pixels are calculated by forming linear equations from existing neighboring points.  The value of the pixel falls on the line.  This method produces a good image without too much computation.

For bicubic interpolation, the value of a pixel is estimated by a weighted average of 16 pixels in the original image.  This method typically produces better results than the bilinear method, but with greater computational costs.


Color Images

Color images consist of three color planes, usually representative of the red, green, and blue portions of the image.  Color images are opened using the same dialog box as grayscale images.  They can be in jpeg, bitmap, or tiff formats.  The data values are stored as a three dimensional array of size X x Y x 3.  The status bar shows the pixel value for each color as you scroll over the image.

Tria can open 24-bit bitmaps, jpegs, and Tiff images.  Tria can also open 48 and 96-bit Tiff images.  Tria can save color images to bitmaps and Tiffs

To save a color image, click on the Save button and choose the format in the dialog box.


Complex Images

Application of a Fourier Transform produces a complex image.  Each pixel is represented by a data point of the form a + i b where a is the called the 'real' component, 'b' is called the imaginary component, and i is the complex number [image].

The images are displayed using the complex image form which allows the viewer to see the real component, imaginary component, magnitude and phase of the image without changing the image data.

Note: Not all functions, such as resize and decon, can be applied to the complex images.


Statistics

Image Statistics

This form provides key statistics about the image that can be of some benefit to the user.  The statistics are:

•	Maximum---The value of the pixel that has the highest ampltiude.

•	Minimum---The value  of the pixel that has the lowest ampltiude.

•	Mean---The values of all pixels are added and divided by the number of pixels.

•	Standard Deviation---The average deviation of all pixels from the average of the image.  This represented mathematically by:

This form also displays information about complex images.  The statistics are:

•	Maximum---The value of the pixel that has the highest complex magnitude.

•	Minimum---The value  of the pixel that has the lowest complex magnitude.

•	Mean---The complex values of all pixels are added and divided by the number of pixels.

•	Standard Deviation---The average deviation of all pixels from the complex average of the image.


Program Organization

Tria Organization

Tria operates much like other MS windows applications, with a program menu along the top of the desktop.  You will notice the control panel to the right side of the desktop.  The most commonly used functions are displayed here for easy application.  Each button on the display opens a form requesting further information.

When you open an image, you are actually creating two arrays.  The first is a data array that is stored in memory.  The second array is re-scaled so the image can be displayed.  When the image opens, the image display menu is displayed at the top of the desktop.  Image contrast buttons are on the left side of the image display form.  See the image display page for more information.

When you apply an operation, such as a rotation or a deconvolution, to the image, the result will be displayed in a new window.  The new image can than be operated on as you wish.

Tria also keeps a log of your activities for your convenience.  This basically a text file that allows you to re-visit a sequence of operations that you may have performed earlier.  See the Log page for more information.


Control Panel

This program has three main controls, the main menu, the control panel, and the image menu.  Many buttons are redundant, but provide ease-of-use.  The control panel allows easy access to Tria's main functions.  The control panel consists of:

•	Open---Opens new images to the desktop

•	Save---Saves an opened image to file.

•	Math---Opens the math dialog box allowing the addition, subraction, multiplication, and division of images.

•	Fourier---Opens the Fourier dialog box allowing the FFT and Inverse FFT of images.

•	Decon--Opens the deconvolution dialog box enabling the deconvolution of images with a known point spread function.

•	SeDDaRA---Opens the SeDDaRA dialog box enabling blind deconvolution of images.

•	Caron---Opens the Caron dialog box enabling blind deconvolution of images.

•	Rotate---Allows the rotation of an image by 90, 180, and 270 degress, and flipping the image either horizontally or vertically.

•	Resize---Allows the rescaling of images to any integer size.

•	Convert---Allows the conversion of the image data to another format.

•	Help--Opens up the help file.

•	Log---Opens up the log display.

•	Hide---Hides the control panel.

See Shortcuts for a list of Keyboard Shortcuts.


Program Menu

Main Menu

This program has three main controls, the main menu, the control panel, and the image display menu.  Many buttons are redundant, but provide ease-of-use.  The main menu consists of:

••	File--Accesses program file functions:

•	 Open---Opens new images to the desktop

••	Save---Saves an opened image to file.

••	Control Panel---Re-displays the control panel if hidden.

••	Window List---Display a list of all open windows.

••	Image List---Displays a list of images with some specific information about size, bit depth, and image type.

••	Help---Opens up the help file

••	About---Some details about the Tria program

•	Exit---Closes the program

The menu can be access by mouse or by pressing Alt-Z where Z represents the underlined letter in the item name.


Image Display Menu

Image Menu

This program has three main controls, the main menu, the control panel, and the image menu.  Many buttons are redundant, but provide ease-of-use.  The image menu consists of:

••	File--Accesses program file functions:

Open---Opens new images to the desktop

Save---Saves an opened image to file.

Save Display---Allows the user to save the current RGB display image as a bitmap.

••	Control Panel---Re-displays the control panel if hidden.

••	Window List---Display a list of all open windows.

••	Info---Offers several image information choices:

Hist---Displays a histogram of the image values

Stats---Displays image statistics

••	Help---Opens up the help file

••	View---Offers choices for image display

Display size---Allows the user to change the size of the displayed image.  The Zoom function enables you to choose the exact ratio.

Background Color---Often the border of an image can affect how that image is perceived.  This function allows you to change the background color.

•	Close---Closes the image

The menu can be access by mouse or by pressing Alt-Z where Z represents the underlined letter in the item name.


SeDDaRA Overview

The acronym stands for Self-Deconvolving Data Reconstruction Algorithm and is pronounced 'Sa-DARE-ah'.

The SeDDaRA approach calculates the point spread function (PSF) by comparing the blurred image to an in-focus image, or "reference image", that contains an approximate spatial frequency distribution. Now searching for the reference image sounds like it is a difficult task. But the our technique greatly relaxes this condition. The process is non-iterative, requires only a couple of parameters, and takes seconds to perform (depending on image size and your computational speed.)

The theory behind the technique is presented below.  You do not need to know the theory to apply the technique.  It is supplied for users who have a background in physics or mathematics.

Theory

This section describes the theory for our blind deconvolution technique.  A mathematical representation of the blurred image g(x,y) is

 	(1)

where f(x,y) is the real scene, w(x,y) is a noise term, and "*" denotes convolution. The objective of blind deconvolution is to find the best estimate of the scene f(x,y) from the blurred image g(x,y) when the PSF d(x,y) and  noise w(x,y) are unknown. This relationship is simplified by transferring both sides of Equation 1 into frequency space by application of a Fourier transform, yielding

(2)

where (u,v) are the coordinates in frequency space, and the transformed functions are represented by capital letters.

If d(x,y) is known either by measurement or calculation, a deconvolution process can be applied to g(x,y) to estimate f(x,y).  We employ a pseudo-inverse filter to perform the deconvolution.  It is a fast process and very robust. The deconvolution is given by

(3)

where the parameter C2 is typically chosen by trial and error. This is easy to apply, and provides a good approximation of the Wiener filter.

Without explicit knowledge of d(x,y), the function must be estimated through blind deconvolution.  Research on blind deconvolution extends back several decades, but studies by Ayers and Dainty spurred an increase in activity in the astronomical community.  All methods require some prior knowledge of either the scene, the scene statistics, or the shape of the blur function.  Most of these techniques are iterative and can only be applied within certain restraints.  In contrast, the SeDDaRA approach can be applied to very diverse images.

The SeDDaRA process assumes the transfer function has the form

(4)

where alpha(u,v) is a tuning parameter and KG is a real, positive scalar chosen to ensure |D(u,v)|< 1.  Application of the smoothing filter S{...\} assumes that D(u,v) is a slowly varying function.  Assumptions for this calculation are explained in the reference below.

After some derivation, alpha(u,v) is found to be

(5)

where F'(u,v) is an alternate truth image that satisfies

.	(6)

The presence of a smoothing filter greatly relaxes this condition.  In Equation 6, KG and KF' must be determined such that |D(u,v)|< 1. This condition is satisfied if we set

 and [image].	(7)

The function |F'(u,v)| is the key to the success of the process. It is a representation of spatial frequencies that one expects to achieve.  With the presence of the smoothing filter, this function need only to be similar to the spectrum of the actual truth image |F(u,v)|.  For example, an aerial image with good resolution can be used as |F'(u,v)| to clean a blurred image taken by a different camera.  In practice, synthetic fractal images have proven to be very effective references for many images.

Once D(u,v) has been extracted from the image, both functions are inserted into Equation 3 to remove the blur.

For a more detailed description see:

J.N. Caron, N.M. Namazi, and C.J. Rollins, ``Noniterative blind data restoration by use of an extracted filter function,'' Applied Optics, Vol. 41(32), p. 6884, 2002.


SeDDaRA Examples

Here we demonstrate a step-by-step deconvolution of an image when using SeDDaRA.

Follow these steps:

•	Open "GreatFalls-Blurred.tif" in the Example Images Folder.

Notice that this image has dimensions of 512 by 512 pixels, however the image can have any size.  Before processing, Tria resizes the data such that each dimension be a value of 2^N where N is an integer.  For example, an image with dimensions of 300 by 300, will be resized to 512 by 512, processed, and the result will be re-sized back to 300 by 300.

•	Click on Menu---Tools---Reference Image (or press F1) to open the Reference Image dialog box.

•	Under "Load from File", press "Go" to open the file dialog box.  Open "R-GreatFalls.rtif" from the Reference Images folder.

The blurred image was created by convolving a sharp image with a complicated point spread function.  For this example, we are going to use the actual truth image as our reference image.

•	Press SeDDaRA on the control panel to open the dialog box.

•	Select GreatFalls-Blurred for the image and choose a Result name if desired.

•	Choose R-GreatFalls for the reference image.

•	Choose a value for the area of influence.  This value determines the level of cleaning applied to the PSF.  I suggest 64 for this example.

•	As with a standard deconvolution, choose a value for C2.  I suggest 0.006.

These three parameters effect the performance of the algorithm.  A few trials may be necessary to acheive a good result.  Start by trying different reference images until a positive result is achieved. If artifacts are present, reduce the influence.  Finally, adjust the C2 value to balance the noise.  It will not take you very long to get a feel for which parameter needs correcting.

•	If you wish to see the PSF, check this option and choose a name.

•	Press Go.

Use the image constrast buttons or the Compare function to better see the improvement.

For this example, it can certainly be stated that we cheated.  In the ideal case, we would like our reference image to be very similar to the target image.  However, only the frequency distribution is important.  A suitable reference image may look nothing like the target image.

To demonstrate, load "R-mandelbrot32-512.rtif" from the Reference Images folder, and repeat the example.  If you want a surprise, do not view the reference image until after you have applied SeDDaRA.


Deconvolution Examples

Deconvolution Example

Here we demonstrate a step-by-step deconvolution of an image when we have the point spread function (PSF) in hand.

Follow these steps:

•	Open "XrayDuck.tif" in the Example Images Folder.

•	Open "PSF-XrayDuck.tif" in the Example Images Folder.

Notice that both images have dimensions of 512 by 512 pixels.  Tria uses a FFT that requires that each dimension be a value of 2^N where N is an integer.  Thus, the image can have a dimension of size 64, 128, 256, 512, 1024, and so on.

•	Press Decon on the control panel to open the dialog box.

•	Select XrayDuck for the image, choose a Result name if desired, and choose your point spread function (PSF).

•	Choose a value for C2.

The C2 constant is the fraction of the magnitude of the PSF in frequency space.  The value 0.01 is a good rule-of-thumb.  If the image contains significant noise, choose a higher value.  If the image has very little noise, choose a lower value.  You can use this parameter to balance the performance of the result with the noise amplification.

•	Press Go.

Use the image constrast buttons or the Compare function to better see the improvement.

Note: The point spread function PSF-XrayDuck was derviced using the SeDDaRA process.


Caron Examples

Here we demonstrate a ste-by-step deconvolution of an image when using the Caron blind deconvolution method.

Follow these steps:

•	Open "Fruit-Blurred.tif" in the Example Images Folder.

Notice that this image has dimensions of 512 by 512 pixels, however the image can have any size.  Before processing, Tria resizes the data such that each dimension be a value of 2^N where N is an integer.  For example, an image with dimensions of 300 by 300, will be resized to 512 by 512, processed, and the result will be re-sized back to 300 by 300.

•	Press Caron on the Control Panel to open the dialog box.

•	Select Fruit-Blurred.tif for the image and choose a Result name if desired.

•	Choose a value for Alpha between 0 and 1.  I suggest 0.5.

•	Choose a value for the influence.  This value determines the level of cleaning applied to the PSF, and is only valid when the PSF is cleaned in image space.  I suggest 32.

•	As with a standard deconvolution, choose a value for C2.  I suggest 0.01.

All these parameters effect the performance of the algorithm.  A few trials may be necessary to acheive a good result with your own images.  Start by changing the Alpha value, in steps of +/- 0.05.  You probably will not have to go below 0.2 or above 0.7.  If artifacts are present, reduce the area of influence.  Finally, adjust the C2 value to balance the noise.  It will not take you very long to get a feel for which parameter needs correcting.

•	If you wish to see the PSF, check this option and choose a name.

•	Press Go.

Use the image constrast buttons or the Compare function to better see the improvement.

Note: This image was captured with monchrome digital camera with an intentional out-of-focus.  As you will see, the PSF is well-preserved in the image.


Caron Operation

Caron Blind Deconvolution Operation

Clicking on the "Caron" button on the control panel will display the Caron form.  When you select an image from the list, the form offers suggestions for the name of the result and the name of the point spread function.  Only "real" (as opposed to color or grayscale) images are listed.

Three parameters are required.

•	The "alpha" constant is the value of the power law  between 0 and 1 that is applied to determine the point spread function.  See Caron for more details.

•	The C2 value is a constant that ensures the noise in an image is not over-amplified when the deconvolution is performed.  See deconvolution for specifics.

•	The influence is the number of pixels surrounding the extracted point spread function.  Higher values will produce a better result to the point that artifacts are formed.  This parameter is only used when the PSF is cleaned in image space, described below.

Clicking the "Show PSF" box will reveal the extracted PSF used in the operation.

Note: The Caron function does not operate directly on Color images.  Use the Split or Convert functions to create gray-scale images.


Reference Image Functions

Clicking on "Reference Image" under "Tools" in the main menu brings up the reference image functions form.  A reference image is used with SeDDaRA to extract the PSF from an image.  If you want to restore a blurry image of buildings, your reference image may be a second, in-focus image of buildings.  This form provides four functions that assist in the blind deconvolution process:

•	Load from File:  Clicking on "Go" calls up a dialog box that enables you to load a reference image into Tria.  These images are registered as reference images and are stored in their own list.

•	Create Reference Image: This function allows you to create a reference image from any open grayscale image.  The image is interpolated to the next N^2 size using bilinear interpolation to ease the processing.  The created image name is given the prefix "R-", and stored with the image type "Ref".

•	Save Reference Image:  This function allows you to save your created reference image in the reference image format.

•	Show Reference Image:  Reference images are not displayed when loaded to save on desktop space.  This function shows you the original image that the reference image was produced from.

The saved references image are saved as 32-bit single precision data using the TIFF format, that has been designated a RefTiFF (*.rtif).  Both the original image and the reference image are stored in a single file.

If you perform an operation while the form is open, the new image will not be displayed in the list boxes.  You can refresh the list by pressing the "R" button.


Reference Image Choices

Choosing a Reference Image

The successful application of SeDDaRA is based on the correct choice of a reference image.  The frequency spectrum of the reference image is used for comparison with the image you wish to process.  However, it may surprise you to know that distinctly different images can have very similar frequency spectrums.

For example, if you have a motion-blurred image of toy blocks, you can use a sharp image of the different blocks, or a sharp image of a row of buildings, or even computer generated fractal images.  The algorithm has been developed to allow for much leeway.

When you take your first step, try several reference images to see which one provides the best result.  This process is one part art, one part science, and two parts trial-and-error.  You will also need to adjust the deconvolution parameters.  However, it will not take you too long before you develop an intuition about the reference image that works best for your application.

The image size will also be a factor.  During processing, the target image and reference image must have the same dimensions.  If you use a 256 X 256 sized reference image to restore a 400 X 400 image, the program will up-sample both images to 512 X 512.  However, with the interpolation, the reference image will not have the resolution of a 512 X 512 image.  Thus, a simple rule is that your reference image should have equal or greater dimensions than your target image.

Keep in mind that your eyes have a lifetime of understanding what is and is not blurry.  And your brain has a lifetime of comparing the physical qualities of scenes.


Tools

Image Processing Tools

You will find additional image processing tools under this menu heading.  These are:

•	Reference Image Functions---This button opens the reference image functions form that enables the loading, creation, display, and saving of reference images.  These images are used for the SeDDaRA blind deconvolution process.  See Reference Image Functions for details.

•	Compare Images---This function allows you to directly compare two images, side-by-side, in the same image box.  See Compare Images for details.

•	Point Spread Function---This button opens up a form that cleans and re-positions point spread functions.  These operations include centering, cleaning, and increasing image size.

•	Split Colors---This option appears on the image menu for color images only.  It splits the current RGB image into its red, green, and blue components.

•	Merge Colors---This function enables you to combine three images into an RGB color image.  The images must be "Real" and have the same dimensions.  Choose the Red image first in the dialog box.

•	Default Folders---This opens a dialog box which allows you to choose your start-up default folders for general images and reference iamges.


Compare Images

This function allows you to compare two images in the same image box.  You can use this to gauge the results of processing by looking at the original and processed image.  After you click on 'Compare Images' under the tools menu, a dialogue box will ask you to select from two real, grayscale images.  Image #1 detemines the size of the side-by-side image.  Image #2 is interpolated to match the dimensions of Image #1.

After selecting 'Go', the image box will open with the left side of image #1, and the right side of image #2.  Each image has its own image contrast controls.  In addition, you can choose from four configurations:

•	1---Shows image #1.

•	2---Shows image #2 interpolated to match image #1.  The pixel values correspond to the interpolation, and not the original image values. You can flash back to 1 to see how these images differ.

•	1|2---Shows image #1 on the left side and image #2 on the right side.  This is the default value.

•	1/2---Shows image #1on the top half, and image #2 on the bottom half.

•	F---Swaps the images around so Image #2 is now Image #1.  This allows you to compare the remaining portions of the images.

The contrast functions are described in Image Display.  You also can save the display image for demonstrative purposes.

Note: This feature is not available for color or complex images.


ShortCuts

Shortcut Keys

To access the main functions using the keyboard, use these shortcuts.  Press the Ctrl key and the key listed below.

Function	Key	Function	Key

Open Image	O	Image Math	M

Fourier	F	Deconvolution	D

Caron	C	SeDDaRA	A

Resize	Z	Rotate	R

Convert	N	View Log	L

Help	H	Save	S

Close Image	V

Press the Function Keys to access these tools:

Function	Function Key

Reference Image	F1

Compare Images	F2

Point Spread Function	F3

Merge Images	F4


Convert Images

All images opened into Tria are stored in the single precision (32-bit) format.  The Convert function allows an image to be:

•	Truncated to a smaller bitdepth.  This does not save any diskspace, but allows the user to determine if data points become "saturated" after the conversion.

•	Convert a grayscale image to an RGB format.

•	Convert an RGB image to a grayscale format.  We use the formula :

Pixel Value = (Red + Green + Blue)/3

Complex images are not recognized by the dialog box.  See Magnitude to convert a complex image to a non-complex foramt.


PSF Functions

Point Spread Function Operations

Clicking on "Point Spread Function" under "Tools" in the main menu brings up the point spread function (PSF) operationss form.  A  PSF, also referred to as a blur function, or impulse function, displays the blur created if only a single point is illuminated on the imager.  An image of the PSF is used to deconvolve (i.e. remove) the blur from the image.  See Deconvolution for a complete description on how this is accomplished. This form provides two functions that assist in improving the deconvolution process:

•	Center into New Image:  This function finds the point in the image with the maximum amplitude, and then re-centers the data into a new image.  Select the desired target, a name for the new image, and the size of the new image.  No interpolation is performed here.

•	Clean PSF: This function allows you to  remove excess noise in the image that may interfere with the deconvolution.  Select the desired target, a name for the new image, and an integer for the "Area of Influence."  The function measures the noise level just outside the Area of Influence.  This value is subtracted from the entire image, with negative pixel values set to zero.  This method removes noise while preserving the complicated shapes of PSfs.  Check the "Show Mask" box to see the where data has been removed.

If you perform an operation while the form is open, the new image will not be displayed in the list boxes.  You can refresh the list by pressing the "R" button.


EULA

Software License Agreement

This agreement covers one (1) installation and use of the Tria Image Processing Program

This program is to be provided, updated, and installed on one domain per license agreement. For multiple domains, each installation must be issued a new license & key and abide by the terms below. All licenses and keys are managed and registered. Any license shown running on more than one (1) registered IP address will be terminated without refund.

Notice to User:

This End User License Agreement (EULA) is a CONTRACT between you (either an individual or a single entity) and Quarktet, which covers your use of the Tria software product that accompanies this EULA and related software components, which may include associated media, printed materials, and "online" or electronic documentation. All such software and materials are referred to herein as the "Software Product." A software license, issued to a designated user only by Quarktet or its authorized agents, is required for each user of the Software Product. If you do not agree to the terms of this EULA, then do not install or use the Software Product or the Software Product License. By explicitly accepting this EULA, however, or by installing, copying, downloading, accessing, or otherwise using the Software Product and/or Software Product License, you are acknowledging and agreeing to be bound by the following terms:

1. GRANT OF NON-EXCLUSIVE LICENSE.

(a) Software Product License. The Software Product License, which is issued to a designated user, enables such designated user to use the Software Product on a single domain. Each user on a multi-user server system who uses the Software Product requires an additional Software Product License. You may not modify or create derivative copies of the Software Product License.

(b) Grant of License. Subject to a validly issued Software Product License, Quarktet grants to you the non-exclusive, non-transferable right for you to use the Software Product on a single domain running a validly licensed copy of the operating system for which the Software Product was designed. You may not modify or create derivative copies of the Software Product. Quarktet retains all rights not expressly granted to you.

(c) Backup Copy: Software Product. You may make copies of Software Product as reasonably necessary for the use authorized above, including as needed for backup and/or archival purposes. No other copies may be made. Each copy must reproduce all copyright and other proprietary rights notices on or in the Software Product.

2. INTELLECTUAL PROPERTY RIGHTS RESERVED BY QUARKTET.

The Software Product is protected by U.S. and international copyright laws, and treaties, as well as other intellectual property laws and treaties. You must not remove or alter any copyright notices on any copies of the Software Product. This Software Product copy is licensed, not sold. Furthermore, this EULA does not grant you any rights in connection with any trademarks or service marks of Quarktet. Quarktet reserves all intellectual property rights, including copyrights, and trademark rights.

3. NO RIGHT TO TRANSFER.

You may not rent, lease, lend, or in any way distribute or transfer any rights in this EULA or the Software Product to third parties without Quarktet's written approval and subject to written agreement by the recipient of the terms of this EULA.

4. PROHIBITION ON REVERSE ENGINEERING, DECOMPILATION, AND DISASSEMBLY.

You may not reverse engineer, decompile, defeat license encryption mechanisms, or disassemble the Software Product or Software Product License except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.

5. SUPPORT SERVICES.

Quarktet may provide you with support services related to the Software Product. Use of any such support services is governed by the Quarktet polices and programs described in "online" documentation and/or other Quarktet -provided materials. Any supplemental software code or related materials that Quarktet provides to you as part of the support services is to be considered part of the Software Product and is subject to the terms and conditions of this EULA. With respect to any technical information you provide to Quarktet as part of the support services, Quarktet may use such information for its business purposes without restriction, including for product support and development. Quarktet will not use such technical information in a form that personally identifies you.

6. TERMINATION WITHOUT PREJUDICE TO ANY OTHER RIGHTS.

Quarktet may terminate this EULA if you fail to comply with any term or condition of this EULA. In such event, Licensee agrees to return to Licensor or to destroy all copies of the Software upon termination of the License.

7. NO WARRANTIES.

You accept the software product and software product license "as is," and Quarktet (and its third party suppliers and licensors) make no warranty as to its use, performance, or otherwise. To the maximum extent permitted by applicable law, Quarktet (and its third party suppliers and licensors) disclaim all other representations, warranties, and conditions, express, implied, statutory, or otherwise, including, but not limited to, implied warranties or conditions of merchantability, satisfactory quality, fitness for a particular purpose, title, and non-infringement. The entire risk arising out of use or performance of the software product remains with you.

8. LIMITATION OF LIABILITY.

This limitation of liability is to the maximum extent permitted by applicable law. In no event shall Quarktet (or its third party suppliers and licensors) be liable for any costs of substitute products or services, or for any special, incidental, indirect, or consequential damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, or loss of business information) arising out of this EULA or the use of or inability to use the software product or the failure to provide support services, even if Quarktet has been advised of the possibility of such damages. In any case, Quarktet's (and its third party suppliers' and licensors') entire liability arising out of this EULA shall be limited to the amount actually paid by you for the software product; provided, however, that if you have entered into a Quarktet support services agreement, Quarktet 's entire liability regarding support services shall be governed by the terms of that agreement.

9. GOVERNING LAW; ENTIRE AGREEMENT.

This EULA is governed by the laws of the Commonwealth of Maryland, U.S.A., excluding the application of its conflict of law rules. The United Nations Convention for the International Sale of Goods shall not apply. This EULA is the entire agreement between us and supersedes any other communications or advertising with respect to the Software Product; this EULA may be modified only by written agreement signed by authorized representatives of you and Quarktet.

10. CONTACT INFORMATION

If you have any questions about this EULA, or if you want to contact Quarktet for any reason, please direct all correspondence to:

Quarktet

205 Indian Spring Drive

Silver Spring, MD 20901

caron@quarktet.com


Demo Mode

Tria Image Processing Demonstration

Thanks for trying the Tria Image Processing program.

Applying blind deconvolution to images can be involved, and involves a certain amount of trial and error.  The lack of an improved image could be the result of using wrong parameters, or your images did not preserve the blur function when recorded.  This is why it is important to fully understand the potential of this technique as it applies specifically to your application.

To assist in this matter, we have made every function available to you in the demonstration mode.  To prevent unlawful use of the demonstration mode, we removed the save functions, and have added a label and an "X"  watermark to certain images.  The watermark does not affect the stored image data.

We suggest you begin your trial by reading about the different functions and performing the examples(Decon, Caron, and SeDDaRA).  These will give you a sense on how and how well the functions operate.

When you first try your own image, start with a small image, less than or equal to 512 pixels per size.  Processing time increases greatly with image size.  Factors that affect the effectiveness of the deconvolution include Bit Depth, Compression, and Noise.

The helpfile is the only manual for the program.

For purchasing information, please see our website, www.Quarktet.com.


Known Issues

We know full well how frustrating  a program can be when it does not perform the tasks that it was designed to perform.  Thus, we do not adhere to the policy of "release it now, fix it later."  Tria has undergone many de-buggings before it was released, and we hope the program works smoothly for you.

We do know of certain issues that may cause you problems depending on the situation.  We will list them here, as well as on the website.  We will do our best to correct these issues with later versions of Tria.

The Current Issues are:

•	Speed---Tria can perform blind deconvolutions faster than any other method.  However, we have not optimized the code for speed.  The opening and display of imags can also be performed faster.

•	Large Images---The size of images from current digital cameras has grown beyond the display capacity for computer monitors.  Some considerations must be made to handle the physical size of the image on the screen.  Tria does not yet handle large images very well.

•	Compare Color Images---The compare tool does not permit color images.

•	Cropping Images---Tria does not yet crop images.

•	Select Image---Certain functions can only be used with certain types of images.  For example, the deconvolution algorithms do not operate directly on color or RGB images.  Thus, the selct box will not give you the choice of selecting an RGB image.

•	Spelling---The program used to create this help file does not have a spellchecker.  Some misspellings may have occured.

We will work to resolve these issues as well as add new functions and features with later versions.


Bit Depth, Compression, Noise

What you should know about Bit Depth, Compression, and Noise

BitDepth

Computers display images onto montitors as 24-bit RGB images.  As a consequence, most imaging software programs are concerned only about 24-bit RGB images.  Each color (red, green, and blue) is represented by an eight-bit number.  The number is just a value between 0 and 255.  With this arrangement, your computer can display over 16 million colors.

Although this approach works well for display, it is not the optimal arrangement for image processing.  If you split the image into its components, each pixel can only have one of 256 values.  With image processing, the more information that is available, the better.  Having integer values ranging between 0 and 255 truncates valuable information about the point spread function and noise level.

Many cameras, including consumer models, only provide cameras with 24-bit bit depth.  Deconvolution can be applied with success to these images.  However, if you have a choice, use a camera with greater bit depth.  Your chances for complete restoration will be greatly improved.

Compression

Images are compressed to minimize the space they occupy in computer memory.  An algorithm is applied to the image data that preserves much of the image content, but decreases the amount of data.   Processes such as jpeg, compress the image in ways that minimize the visual effects of the compression.  In a landscape image with a nice blue sky, the "sky" region of the image will be compressed more than the "land" region.  Most of the time, you will not be able to see the difference.

Since the full data set is not being conserved, this has consequences for image processing.   The PSF is conserved in one area of the image, but not the other.  When blind deconvolution is applied to the image, the extracted PSF will represent neither the land or sky portion of the image.

Thus, we recommend that you always choose the "Highest Quality" option when taking pictures.  Computer memory is relatively inexpensive, and you can always compress them later.  In addition, there are some "loss-less" compression methods available.

Noise

When you apply deconvolution to an image, you are processing the optical portion of the scene.  Capturing that image on a focal plane array (the camera's pixel array) also adds noise to the image.  This noise can be amplified when a deconvolution is applied.  The Tria deconvolution methods have a parameter, "C2", to strike a balance.  However, at some point the noise  level will obscure valuable information about the PSF, and  the chances for a succesful improvement are diminshed.

There are two ways to prevent this situation.  First, buy a camera with good sensitivity.  Second, ensure that your light levels/exposure time are chosen to minimize the noise in the image.