?_gl!MfrCTria Image Processing Help 2Copyright 2005 by Quarktet. All rights reserved.Tria Image ProcessingZmainTria Image Processing Helpc4  /&;)z4!!|AWBTREEk|AWDATA^|CONTEXTɢ|CTXOMAP|FONTق|KWBTREE/|KWDATA|KWMAP|SYSTEM|TOPICA|TTLBTREE|bm1|bm10 |bm11K|bm12"|bm13*|bm14+|bm15.|bm16;|bm17I|bm18X|bm19Ei|bm2ͳ|bm20 {|bm21Y|bm22)|bm3v|bm4|bm5|bm6|bm7|bm8|bm9z }} < H1+ H Image TypesA . ,&Image TypesH' 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) o% aTagged 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.yO * "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.o * "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. m <*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() B 1 .FTria Welcome Pagei/ .: D`"Welcome to Tria Image Processing Helpj @( 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 imag.@ e 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.=. A% 0With Tria, you can:s@%C P:HArMrLrATrArwrKrOpen 15 different image formatsApply the SeDDaRA blind deconvolution processApply the Caron blind deconvolution processApply an effective pseudo-inverse deconvolutionApply basic image mathematicsApply Fourier operationsView Image Header InformationEasily Compare Images of Any SizeRotate and resize images ADO lCP:HrrOrCreate reference images for blind deconvolutionClean point spread functions for improved deconvolutionsTrack your steps with our Log Viewer(%C=D% HuJDD+ &HrSee this page if you are using the program in the Demonstration Mode.(=DD% H@DE% 6HHelp File Version 1.0.0.(DBE% H(EjE% H(BEE% HjEFl 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() > EWF1WFFkIImage Display?FF+ &(Image DisplayFWFH7 <PrWhen 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.FkIp >*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() @HI1&IILOpen Dialog BoxAkII+ &,Open Dialog BoxrJI^J( Tria uses a standard Microsoft File Open Dialog Box. Tria can open:I4KT vP:HBitMaps (.bmp)Tiffs (.tif)JPegs (.jpg)Fits (.fit)Raw data (.raw or .dat)Delimited text files (.txt)(^J\K% H^34KK+ &fHAClick here for more information on Image Types(\KK% H(K L% H(K2L% H LLl 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() (2LL% HAL"M1"MdMށImage Save TypesBLdM+ &.Image Save TypesrJ"MM( Tria uses a standard Microsoft File Save Dialog Box. Tria can save:x,dMNOL fYP:HBitMaps (.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.(MvO% H^3NOO+ &fHASee the Image Types page for more information.(vO % HO LO) HNote: Tria will not ask you whether you want to save your images or log file. Once the program is closed, the data is lost. ( ߀% H(% H(߀/% Hl 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() (/ށ% HC!1!eFSave Display ImageDށe+ &2Save Display Imagea!F ΀r*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()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. @e1KDŽSave Dialog BoxAFDŽ+ &,Save Dialog Boxd[0 .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:qDŽK fP:HBitMaps (.bmp)Tiffs (.tif)Fits (.fit)Raw data (.raw or .dat)Delimited text files (.txt))[@% H zO+ &HAusing a choice of formats. Click here for more information on Image Types(@% H( % H(2% H l 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() (2% HK,1,xҌSave Image Type Dialog BoxL!x+ &BSave Image Type Dialog BoxZ,) "This dialog box allows you to choose how to format the saved image. Tria can save:qxK fP:HBitMaps (.bmp)Tiffs (.tif)Fits (.fit)Raw data (.raw or .dat)Delimited text files (.txt)(ߊ% H2 25HAAYou 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.(ߊӋ% H(% H(Ӌ#% Hl 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() (#Ҍ% H; 1` MImage Math@ҌM. ,$Image Math' t) 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.}YM $ These operations can also be applied to complex images. Two current limitations are:t ҌYt3 6P:HComplex and Real images cannot be combined.Complex constants are not accepted.( % H(% H(% Hl 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() G1 & Fast Fourier TransformH&+ &:Fast Fourier Transform2 2QQ. 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.O*&O% UTwo-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.a3. *gIn 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.HO. *5Q. 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 as0(, ( "|+ &vrwhere f(x,y) is the original function and (u,v) are the coordinates in frequency space.The inverse Fourier transform,0(, ( "& 5brings the data back into image space.Since digital images consist of discrete data, a discrete Fourier transform is needed to describe the operation0, ( "S0B# `and the inverse discrete Fourier transform is3u- *".~XB& 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 0u#, ( "P  ΀  *C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()where a and b are integers greater than 1. # = #I1 I Resize Image> + &&Resize ImageaI4 6}rxrThe 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.| t *C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()When you press the `Go' button, the interpolated image will appear in a new display window. GS1 S @Deconvolution OverviewH + &:Deconvolution OverviewS* "}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.\ ' eAll 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.x5 8Qr2. 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 by0\ , ( "Tx @v *C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()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.  @ JV@1 V@@4Caron Blind DeconvolutionT) @@+ &RCaron Blind Deconvolution OverviewV@C+ $sThe "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..@FD VH "TrThe 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.TheoryThis 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, yieldingfC"II `?H"Lr"(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.H FjK( AHWithout 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 scenestatistics, 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.Q"IM7 <H"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. jK  H *C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()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. M  @(M4% HB v1 vESeDDaRA OperationC4+ &0SeDDaRA Operationvs1 0}rTo 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. =F ZP:HrrLrThe 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.2s, & P:HThe 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.( % H3 =& HThe 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.( e% HxS=݇% HClicking the "Show PSF" box will reveal the extracted PSF used in the operation.(e% HV1݇[% bHClicking the "R" button will refresh the list.(% H[B2 2HrrNote: The SeDDaRA function does not operate directly on Color images. Use the Split or Convert functions to create gray-scale images.(j% H(B% H(j% HEo 8H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() 4y1yLog5 E+ &LogyŒ* "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. ;w *C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()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. ?Œ<1<|Image Contrast@|+ &*Image Contrast<F) CThe 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:^|D V5P:HAbs---The image contrast is scaled from zero to the maximum values of the image data. This is the default value.FMax---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.(F% H & HBelow 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.( % Hx% HThus, one current inconvenience is that the sliding bars to not operate on the inverse image, or the histogram image.( % H(% H(% Ho 8H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() D1=Blind DeconvolutionO!=. ,BBlind Deconvolution Types7( 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.3=j, &P:HThe 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.(7% Hg;j, &wP:HMaximum 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.(!% Hb, &P:HNearest 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.(!% H, &P:HAPEX 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.(% H 2 2P:HrSeDDaRA--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.) (4% Hi7 2 2oP:HMrCaron 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.(4% H|, &P:HCepstrum 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.(% H(|% H(% H(% H)E&  ȂH)n&  ȂHEm 6 ȂH*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() Dn:1d :Important QuestionsI. ,6Important Questions':7 <  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?f7 / ,o 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.+7 <  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. m <*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() D+1?eGMagnitude and PhaseE?+ &4Magnitude and PhaseW( A complex number can be described by its magnitude and phase. The complex number0? @, ( " @m@/ .  with a being the real component and b the imaginary component, may be written in exponential form as4 @@/ . H" a@nA1 2H  where r is called the magnitude and q is called the phase, which can be calculated usingB @A7 > H"" and .(nAA% HX3A0B% fHSimilarily, a complex image can be described as 2AbB. , H" Y.0BB+ &\H where (u,v) are the image coordinates. (bBB%  H=B E& /HWhen 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.(BHE% H EF& IHThe 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.(HE:F% H(FbF% H(:FF% H(bFF% HF=Go 8H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() (FeG% HH=GG1HGG MDeconvolution OperationIeGG+ &<Deconvolution OperationGJ/ ,LrDeconvolution 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. e*GxL; DULrrrYou 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."J Ms D*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() OxL\M16\MMInverse Fast Fourier TransformP% MM+ &JInverse Fast Fourier Transform\MN/ ,TrAn 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 is0MN, ( "`NtO# where F(u,v) is the data in frequency space. For the discrete case of images, the formula is3NO- *".tO$ cLike the FFT, an inverse fast Fourier transform can O Mbe performed to reduce the amount of computations. But also like FFTs, inverse FFTs can only be applied to images of size 0O, ( "Q Ѐ  *C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()where a and b are integers greater than 1. = Ɓ1ƁȄRotate Image>+ &&Rotate Image5Ɓ90 . 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.Ȅp >*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() D9 1 QImage InterpolationEȄQ+ &4Image InterpolationN" , &EInterpolation 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.`Q./ ,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. x *C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()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. = .1w*pColor Images>*+ &&Color ImagesY)0 .SAColor 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 Tiffsy*pt *C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()To save a color image, click on the Save button and choose the format in the dialog box. ?1# Complex Images@p + &*Complex Images p^jJ b+Tr" SrApplication 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 .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. p >*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() ; j414z+StatisticsFz. ,0Image Statisticsu4( This form provides key statistics about the image that can be of some benefit to the user. The statistics are:bzM hP:H" 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: (% HvQd% HThis form also displays information about complex images. The statistics are:(% H\d,D VP:HMaximum---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. (T% H(,|% H(T% H|+l 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() Ep1pProgram OrganizationQ+7 >6"Tria OrganizationpH ^~r}rrPrATria 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.; րowrLrOr*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()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. > T1>T<Control PanelC. ,*Control Panel0T5 8~r}rThis 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:p AP:HAA}rTrvrLrOpen---Opens new images to the desktopSave---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.%j wP:HNrQrMrQrwrSeDDaRA---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.(0% HmA RP:HOrHelp--Opens up the help file.Log---Opens up the log display.Hide---Hides the control panel.(0% H_4e+ &hHrSee Shortcuts for a list of Keyboard Shortcuts.(% H(e% H<l 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() = y1yV Program Menu?<. ,"Main Menuy4 6}}rrThis 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:\. . ,\P:H File--Accesses program file functions:] C VP:H  Open---Opens new images to the desktopSave---Saves an opened image to file.a p i P:H     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 fileAbout---Some details about the Tria programExit---Closes the program(  % Hrp / % HThe menu can be access by mouse or by pressing Alt-Z where Z represents the underlined letter in the item name.( W % H(/  % H(W  % H(  % H V l 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() C  1   EImage Display Menu@V  . ,$Image Menu 4 6o~r}rThis 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:\.  . ,\P:H File--Accesses program file functions:@A PWȂHOpen---Opens new images to the desktopSave---Saves an opened image to file.Save Display---Allows the user to save the current RGB display image as @V a bitmap.  AE X_P:H   Control Panel---Re-displays the control panel if hidden.Window List---Display a list of all open windows.Info---Offers several image information choices:[@A8 @ȂHHist---Displays a histogram of the image valuesStats---Displays image statisticsS A+B9 BP:H  Help---Opens up the help fileView---Offers choices for image displayTAC6 :=ȂHDisplay 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.I+BC+ &<P:HClose---Closes the image(CC% HrCD% HThe menu can be access by mouse or by pressing Alt-Z where Z represents the underlined letter in the item name.(CD% H(DD% H(DD% H(D'E% HDEl 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() A'EE1E1FSeDDaRA OverviewBE1F+ &.SeDDaRA Overview{PEH+ $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.) (1FKD VH "TrThe 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.TheoryThis 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, yieldingfH:NI `?H"Lr"(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.G K' AHWithout 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 iterati:NEve and can only be applied within certain restraints. In contrast, the SeDDaRA approach can be applied to very diverse images.:NF ZH""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 K dH""".(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 .(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.d H *C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()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. Aڇ1Gڇ8SeDDaRA ExamplesB+ &.SeDDaRA Examplessڇˈ< HLrrHere we demonstrate a step-by-step deconvolution of an image when using SeDDaRA. Follow these steps:pB;. ,P:HOpen "GreatFalls-Blurred.tif" in the Example Images Folder.(ˈc% He;& HNotice 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. (c% H/4 6P:HClick 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.(W% H/9& yHThe 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.(Wa% H9d[ QP:HPress 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.(a% HdB&  HThese three parameters effect the performance of the algorithm. A few trialsB 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.(j% HUB6 <P:HIf you wish to see the PSF, check this option and choose a name.Press Go.(j% H^4 8HPrrUse the image constrast buttons or the Compare function to better see the improvement.(% HB& 9HFor 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. (A% H5) HTo 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.(A]% H(5% H(]% H8o 8H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() G1 &Deconvolution ExamplesG8+ &8Deconvolution Example1 0#LrHere we demonstrate a step-by-step deconvolution of an image when we have the point spread function (PSF) in hand. Follow these steps:s49 BP:HOpen "XrayDuck.tif" in the Example Images Folder.Open "PSF-XrayDuck.tif" in the Example Images Folder.(\% H4p& HNotice 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.(\% HpE XP:HPress 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.(% HZT& HThe 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.(|% H>T. , P:HPress Go.(|% H^t4 8HPrrUse the image constrast buttons or the Compare function to better see the improvement.(% H(t% H\K+ &HNote: The point spread function PSF-XrayDuck was derviced using the SeDDaRA process. (s% H(K% Hs&o 8H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() ?e1 !eA Caron Examples@&+ &*Caron Examplese}= HLrMrHere we demonstrate a ste-b}&y-step deconvolution of an image when using the Caron blind deconvolution method. Follow these steps:k=. ,zP:HOpen "Fruit-Blurred.tif" in the Example Images Folder.(}% He& HNotice 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. (% H5a P:H}rPress 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.( % H & HAll 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.( 1% HU 6 <P:HIf you wish to see the PSF, check this option and choose a name.Press Go.(1% H^v4 8HPrrUse the image constrast buttons or the Compare function to better see the improvement.(% Hvf , &9HNote: 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.( % H(f  % H A o 8H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() @  16"  ACaron OperationU*A  + &TCaron Blind Deconvolution OperationqG G * "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. H H ^P:HMrLrThe "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.(G % H('% HxS% HClicking the "Show PSF" box will reveal the extracted PSF used in the operation.('% H@2 2HrrNote: @A The Caron function does not operate directly on Color images. Use the Split or Convert functions to create gray-scale images.(@% H(@@% H(@A% H@Ao 8H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() JAA1#A,BJReference Image FunctionsO!A,B. ,BReference Image FunctionsAC5 8rQrClicking 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: /,BF: BP:HxrLoad 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".k7CG4 6oP:HSave 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.(FG% HGH, &HAThe 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. (GH% HHI& GHIf 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.(HI% H(II% H(IJ% HIJl 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() HJJ1S$J=KmReference Image ChoicesP"J=K. ,DChoosing a Reference Imagei?JM* "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.[=K:- (rWhen 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 tM:Jo 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.3Mmo *C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()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. 6:1%PToolsLm. ,<Image Processing ToolsZq( You will find additional image processing tools under this menu heading. These are:bH ^P:HrrReference 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.6qQB RP:HyrSplit 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.(y% H(Q% H(yɈ% HPl 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() ?Ɉ1&ӉsCompare ImagesDPӉ. ,,Compare Images0 .rThis 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:uӉa )P:H      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.(#% H~ҏ1 2HAAThe contrast functions are described in Image Display. You also can save the display image for demonstrative purposes.(# % Hҏ PhCҏt% HNote: This feature is not available for color or complex images.( % H(t% H(% Hsl 6H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() : 1A'ShortCutsCs. ,*Shortcut Keys  H      To access the main functions using the keyboard, use these shortcuts. Press the Ctrl key and the key listed below.FunctionKeyFunctionKeyOpen ImageOImage MathMFourierFDeconvolutionDCaronCSeDDaRAAResizeZRotateRConvertNView LogLHelpHSaveSClose ImageVPress the Function Keys to access these tools:FunctionFunction Keyq ؀H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()Reference ImageF1Compare ImagesF2Point Spread FunctionF3Merge ImagesF4 ? ?1*(?xConvert Images@+ &*Convert Images?*) All images opened into Tria are stored in the single precision (32-bit) format. The Convert function allows an image to be:T~< F1P:HTruncated 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 :L'*% N HPixel Value = (Red + Green + Blue)/3(~% H}. ,HSrComplex images are not recognized by the dialog box. See Magnitude to convert a complex image to a non-complex foramt.(% H(% Hxo 8H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() > 1) iPSF FunctionsV(x . ,PPoint Spread Function Operations8 D. *LrClicking 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: & j# OD4 67P:HCenter 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. (j% H& GxHIf 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.(% Hio 8H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() 51* EULAP"i. ,DSoftware License Agreementg/ , This agreement covers one (1) installation and use of the Tria Image Processing ProgramThis 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:rI ) 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.r) (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.f .A+ $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, DECOMPILAT.AiION, 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.K$yD' I5. 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..AgH+ $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..yDL' 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.gHN' 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."L 3 410. CONTACT INFORMATIONIf you have any questions about this EULA, or if you want to contact Quarktet for any reason, please direct all correspondence to:Quarktet205 Indian Spring DriveSilver Spring, MD 20901caron@quarktet.comN i: NF1]+FنDemo Modeg- : D\"Tria Image Processing Demonstration F* "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.҅? LrrrrWe 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.نq -*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()The helpfile is the only manual for the program.For purchasing information, please see our website, www.Quarktet.com. = ҅1,T Known Issues>نT+ &&Known Issues0* " 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.ATʼn% 8The Current Issues are:Ӌ: BP:HSpeed---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. Tʼn'V zP:HyrCompare 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.(ӋO% Hf'ڎ% HWe will work to resolve these issues as well as add new functions and features with later versions.(O% H(ڎ*% H(R% H* o 8H*C!Annotate,AN()&C!Back,Back()&C!Exit,Exit() R نNRZ1r -Z Bit Depth, Compression, NoisenC + &What you should know about Bit Depth, Compression, and Noise5Z7 <yrBitDepthComputers 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.NK: B)LrAMany 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.CompressionImages 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. H!' CSince 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.K, &NoiseWhen 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. W w *C!Annotate,AN()&C!Back,Back()&C!Exit,Exit()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. 1:1U.:^$ ^" 1:1/MS Sans SerifSymbolCMR10SystemTimes New Roman$. $kb,   9  }V2 #65 !˂"#$%%& ' z)q * + , - . (g  <# 8! 84 q 5%5 ˂5%<   2q    g q ˂556  ˂ #8z 28 ˂ 9 }#< }9 }g V   2#< zV8 ˂q   6  g g   } 9 8 44#z 4q  #5 9 }%65 ˂ 8#˂    % %2 V#< 5%g 4488< % }9   <q 6˂/&;)F24wabsaddasciiaverage bi-cubicbi-linearbitdepthbitmap blind$blind deconvolution(blurHblur function TbmpxboxbugsCaroncenterchoicecleancolorcolorscomparecomparisoncomplexcompressioncontrastcontrolconvertdatade-blurdeconvolution defaultdelimited demo$demonstration(details,dialog0difference8display<dividePentropyTerrorsXexample\examples`exposurehfastlfilexfilterfitfitsfolderfoldersformatFourierfrequencyfunctionfunctionsgeometryhisthistogramimage Image Processingimagesimaginary$influence(interpolate,interpolation0inv4inverse8inverse filter<invert@issuesDjpegHkeyboardTkeysXlegal\license`logdmagnitudehmathxmax|maximummeanmenumergeminimummonochromenearest neighbornoiseopenoperationoperationsopneoptionsorganizationoverviewpanelphasepoint spread function problems productprogrampseudo-inversePSF$purchase4Quarktet8questions@rank filterDrawHrealPrecipeTreferenceXreference imagedrescalelresizeprgbxrotatesavescaleSeDDaRAshortcutstandard deviationstatisticssubtractsumtiftifftipstoolstransformTriatrialtypeWelcomeWiener Wiener Filter  /&;)F24Image Contrast/&;)Lz0(0Image Types Tria Welcome PageImage DisplayOpen Dialog Box<Image Save TypesSave Display Image#Save Dialog BoxSave Image Type Dialog Box8Image Math}Fast Fourier TransformResize ImageDeconvolution OverviewCaron Blind DeconvolutionSeDDaRA OperationLog Image ContrastBlind DeconvolutionImportant Questions9 Magnitude and Phase6Deconvolution OperationInverse Fast Fourier TransformVRotate ImageImage Interpolation2Color Images Complex Images4StatisticsProgram OrganizationControl Panel#Program MenuzImage Display Menu5SeDDaRA OverviewSeDDaRA Examples˂Deconvolution ExamplesCaron ExamplesCaron Operation%Reference Image FunctionsReference Image Choices Tools Compare Imagesg ShortCutsq Convert Images PSF Functions EULA Demo Mode Known Issues Bit Depth, Compression, NoiseI K /&;)L4..KrLrMrNrOrPr QrRrSr9 Tr}vrwrVxryr2zr {r4|r}r~r#r6r5rr˂rrr%rr r rzrq r r r r r rg AA AAA<AA#AA8lp0HHP0cZ⸪SܥssHBmxYnR<}\yɌ^|VfH <i#ЁŅ Z}RU ^I>`x zx͊ ZxNQUzi?5ǣzǁ8vӐ V~L y*MoR0ɩ~yY$tד Z~Nt"*I ~X ٴ0ؒlÃj!~(r{$ەdZ hz%3P vW,x^Ƃ u) lgz%ݗk`[ m!x#{1P aM"n(y0 t!bW}*whR ]kz !;RL;Esw/z!j UL}&tEP^n&HyUhZ#ƕxz>zm#XF? +Ƃw9 DScp!}'IzRbɥqȅVu'u$bO?7 -΄|3 >I Vcy /NrNж֔j Ãlikjjln$ѕ$ޗُƂ]U~N}I~Ez@ E IzRnQ a ƅΑߒ גږ ߖ ܗێ˄ztn`VSW zX|XlK ղ0qOߚݕД˓ɑ } t_Թ ~D]ݣ4ٔ ˎ؎֎ˍ΄}~vkpd x~(z#hL E 5 ы. @L V ` t%*4w nk-֭3 J|v[P9 ד=}&5DQ_w+grsS׳"2*j`C|%/H Wh!v",m}uS ٮ ,.u"jP ߭d~)L \o|&U| i  1,tlԙʖ|.aq&,Ckj т$vԟN񊸌v&l$=r m|'o V |2-t*y!2sr zf/*إ8 2 2՘j(, s"mqP -ޭ(# Ҏtfsz[0# І va9ݳƒri6 xb wDhݭqo6K봟6gMOO$lp0~`AAA!e?$0o*e<'3r'e9-3u$e  Q !e  K   !e $6 $e $6Qe! 6Qe! -Qe! 6Qe Qe  'Qe i99-$0Zc6 9*'3W]9 ?'-3T?W       -$*$!a ! !  ! gQ$0c$0 Co'3]'3il-3W-3cN   *  "q ]K   $  @K3-WN$$^%KV$$k$V! ! GJV ! ! #pV!! ! V!O V$!$Y i!i,Y c'c8_]] WBW* ';UCPlp  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~      V UU U Uy Vl3w3m33BBnfU3BݙoUf ow f pf  q B r"3"3_r3wfff" "^r3 " B B^sB B " "]lw$]lU#]lU#ww]"B3 B%f#BB"B$B3ffff 3w%"f%BB!f3wU3f3B f ffNfBfB f3Bff  B f 3MBBBBB3 f  3 LBBBB " B"Bw""B3" 3 "BLBBBB UB"U3B3"  "Bw3HB"wU3 B"w w w33w3fw" f wK3"3" 33wwwwfw"  w3BEUffUwwwfUffU 3  wfw K "3BU""3EfU3BUfU"  B 3BBK 3BBU3BKUBU U3 f  fBU  6 wB3UBGBB3BU U  Bf̆   3" 3fBfUffFfU3ffUBf   ffwK "3 wB3w3F" "wB3 B "3BwK wU UwU3fBfE3BUwU3B3f wB wB3BK  B3w"BffBf3w fBf" "U3 6""3w" 3"f"333w" "333 "wU"3U33fw 6BBwwwww" U"3Uw""  3"Uww" 3"UU"3U 3B"0"BLBBf" B","Bff ".LBBBB"* ""f3."MBUBUU"3*"33"Bff,3fNBBBffff(3fwwww3w3("OBB "w3$" B"B"fB(B/BB"B$B ̙f3̙f3xffgAym,Ayi*By" "k(Cy" "Yy" "Yy3"3"Yyyyyyy [w33 ZwU Z Z Z [  xlpp  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~f "!"  '3Uf'"BUw&ww3   wBfw   f B"   ffB   B3B Uݲ"   " wfw3"EBB"B3" B`3"" "UU3 Uf̆"_Uf̆ "?U33  "b>   3b3  B3ww3"3B> " B33f3""3BUf5"Uww3f"Uww" Bf UwUfB= w3BB"BffB33wf3B3wf"B 3 wUf f= UwUU fUfB3fUUffU  3" 3 , 3wf38UwUf f"" 3= 3 "3"B5U"U3 U3wUf B  w wfww33BfwwfBfww  3B= 3 "wBUwU3U3"wU3BU U3B 33 ,3 U3"$33U "UwU3B 3w=Bwf 3ww3 B3ffB3f3 UBBf"3U= w"" U33UU3BUw""3BUU33U 3B3#3B>"B3%3B  w!>B#  BBfUf ?B"B" ww "@   ""#BB& "BB j K Qy$~"888888  33 U!" 8lpxd  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~MMMM~  ~   U3"9" V3ff"f3Uf  WUwU33XBB33XU"3UffwXwUff"WX"""VY"3U"3wVYwB3wf3YUBB3"ZUfBU ZUffB   Z 33U"   BB  "B   "B"BV "J!3"U"J!U33 "TJ! S B3ww3"3BK!" B3""UB3""Uf3BUfKBf UwUfBK!wwfUfBwUfffBI3 wUf fL!UwUUB BUfBI 3" 3 <!3 3Nf"" 3$3U3" UU""BKU3wUf BKwB3wU wUw3I 3BJ3f BUwUHU3B 33 83"3 "3"%"UwU3B 3wHBwwݙ3" w3ww3'UBBf"3UGBw3"3 "wf3U 3B3#3BG"B3(3B  w!FB& fUf FB"B% "*  "BB,  "B"B f  Y fS 'f$%fdfdfdf  f  f  fd33  |U      !$lpx  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~TTTT     Z3"9" [3ff"f3Uf  \UwU33]BB33]U"3Uffw]wUff"Y]"""X^"3U"3wX^wB3wf3^UBB3"_UfBU _UffB   _ 33U"   "B#B  "B   BB]3"J!% "\U33 "J!#"[ J!!Z" B3""UB3""Uf3BK! B3ww3"3BUfRwwfUfBwUfK!Bf UwUfBffBPUwUUBBUfL!3 wUf fBP 3 3 <! 3" 3U 3U3" UU"%f"" 3"BR wB3wU wUKU3wUf Bw3P 3f BUJ 3BwUO 3"3 "3 8U3B 33" % Bwwݙ3" w3wH"UwU3B 3ww3'Bw3"3 "wf3GUBBf"3UU  "B3)3BG3B3#3B B'Fw! B"B&FfUf  #)   " "B#B+  BB j  [ jU 'j'%jgjgjgj  j  j  jh33  U     !   Llp0LfoB"B0*wBf"?3if fB-*UfBUf<U 3fifUfUw-*UUw 9w "i f3* f9-*"f0-" "U<rU0-f Uw<frB0-B w?wr"- 33?o-0B "3" oUBw-0w f3 3f3 *'3 "3-03 3B3"33rB3-*B"6fr"Bf*-f3 BBHH3dO3fL3U[B ^f3(lp08^ :Q N 4" B"BT-f"cf f fBQ'Uf]U fUfUwQ'w ]  fW'fZ3-*-  "fT*"UZw"  UT*UwW"~ BT*wZwo "?-33ZBUrQ-"Zwu UBwQ-f3 ZB**3 "3Q-3B3"T B3Q0Wf3"3!"BfN0BBE00!\E 003! _Er$kHof$hKlU'eNcB *eNcf3*bNb?  b?  eB  kTTTWTTw`Wlp0Lffi"""T3ffNU 3ffUU3Kw "i 3K**!3`rw""BT!fr"ffBN$wrw3K$oBU3" 3H" lw BHf3 *$B H3c  "Hfcf3"3 f"H_ _  b  b  b be  b w z h  6O& qhlp0hT BB"3wyfBfsf3#fm)"*4)'B3B{B" f3Uw Nf"$3'B"B!B xU f3U  QUUfw$f fBf!w wu3 fQw "$fUfUwB"r Qwf3! ffB$*$w  QB"Uw!"fBBB"fow  QUw!UwlUw QwUBfl3 Q33f!"flB Q"!!B!i  QBf3 U!UBwB!"B*$B  ff3Qf3B3"U$3 "3w$fwif3w3"fQ!'B3$`B f3 U""9 fBB$f'"BfU*"cf3UT*"fB36Q0wBf"6wN3f Bfff33K3f9f3 BY!fU6"EBf?3f3}$w3B 6w?"H'B f333?BX J z lp0FLooooooKBxB2BxB>BxB$H"x3w,"x3w8"x3w!EfB9fEf&fB9fEf2fB9fEfBf3?BEf f3?BEf,f3?BEf?EBE"EBE"&EBE"?HEHE&HEff B B3"'fB"Bf B B3"'**wBf"f B B3"'3UfUfwU w"$fcf fB UfUfwU w"$f**UfBUfUfUfwU w"$fU 3f UwfB-"!`fUfUw UwfB-"!'*UUw UwfB-"!w " w w"33!f` fw w"33!f'* fw w"33!fB 30U!B*"f B 30U!B'-" "UB 30U!BUw B0Bf`U Uw B0Bf'-f Uw Uw B0Bf!f" ff0B 3`B " ff0B 3'-B w " ff0B 3$w "0UB Uc"  "0UB U- 33  "0UB U$3 "-" Bc 3 "-" B'0B " 3 "-" B"  BwB f* fBfUBw BwB f* fB'0w f3  BwB f* fBf3  fU f*f w*'3 "3 fU f*f w'03 3B3" fU f*f w3 3B "$ lB3 3B "$ '*B" 3B "$ f fww!wBU UUr"Bf fww!wBU UU*-f3 BBfww!wBU UU<*H!?-H3$?""{$"Bf 3f f 3fi3f$f 3f-EfBf&fBfl3U'fBfHw3x",w3x"~B *w3x"!KBxB2BxBf3*BxB$oooooof+lp0Mb _ \ 0`E -fB *fB *fu6 'lo< 'lo< 'lo?  $riB  $riB  uiE  xcH} xcK` ~]NZM M K]M !Tf u  H] TfuHWQx !fHWfNf'**$fTW!f*Q*WQ'-N*MWQ'M-N'Z*$0Q$TW!*TM !QW'WM*H!fMEWfM`M!  M B] M f fB]fH$]NEcKH-cHK*fEK$iBwN!iBtN!l?No<!? o<$}? r6*z? u6*}f_zfP z`S z`V }eeheee|XaXlp0xPh2 , )W?W? ZB Z? Z?W0 W3*9WWTWTWTWTZQZQZQZQ]E]E]2522252cOlp0F3"{3"B3<3BB3f?ff!B3fE3Bf U'3H3WBB-3]3WBB33]3WB93Z"WB9"]UQBB9U]"KBB9"Z"HU f6"ZBff3ZB 3B Br  !U ZU !f33 Zf33 U3 ZU3 !Z$UU]UUq}zw h _ lp:v  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~~z9z5HI6199SzhhzS9S6S1SSSzzzSS9z3S0Shh״hhShS30SSS9SS9hzSz#zSS99z״9zSz9S SS9Shzhz9zhzzSh9hh"Szz9zh9h999촋ShzhSS h zhzzzSSh99SSzz9zS9Shz z9zSSzShz9hSShS SS SSSS9$zzzSSzhSzhSh z יzShz9Shz99$z9zz9zhSShhShh z9z SzShSz z hz9z zhSz9̋SS9SS SS9 hSSSh z zzz9hz9hSh9S̋ hz hhzS8z zzSz9z9h Sh'Shz7z zzhh9zShh'SS3S9zz SShhz9SSh%Sh1״zz Szz9Szhh#hhSS99S92 S zSShhSS99S9zSz!zSShRh+9zSzh!hzSz.@29I3I~~~ lpv2  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~====Sz zh z9#hz 9 hhhz'9 hhhz3zh z9z9SzSS"zh Sz9zS%Sz9zShSzSShhzh9!z 9״hhhh$9״hhhhhhzh9z hz#hz " z hzhzzSzzz99zhzhSh#hSSzzz9zhz hzzhhSSzzz9zhzhzzhzSzzz99zhzhSh9zSzhh"zSS9S 9zSS9SzzSzhhzhh Sקhz hSS 9zzhS  9zhSSSh 9zhSShSSS 9zzhS9zz z9z#hSz z9Sz Szz z9Szzzz z9 zShz 9zz#z z9zShSh9z z9zS9z 9zz9zSSS z9z S hSSS9zS hSS z9zSSS z9zhzSz zSh S99SSz zhzz hzSz zhzz hzhSz zS'$' Sz'''9h%hSh9'h9''9h%%z%%%hh#9&9z9#hh9#hhhh#9Sz!9(hh9!zSS99!zShSz!9zh 939 hz'9 hz3zh 9===*!lp*  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~CCzh979 hz9 9:zh9SzzS5SzSSSh&SzzShh״939zhh9z9&hh״91zz%z9Shzhzhz9zhzzShS9S hShhzיh99zhzh9S9hhShhzיh99zhzShS hzhz9zhzzSh9Szh h hzhz999hzhz  zhzz9zh S hzhz zh zz9zSzSS  zSSh hSSSzSSh hS hz SS Sz יz!hz zz9Sz zzz9z z יz9 z9z Sz!hhz9 z99z9 zSSzz9z Sz SS9 h S9SSzS zhSSzS zh hzSS9 hz hz hhh ̋zS zSzhzSzS zSzh zzhhz hhh'"h'S( Sz'9h'9h#hh9'99h9(9hz9'9h9z%$S%&Sz%zSzzhhh#9%z9#hh 99$9zhhh#9׋ShSz!9$S99S9!zSh99S9h9"9h hh9S99Sz!9zh 979 hz9 9:zh 9C&lpr  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~||||lEHlSzh 9SHlSSzSSh-lShhz9S-lSzS-lSSS9hhhzיh99zhzShS׋9SSzlSh9hzhzS왙hlS9zhzS z9 lSSSzSSh hSS z lShS9z zzSz9 zSSlShz9 zSSlShSSzS zhS hzlSzS zSzhS9 zlShS'Szh S9SlSh9h'9hS9zzS"9 hz$S%S 9z99!SzzS#S9zhh#9S hShSz9h 9״hh#S9S9SSz!9Sh h׋Sh "Szh 9S9h9< S9S hShzhz9zhzzXSh=h zhh9Y?S z9zh SS S̴h9hz יz zShhz9z SzS9SS9 hSSh̋hz hhz׋zh왴h' 9hzhh9' 9 hz)9 hz S%2SzS'SzSz9#hh29zhh&9zhhS99S9!zS1z$z"9 hz#z9ShzhShzhz99hzzSS9hhShhzיh99zhzj9Szhz h9hzhziz9z 9 hziSz SS  zSSh hSSSiSz יz hS9 z zzi9 z9z Sz h z9 zi 9 hSS hzS zhSSiz hz hhz zS zSzhzjh' hSzSS'j9hh9' h9hh9hh9'k9z% h9h%lzSzzh9#hh9zzSh9#hhn׋Sh9!zS 9S9S9!zS}9 hz 9 hz |||||||lpD4  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~       #?zh9$9hhzz9S9 hz7zhhzShhS5SzzS#SSSSzS5SzzzSSz5hh״9"z9S9zhh5hh״hhS5!Sz3S5SS9hhhzיh9zhzzSh!S9SS9zzz9S Sz9ShzhShzhz99zhzS hzhz9zhzzS5h9h h9 9촋S9Szhzhz zhS59zhzhS99Sz9zzh zz9zS5SSzSSh 99zhSShSSz hSSShz SS SSSh5hS9z יz hzShSzhSSz zz S 9zz יzSS hz9 Sz 9h9zhhS9 z9z zSzz9z SzS9zz 9 hSSzS hSz ׋hzzh̋S 9 zhSShzSS9 hSSSSh 9 zS hhhh9Sz hz zSzhzzzhhz hhzS h hS'  Sh'Sz'Shzzhz9z h9h'9h!hzzS9hh9'z9'S9̙99S %!S9S9z%Sz%S9S9h 9zhh#9"hz9SzSzzh9#hhzhhh#hhSSSzhz 9S9SSz!9#S99S9SShhS׋Sh9!zShh9S99Sz!zSSzhzh 9$9/zS9 hz7zh!hzSzSz999eizz׋h׋hzzzf9f99fS9g9zhSh  1MDlp`@6  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~Y]ʎwٚ 4 0[7 eJ ްm1K ؼNh3`0o/4-j-\e01,aA0sBNR j7?.54oD}y{zss@蚎򊇃m@ljꯐ3g#ݳ |TΔБ]֙=mDxXN%s@cH`5Ǣj?Ô./mcBa2zU*="n!7(mD \T+s@ۛIRj&&C:LvZ I,+.&mD \T+s@HV!`VHR>ej0RmU# tZ.*(B7\o $$mD \V+s@a \~C#,jt*LD=  ι ft)"J~9?) <FzmD \K.s@{1G ի> j}|3Ѵ1_p ռ0Ӓ ˂B+߮!p:6% .qF9 ]"Y2J 6"$ :"к&"_sA\c[5L DbJmJL1LIGGf;jޡZx~F 'JL4/[ t VX9z>LOYy1dh Y*"uB>dzlU ɴiOxwVL T07~h:8`P!ŴjX ^;|KL:/[ xvs_9,qƭtY  %RNlZ @L ^zN> PX+ JL;/[ 9r,ܥ~7Y"UKq#q`(`"L BGشP%sSfg"(L;/[9oY797#!/r7tګ\p"NyL O֢iL20gm0!hoL8/[<ޣUik 0UރͣuqN OL4bO" *GQ:9ߘ`":ld`-÷FG3Ggw3[͵ĺܭt뺧ie]n®ļ96ixϷ؜吝¶vW9i r͊)Τ2΢/󔃡/Wl7-lpr2F  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~;;;z9zIP״D9S9 hzS9/z9zhhS9 9ShhSSSzSS91SSSSS9zhhS1S9z9ShSSzS1SzSS9SS9hzSzz9S SS9ShShzhz99hzzS S9SS9hSz9S SS9S hShhzיh99zhzShSh9hS9촋ShzhzS h9 h9hzSz9촋Sh hzhzSS999SSz9zS h ShS9SS hzS9ShzzhSShS  SSS S̴h9 9ShhSzSSh hSShShSzhSh z יzShzzS  ShzSSShz zzSS9Shz9hhShh z9z SzSh 9 Sh9Shhz9 zS9Szz9̋SS9SS 9 hSSS h Sz Shz9̋SSS9SSzS zhSSh9S̋ hz hhzS ׋zh왴 h9S̋zS zSzhS Sh'S 9hz  Sh(ShzzShhh9'S  hzzShh9(9hSS9SSh%S#S9SS&Shz9Sz9#hhS#hz9Sz9$9SS99S9SShhSS99S9z9!zSSh!S99S9SSSS99S9"9S5zS9 hzSzNzS9 9SzQfQ9fRf> 5 lp6"  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~wwwwwHI״Dhhzz,2ShhSzh 9Shh9S,S2zSSzSSz9-S1Shhz9S,1SzSS9SS9zz zSSSS왴9zSz9S Sz9Shzhhzיh99zhzShSh9)SzzSzhSzh999촋S9ShzhzSSh zhzzzzShS9SzhzS99z z9zhhzz9ShhSSzSSzSSh hSShhzS#zzzzSSSSz zzSS9h9z#z9zSzzzS9zSh9S9 z9 zS9Sz ׋hzzh z hz9zz zhSz9̋SS SSzS zhSSh z zz9zz9hSh9Sz zS zSzhS4z zShzzS99h Sh'Shz3z z9zz999zS9h'9hSS/h9 SzhSS9S9z%Sh- Szz9SzSzzhhh#9SS99S9. h SSSS ׋ShSz!9SNh,zSzh 9Sz9|lww