UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Calibrating the photographic reproduction of colour digital images Heiss, Detlef Guntram 1985

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-UBC_1985_A6_7 H44.pdf [ 6.72MB ]
Metadata
JSON: 831-1.0051873.json
JSON-LD: 831-1.0051873-ld.json
RDF/XML (Pretty): 831-1.0051873-rdf.xml
RDF/JSON: 831-1.0051873-rdf.json
Turtle: 831-1.0051873-turtle.txt
N-Triples: 831-1.0051873-rdf-ntriples.txt
Original Record: 831-1.0051873-source.json
Full Text
831-1.0051873-fulltext.txt
Citation
831-1.0051873.ris

Full Text

CALIBRATING THE PHOTOGRAPHIC REPRODUCTION OF COLOUR DIGITAL IMAGES by DETLEF GUNTRAM HEISS B.Comm. University of British Columbia, 1982. A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE in THE FACULTY OF GRADUATE STUDIES (DEPARTMENT OF COMPUTER SCIENCE) We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA April, 1985 ©Detlef Guntram Heiss, 1985 In presenting t h i s thesis i n p a r t i a l f u l f i l m e n t of the requirements for an advanced degree at the University of B r i t i s h Columbia, I agree that the Library s h a l l make i t f r e e l y available for reference and study. I further agree that permission for extensive copying of t h i s thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. I t i s understood that copying or publication of t h i s thesis for f i n a n c i a l gain s h a l l not be allowed without my written permission. The University of B r i t i s h Columbia 1956 Main Mall Vancouver, Canada V6T 1Y3 DE-6 (3/81) i! A b s t r a c t Colour images can be formed by the combination of stimuli in three primairy colours. As a result, digital colour images are typically represented as a triplet of values, each value corresponding to the stimulus of a primary colour. The precise stimulus that the eye receives as a result of any particular triplet of values depends on the display dev-ice or medium used. Photographic film is one such medium for the display of colour images. This work implements a software system to calibrate the response given to a triplet of values by an arbitrary combination of film recorder and film, in terms of a measurable film property. The implemented system determines the inverse of the film process numerically. It is applied to calibrate the Optronics C-4500 colour film writer of the UBC Laboratory for Computational Vision. Experimental results are described and com-pared in order to estimate the expected accuracy that can be obtained with this device using commercially available film processing. Ill Table of Contents 1. Introduction 1 2. Colour Reproduction and Calibration 3 2.1 Colour Science 3 2.1.1 Human Colour Vision 3 2.1.2 Trichromatic Colour Matching 4 2.1.3 Additive Colour Systems 5 2.1.4 Subtractive Colour Systems 6 2.2 Colour Film 6 2.3 Colour Film Processing 7 2.4 Measuring Film Properties 7 2.4.1 Transmittance and Reflectance 7 2.4.2 Optical Density 8 2.4.3 Integral Density 8 2.4.4 Spectral Density 9 2.4.5 Analytical Density 9 2.4.8 Colourimetric Densities 9 2.5 Photographic Characteristics 9 2.5.1 Film Sensitometry 10 2.5.2 Film Colour Stability 11 2.6 Digital Colour Film Writers 11 2.7 The Analytical Approach to Calibration 13 2.8 The Numerical Approach to Calibration 14 Iv 3. Colour Film Calibration Using the Numerical Approach 15 3.1 Sampling the Colour Film Process 15 3.2 Construction of an Inverted Table 17 3.2.1 Estimating Exposure Values in the Vicinity of a Nearby Sample Point 18 3.2.2 The Coordinate Structure of the Inverted Table 20 3.3 The Table Inversion Algorithm 21 3.4 Using the Inverted Table to Find Expostire Values 23 4. Implementation 24 4.1 The Optronics Film Scanner 24 4.2 The Sampling Process 25 4.3 Determining the Film Response 26 4.4 The Size of the Inverted Table 27 4.5 The Subdivision of Scanner Value Space 28 4.6 Determining Calibration Accuracy 29 5. Results : 30 5.1 Accuracy of the Numerical Approach to Calibration 30 5.1.1 Test Procedure 30 5.1.2 Test Results 32 5.1.3 Evaluation 37 5.2 Accuracy of the Sampling Process 37 5.3 Accuracy of the Film Process 38 6. Conclusion 41 V 6.1 Increasing Calibration Accuracy 41 6.2 Calibrating to an Absolute Standard 42 Bibliography 44 Appendix A - UNIX Programmers Manual for Developed Software 46 Appendix B - Test Data 53 Appendix C - Sample Terminal Session 71 vi List of Figures 2-1 Sensitivity of the Cone Pigments 4 2-2 Typical Characteristic Curve for a Diapositive Film 10 2- 3 Spectral Characteristics of Film Dye Layers and Colour Separation Filter Band Pass 12 3- 1 Overview of the Numerical Calibration Process 16 3-2 A Cell in Scanner Value Space 21 3-3 A Subset of Scanner Value Space 22 5-1 Overview of the Test Procedure 31 5-2 Two Times Enlargement of the Test Pattern A of Exposure Values and the Set B of Exposure Samples for Construction of the Calibration Table 34 5-3 Two Times Enlargement of the Test Film with the Test Pattern A of Ex-posure Values and the Two Test Patterns C of Calibrated Expo-sures 35 5-4 Two Times Enlargement an Uncalibrated and a Calibrated Digital Colour Image 36 v i i List of Tables 4- 1 Average and Maximum Standard Deviation of Scanner Measurements 28 5- 1 Difference in Scanner Values Between Set A and Test Set C - 32 x 32 x 32 Bit Table 33 5-2 Difference in Scanner Values Between Set A and Test Set C - 16 x 16 x 16 Bit Table 33 5-3 Average and Maximum Differences Between Two Sample Values of Equal Exposure Written on the Same Sheet of Film 38 5-4a Differences Between Sample Values of Equal Exposure Written on Different Film, Processed at Different Times 39 5-4b Differences Between Sample Values of Equal Exposure Written on Different Film, Processed at Different Times 40 v i i i Acknowledgements I am grateful to my supervisor, Dr. R.J. Woodham, for his guidance in the preparation of this thesis and for the financial support recieved through a research assistanceship. I would also like to thank Dr. A.K. Mackworth for reading this thesis. Chapter 1 1 C h a p t e r 1 1. Introduction Colour images can be formed by the combination of stimuli in three primary colours. As a result, digital colour images are typically represented as a triplet of values, each value corresponding to the stimulus of a primary colour. The precise stimulus that the eye receives as a result of any particular triplet of values depends on the display dev-ice or medium used. Photographic film is one such medium for the display of colour images. There are many variables that effect the final stimulus the eye receives as a result of a given triplet of values, including the recording device, the attributes of the particular film and the conditions of viewing. This work implements a software system to calibrate the response given to a triplet of values by an arbitrary combination of film recorder and film, in terms of a measurable film property. The implemented system determines the inverse of the film process numerically rather than analytically. The first stage in the process is to determine, for all possible triplets of values writ-ten to a film writer, the resulting response of the film. Once the range of film responses, and the triplets of values written to produce them are known, the inverse of the process r can be found. An inverse table, indexed by film response, is then constructed. From this table the triplets of values required to produce a desired film response can be found. Relevant details of colour science and photographic film technology as well as a dis-cussion of recent research in the calibration of digital colour output devices will be presented in chapter 2. Chapter 3 is a detailed description of the numerical approach to calibration. Chapter 4 describes the implemented calibration procedure and addresses Chapter 1 2 some of the practical issues which arise with this technique. In chapter 5, results describ-ing the stability and reproducibility of the film process, and the accuracy of the calibra-tion procedure, are presented. The summary and conclusions are presented in chapter 6. Appendix A contains a summary of the calibration software developed, along with instructions for its use. The data for the calibration accuracy test can be found in appendix B. Chapter 2 3 C h a p t e r 2 2. C o l o u r R e p r o d u c t i o n and C a l i b r a t i o n In this chapter the fundamentals cf colour reproduction, colour film, and the meas-urement of film colour properties, are presented to provide a framework for the under-standing of the colour reproduction process. As well, recent research regarding the cali-bration of colour processes is presented. 2.1. C o l o u r Science The perception of colour is an attribute of biological vision systems. Any colour reproduction process is ultimately concerned with the reproduction of sensations experi-enced by a human observer. Consequently, the photographic colour process must be based on human colour perception. To provide a basis for the understanding of the colour reproduction process, the relevant properties of human colour vision will be sur-veyed. 2.1.1. Human C o l o u r V i s i o n The human visual system is responsive to electromagnetic radiation in the 400 to 700 nanometer band. The human retina contains two types of light sensitive cells, rods and cones. Rods are primarily responsible for the colourless vision experienced at low illumination levels. The perception of colour is thought to result from the presence of three photo-sensitive pigments in the cones, which absorb in different regions of the visual spectrum. The absorption regions are shown in figure 2-1. The precise mechanism for the perception of colour is not known, although many theories exist [HUNT75]. Chapter 2 4 4 0 0 S O O 6 0 0 7 0 0 WAVELENGTH (nm.) Figure 2-1 - Sensitivity of the Cone Pigments The absorption regions for the three pigments have peak absorptions at 445 (a), 540 (b) and 570 (c) nanometers. The photopic luminosity curve is the sum of the three pigment absorptions (from [PRITC77]) 2.1.2. T r i c h r o m a t i c C o l o u r M a t c h i n g Modern colour reproduction is based on the phenomenon of trichromatic colour matching. By varying the absolute and relative proportions of three coloured lights, chosen from the red, green and blue portions of the spectrum, it is possible to match the appearance of almost any chosen colour. This can be explained in terms of the tri-chromatic theory of colour vision. Chapter 2 5 If the perception of colour depends only on the stimulation of the three photosensi-tive pigments in the cones, then any stimulus which produces the same response as the sample of a chosen colour will be perceived as identical. The spectral composition of two matching stimuli may be very different, although the same colour is perceived. These visually identical but spectrally different stimuli are known as metamers, or metameric pairs [HUNT75]. The difficulty in matching some colours can be explained by the overlap of the pig-ment sensitivity curves. As the pigments can not be individually stimulated, there exist certain stimuli which can not be matched by any combination of the three chosen coloured lights. The colours can however be matched by the addition of another, suit-ably chosen coloured light. The addition of the fourth coloured light can be thought of as adding a negative quantity, and thereby removing an unwanted response. Using this technique allows any sample colour to be matched [PRATT78]. 2.1.3. Additive Colour Systems Additive colour reproduction systems use trichromatic colour matching to repro-duce colours. These systems have inherent defects in their ability to reproduce colour. As seen in the previous section, there are some colours, depending on the choice of primaries (colours of the lights), which can not be reproduced, due to the overlapping sensitivities of the cone pigments. Most real systems are restricted in some way as the choice of pri-maries. Typically the primaries have a broader spectral composition than desired, thereby producing additional unwanted stimuli. Chapter 2 3 2.1.4. Subtractive Colour Systems Whereas additive systems blend differing proportions of red, green and blue light, subtractive systems filter or absorb a multispectral illuminant. Colours are produced by the use of cyan, magenta and yellow dyes, which filter or absorb red, green and blue light respectively. Subtractive systems suffer from the same defects as additive systems, with an additional practical complication that dyes often filter or absorb light in unwanted regions of the spectrum. Of course, the colour perceived also depends on the spectral composition of the viewing illuminant. 2.2. Colour Film Diapositive or "slide" film is viewed by allowing light to pass through the film. Colour is produced by selective filtering of the illuminant. The specific colour produced depends on the individual densities of each dye layer. This is a subtractive system, and therefore is subject to the inherent limitation of both the additive and subtractive sys-tems as previously described. Three light sensitive emulsions are used, with sensitivities in the primaries red, green and blue. During processing each of the red, green and blue sensitive layers form, in areas not originally exposed, dyes which filter the complementary colour to which the emulsion layer is sensitive [EASTM80B]. The blue sensitive layer forms a yellow filtering dye, the green layer a magenta dye, and the red layer a cyan dye. Colour print film works in the same way, however, the dye layers are formed in areas not originally exposed, forming a negative image. This negative image can be used to expose photographic paper, where dye layers form which reflect light complementary to the colour in which it was not exposed. Chapter 2 7 2.3. Colour Film Processing Most commercial colour film processing is done using a continuous rather than a batch process, where processing chemicals are replaced as they are being used. The pro-cess is monitored by the periodic processing and densitometric analysis of calibrated film strips. The process is maintained so that the densities of the control strips stay within preset tolerance limits specified by the film manufacturer. Within these limits, some vari-ance in absolute density and colour balance is to be expected. A good commercial process should have at least two quality attributes. The process should show low sensitometric variability on a short term basis (day to day, hour to hour), and have an average perfor-mance close to the manufacturer's recommendation [EASTM80B]. 2.4. Measuring Film Properties A number of different ways to describe film properties are being used. The following sections outline some of the more common measures. 2.4.1. Transmittance and Reflectance Two of the physical properties exhibited by materials in their interaction with light are transmittance and reflectance. Transmittance refers to the proportion of light energy passed through an object. It is expressed as the percentage of the light at all wavelengths passed through the object to the light incident on it. Reflectance refers to the propor-tion of light reflected by an object. It is expressed as the percentage of light reflected from an object in all directions to that incident on the object [JUDD75]. Chapter 2 8 2.4.2. Optical Density Optical density, or density is the conventional term for expressing the opacity of film. Density is related to the percentage of light transmitted by the following formula: D - log-1 where: T = transmittance D = density and log is logarithm base 10 For reflective media such as photographic prints, transmittance is replaced by reflectance. A density measurement is affected by the spectral distribution of the illuminant, the spectral response and the geometry of the sensor receiving the reflected or transmit-ted light and the spectral properties of the medium being measured. 2.4.3. Integral Density Integral density is the most common measurement used to describe the optical pro-perties of multi-emulsion film products. The opacity or reflectance of a film is deter-mined for three spectrally distinct illuminants. The spectral composition of a single light source is usually altered by the use of filters, selected to have maximum transmission in the red, green and blue portions of the spectrum. These filters are balanced so that media with equal measured densities in red, green and blue are perceived as nearly gray for all practical illuminants. The measurements made by this method are known as integral densities, as the effects of all dye layers are integrated into each measurement. They have no formal relation to any colour standard, but they are well suited to the comparative measurements of a single dye set [HUNT75]. Chapter 2 0 2.4.4. Spectral Density Spectral densities are integral densities taken effectively at one wavelength, rather than over the broader spectral bands characteristic of typical filter / source combina-tions. 2.4.5. Analytical Density Analytical density is the density of single dye layer of a multi-emulsion film, and can be calculated from spectral dye densities if the spectral characteristics of the dyes are known [SCARPA80]. Analytical densities may be adjusted by constants so that equal analytical densities in red, green and blue correspond to an exact grey for a given illuminant. These adjusted densities are known as equivalent neutral densities. 2.4.6. Colourimetric Densities Densities which can be converted by linear transformation into coordinates for a colourimetric system such as the CIE XYZ system can be obtained if suitable filters are chosen. The filters are chosen such that the spectral sensitivities of the light source, filter and sensor combinations duplicate the colour matching functions of a colourimetric sys-tem for some illuminant. The resultant densities are known as colourimetric densities, and can be used to compare films with different dye sets. Other methods of colourimetry can also be employed to find colorimetric coordi-nates, which can in turn be converted to colourimetric densities. 2.5. Photographic Characteristics Photographic materials exhibit certain broad characteristics in the way they respond to exposure. These' characteristics restrict the kinds of calibration strategies which might be used. The following sections illustrate these characteristics. Chapter 2 10 2.5.1. F i l m Sensitometry Sensitometry is the measurement of film sensitivity to exposure. Film exposure is traditionally shown by plotting the resultant film density against the log (base 10) of exposure. This is known as the characteristic curve of the film [EASTM68]. A typical characteristic curve for diapositive film is shown in figure 2-2. Note that the slope of the curve is much greater in the middle than at the ends. These areas of minimal slope are known as the toe and shoulder, of the curve. They are the result of diminishing film response at inadequate and excessive levels of exposure. The relatively straight middle portion of the curve is where the film is most sensitive to changes in exposure. The slope of this middle portion of the curve is known as the gamma of the film, and is the meas-CHARACTERISTIC CURVES I I ! Bl 0 3.00 100 1.00 0.00 LOO EXPOSURE (lux Mcomtt) Figure 2-2 - Typical Characteristic Curve for a Diapositive Film (from EASTM80A]) Chapter 2 11 urement most often used to describe the sensitivity of the film [HUNT75]. 2.5.2. Film Colour Stability Colour film has three light sensitive layers, each layer having its own characteristic curve. As the photographic medium was designed primarily for the recording of light reflected from real scenes, film manufacturers attempt to maintain parallel characteristic curves within the working range of the film. This prevents the colour recorded by the film from changing with differing exposure intensities. The limited range over which the dye forming layers produce a linear response also cause colour shifts to occur with changes in exposure. Consider the case of increasing exposure by a narrow band light source. The dye forming layer most sensitive to the spectral composition of the exposing light will reach its maximum exposure first. The next most sensitive layer will not have yet reached its maximum exposure. Increasing exposure at this point does not appreciably change the density of the most sensitive layer, but does change the density of the next most sensitive layer. This is perceived as a shift in colour, caused by increasing exposure [HUNT75]. 2.8. Digital Colour Film Writers Most digital film writers produce colour images by three successive exposures of a single piece of colour film, in each of the three exposing primaries, red, green and blue. The formation of the film dye layers after processing is approximately proportional to the exposure received. The exact density of the film dye layers depends on the particular characteristics of the filmwriter illuminant / filter combination, the spectral sensitivity of the film dye layers, the film processing and other factors. Chapter 2 1 2 Some colour film writers, such as the OPTRONICS C-4500, are also capable of scanning colour film. The scanning process is similar to the exposure process. The opa-city of the film to light is measured in three successive scans through three colour separation filters recording the respective intensities of the narrow band red, green and blue transmission components [DEIGAN81]. This is shown graphically in figure 2-3. This results in a triplet of values for each scanned point. The scanner triplets do not represent any precise colourimetric specification, but they approximate integral density. Wavelenqth , (nm) Figure 2-3 - Spectral Characteristics of Film Dye Layers and Colour Separation Filter Band Pass (from DIEGAN81]) Chapter 2 13 2.7. The Analytical Approach to Calibration Analytical procedures for the calibration of digital colour display processes have been developed. These techniques quantify most of the relevant parameters which affect the process. Using these parameters the inverse of the film process is calculated. [MCDONN80] describes a procedure by which output triples for a film writer can be calculated for any given colourimetric specification, if that colour is reproducible. The spectral transmission curves of the film dye layers, their spectral exposure sensitivities, the spectral transmission characteristics of the exposing light source, and other parame-ters are directly measured, or obtained from the manufacturer. Using this information the exposure triplets required to produce the desired film response could be calculated. For increased computational efficiency, a sampling of output triples were computed and stored in a look-up table, indexed by colourimetric specification. Those colours that are not directly represented by table entries were computed by tri-linear interpolation [MCDONN80]. No results relating to the accuracy of an actual implementation were presented. A similar approach for the calibration of video monitors has been used. Phosphor chromaticities, phosphor excitations as a result of electron gun voltage, electron gun vol-tages and other parameters are used to construct an analytical model. The model is then inverted to provide the input values for the monitor required to produce colours of a desired colourimetric specification [COWAN83, PALMER82]. The difficulty with the analytical approach is obtaining accurate information regarding the parameters. Manufacturers data are given for generalised or ideal pro-ducts, and therefore lack the necessary accuracy for calibration purposes. Measurements of these parameters can be made using a photospectrometer, however this is both expen-Chapter 2 14 sive and impractical. Both the film process and the response of a video monitor tend to change over time. Therefore, to maintain accuracy, recalibration must take place periodi-cally. 2.8. The Numerical Approach to Calibration Rather than basing the calibration on analytical models, it has been suggested by B.K.P. Horn that one possible approach to the problem is to find the inverse of a colour reproduction system numerically [HORN80], A system for numerically inverting a litho-graphic colour process was developed and implemented [ERWAY78]. The colourimetric specifications of lithographic samples printed with varying proportions of lithographic ink were recorded in a table indexed by ink proportions. The table was then numeri-cally inverted. The resulting inverted table, now indexed by colourimetric specification, was used to look up the required ink proportions. The ink proportions for colourimetric specifications not explicitly represented by the table are estimated by interpolation. This system was based on a single set of lithographic samples, and was not incorporated into working colour process. No quantitative measure of the accuracy was given, how-ever the process was thought to produce excellent results. Three dimensional look up tables have been applied successfully to implement pho-tometric stereo [SILVER80]. In the implemented system, the relationship between the orientation of a surface and intensity of light reflected from three spatially separate light sources is required. A table of surface orientations indexed by intensity of the reflected light from each of the three light sources was constructed. Given the intensity of the reflected light from each of the three sources, the surface orientation could be looked up in the table. The surface orientations for light intensities not explicitly represented the table were determined by interpolation. Chapter 3 15 C h a p t e r 3 3. Colour Film Calibration Using the Numerical Approach Colour film can be calibrated using a numerical approach. The Optronics C-4500 film scanner allows the large number of samples required for numerical calibration to be obtained easily. Colour film recalibration is therefore relatively inexpensive, making it practical to maintain a higher degree of accuracy in a production environment. The Optronics scanner is not calibrated to any exact standard. But, the scanned values do approximate integral dye density. The values obtained from the film scanner are considered adequate as a quantitative measure of film colour and opacity, at least for the comparison of values obtained from the same machine and a single dye set. The calibration process has two distinct stages: sampling of the underlying film pro-cess and the construction of the inverse table. Both stages are discussed in detail in the following sections. Figure 3-1 provides an overview of the calibration process. 3.1. Sampling the Colour Film Process The film medium imposes some practical constraints on how the film process is sampled. There are physical limits to the number of exposure samples that can be printed on a single piece of film. To reduce random sampling error, each exposure sample must be of sufficient size to obtain a number of spatially separate scanner measurements. Allowance must also be made for the arrangement and identification of individual sam-ples on the film. The formation of the film dye layers is dependent on many parameters not directly under the control of the experimenter, such as the film agitation in the developing solu-Chapter 3 10 A set of exposure values (R,G,B) is written on a piece of film. After processing each sample is scanned, yielding triplets (r,g,b) of scanner values. s o re re s. < 9 ASP* »« increasing blue values — > The scanner values (r,g,b) are entered into a 3 dimensional array ordered by exposure values (R,G,B). Each individual cell contains the triplets of scanner values (r,g,b) i v • re ce 3 ' v re increasing blue values —; - The array of scanner values is inverted, resulting in a 3 dimensional table of exposure values (R,G,B) ordered by scanner values (r,g,b). Each individual cell contains a triplet of of exposure estimates (R,G,B). i i v Figure 3-1 - Overview of the Numerical Calibration Process Chapter 3 17 tion, the local- strength of the developer and pre/post exposure storage. These differences are be held to a minimum when all the calibration samples are taken from the same piece of film. These constraints impose a practical limit on the number of samples which can be taken for any calibration process. With an Optronics C-4500, 258 cubed, or approxi-mately sixteen million different exposures can be generated. This makes the brute force approach to calibration, that of writing out and sampling all possible values, impractical. Another approach is to write out the exposure values at intervals. A compromise must be made between the difficulty of using a large number of exposure values and the accuracy of calibration. A sufficient number of samples is required to allow a reasonably accurate estimate of the exposure values required to produce scanner values not actually recorded. The scanner values recorded from the exposure values are arranged in a three dimensional array, indexed by exposure value. Thi3 sample array is ordered by iucreasing exposure, with each dimension of the array corresponding to the exposure received in one of the three primaries. 3.2. Construction of an Inverted Table At this stage the table contains scanned values, indexed by the exposure values that produced them. It is the inverse of the table that is desired, namely the exposure values required to achieve a desired scanner value, indexed by scanner value. Due to the relatively small proportion of all the possible exposure values actually sampled, it is unlikely that the exact scanned values required by any chosen quantisation of the inverse table will be found explicitly. Therefore, when constructing the inverse table, most of the exposure triplets required will have to be estimated from the table data. The Chapter 3 18 construction of the inverted table can be characterised mathematically as follows. Let R, G and B be the exposure values in red, green and blue respectively, written by the film writer, and let r, g and 6 be the numbers scanned by the film scanner. For a given filmwriter / film / processing / scanner combination there is a function / such that: (r,g,b)=f(R,G,B) (In what follows, it will be convenient to consider r, g and 6 separately as functions of R, G and B so that the partial derivatives given below in equations 4.1 have the obvi-ous interpretation.) The calibration process finds the inverse of the function /, so that for any value that can be scanned by the film scanner, the value that needs to be written by the film writer can be found. That is, (R,G,B)=f- i(r,g,b) From the exposure samples, the function / is known for some values R, G and B. (•". ,9j ,bk) = f (^i ,Gj ,Bk ) for some i , j ,k Therefore the inverse of the function for those i, j and k is also known. (/?,, C7y ,Bk) = f _ 1 (r, ,gj ,bk ) for some i , k The inverse of the function for possible triplets of scanned values not found in the sam-ple set must be estimated. 3.2.1. E s t i m a t i n g Exposure Values i n the V i c i n i t y of a Nearby Sample P o i n t Let r, g and 6 be a triplet of scanned values not found explicitly in the sample table. Let r ' , g ' and 6 ' be the scanned values of a nearby exposure sample. The difference between the sample scanner values and the desired scanner values, Ar , Ag , and A6 is then: Chapter 3 19 Ar = r ' - r Ag =g' Ab - 9 6 ' - 6 Let R ' ,G ' and B ' be the exposure values that resulted in the scanned values r ' ,g ' and 6 ' and let AR , AG, and AB be the unknown incremental exposures required to produce the desired triplet of scanner values, then, as a first order approxi-mation: Ar = Ag = A6 = (4.1) Equation 4.1 determines the local change in scanner values corresponding to a local change in exposure. Local differences in scanner values between the sample point and adjacent points in the three dimensional sample table are used to estimate the nine par-tial derivatives required. Then, AR , AG, and AB are found by simultaneously solving equation 4.1. In matrix notation: where: "Ar' 'AR' Ag = A AG .Ab. AB A = dr dg db dR dR dR dr dg db dG dG dG dr dg db dB dB dB (4.2) Chapter 3 20 so that: 'AR' = A ' 1 'AT' AG AB Ab Having determined AR, AG, and AB the exposure values R, G and B required to pro-duce the scanner values r, g and 6 on the film becomes: R = R' +AR G = G' +AG B = B' +AB 3.2.2. The Coordinate Structure of the Inverted Table The subdivision of scanner value space determines the size of the inverted table and the error resulting from the interpolation of scanner values not directly represented by the table. The accuracy of the values estimated depends upon the second derivative of the function {R,G,B) = f- l{r,g,b) and the square of the distance of the desired value from the nearest table point. The finer the quantisation, the smaller the distance between table points, the more accurate the calibration. The subdivision chosen should minimise the interpolation error, while maintaining an overall quantisation level that does not produce a table of a size that overly burdens the available computational resources. An appropriately chosen subdivision of scanner value space determines the coordi-nate structure of the inverse table, and therefore the scanner values to be represented explicitly by the table. Chapter 3 21 3.3. The Table Inversion Algorithm The sampled scanner values are ordered in a three dimensional array, with each dimension of the array corresponding to the exposure received in one of the three pri-maries. The array determines cells of eight adjacent sample points. Each of the eight sample points defines a corner point of a cell in scanner value space (figure 3-2). An n x n x n array would contain (n-1) x (n-1) x (n-1) such cells. Once the scanner values required by the table are known, the problem of inversion is simply to find the cell which contains a desired scanner value, and then to estimate the required exposure values. The algorithm proceeds by considering each of the cells in turn. For each cell, all scanner values to be represented explicitly by inverse table, that could possibly be con-tained within the cell, are checked. The cell is checked by considering each of the eight corner points which define the cell in turn. The three points belonging to the cell along Figure 3-2 - A Cell in Scanner Value Space Chapter 3 22 the orthogonal edges that intersect at the sample point being considered, along with that sample point, are used to define a subset of scanner value space (figure 3-3). If the desired scanner value is within the cell, then it must also be within that subset of scanner value space. If the desired scanner value is found to be within all eight subsets so formed, then the desired scanner value is contained within that cell. The exposure value for the scanner value contained within the cell is estimated from the closest sample value, determined by the sum of squares distance in scanner value space. The points belonging to the cell, along the three orthogonal edges that intersect at a closest sample point, are used to estimate the nine partial derivatives required to determine the matrix A of equation 4.2. The exposure values are then 6a increasing blue values —> > s o • 1 n 9 ca 9 on - sample values CO V V Figure 3-3 - A Subset of Scanner Value Space Chapter 3 23 calculated and entered into the table. After each cell has been checked, the positions in the inverse table not containing exposure values represent scanner values that can not be produced. 3.4. Using the Inverted Table to Find Exposure Values The completed inverse table contains the exposure values required to produce those scanner values represented explicitly by the coordinate structure of the table. When a desired scanner value is not explicitly represented in the inverse table, linear interpola-tion is used to estimate the required exposure values. The interpolation proceeds by finding the closest table location in the table by rounding the desired scanner value to the closest explicitly represented scanner value. Three neighbouring points, along the three orthogonal edges that intersect at a closest table location, are used to estimate the first partial derivatives of exposure with respect to scanner value. If the closest or the neighbouring points do not contain valid exposure values then an attempt is made to estimate the first partial differences from the differences in exposure values between the other points which make up the cubic which encloses the desired value. If three orthogo-nal edges can not be found, then the scanner value is considered to be outside the film writer's ability to produce it. A slightly more restricted interpolation has also been implemented. Each desired scanner value is interpolated as described above. The desired value is then checked to determine if it lies within the convex hull formed by the valid table points which make up the cubic. If the desired value does not lie within the convex hull then it is considered to be outside the film writer's ability to produce it. This restriction can be selected as a software option. Chapter 4 24 C h a p t e r 4 4. Implementation The numerical calibration system described in chapter 3 was implemented to cali-brate the writing of colour film. The resolution of the sampling process, the sampling method, and the size of the inverse table all affect the accuracy of the calibration. In the following sections these issues are discussed and the details of the implementation presented. 4.1. The Optronics Film Scanner The Optronics film scanner used for this implementation was not calibrated to any absolute standard. The scanner values were obtained from the scanner while it was operating in LOG mode with the density range setting set of 0 - 3D. According to the manufacturer's specification, the scanner values thus obtained are proportional to the logarithm of the measured transmittance in each of the three colour scanning colour planes. The spectral characteristics of the colour separation filters are roughly similar to those used by the photographic industry for the measurement of integral film density. The scanner values obtained should therefore be linear transformations of the integral film densities. The scanner values presented in the tables are brightness values, expressed as integers between 0 and 255. Brightness values are inversely related to integral film den-sities. A brightness value of 255 corresponds to an approximate density of 0.0. A bright-ness value of 0 corresponds to highest density measurable by the film scanner. When the scanner is set to the 0 - 3D range, this density is 3.0. Intermediate brightness values are related linearly to density, with a unit decrease in brightness value corresponding to Chapter 4 25 roughly a 0.01 increase in density. 4.2. The Sampling Process The accuracy of the calibration is ultimately limited by the accuracy and stability •with which the film writer and scanner expose and scan film. The average scanner value differences observed between individual samples of equal exposure when two identical sample sets where written on the same physical piece of film was found to be approxi-mately one part in one hundred, with a maximum difference between any two samples of approximately 1 in twenty. The differences observed were independent of both absolute scanner values and the colour separation filter used. A more detailed treatment of these results is given in section 5.2. A number of factors can contribute to the differences in the measured values of samples which have received equal exposure. Certainly, dust or other foreign matter on the film can increase the apparent density of the film by impeding the passage of light. As well, local variations in film orientation on the scanner drum change the incident angle of the scanning light beam. As the angle of incidence decreases, a greater propor-tion of the light may be reflected by the surface of the film, leaving less light to pass through the film, thereby increasing apparent density. Clearly similar effects can also occur during film exposure. Foreign matter on the film, as well differences in film orientation relative to the exposure drum can result in a local decrease in exposure, locally increasing the apparent density of the exposure sam-ple. These effects can be minimised by care in the handling and mounting of the film. Statistical validity is achieved by increasing both the physical dimensions of each sample and the number of individual measurements taken from each sample. Chapter 4 20 Local variations in agitation during film processing can result in uneven image for-mation, causing spatial differences in dye layer formation. By writing and scanning more than one set of samples on the same piece of film, one can detect the magnitude of this effect. When the method of chapter 3 is used to interpolate a value not in the sample set, the interpolation error depends on the second derivatives of the function (r,g,b)=f(R,G,B) and the distance from the sample point. Thus, the accuracy of the inverted table depends on the resolution at which the underlying process is sampled, and the square of the distance of the desired value from the closest sample value. As the number of sam-ples increases, the possible distance of a desired point from a sample value decreases, and the accuracy of the table approaches that of the sampling process. 4.3. Determining the Film Response The following procedure was used to determine the response of a film written by an Optronics C-4500 Colour Film Writer / Scanner. The film writer was configured to write pixels 50 microns across. The drum speed was set for two rotations per second. The exposing filters were selected in the following order, red, blue and green. The film used was KODAK EKTACHROME 200 Professional Colour Film. The C-4500 manual recommends that 200 ASA film be push processed one f-stop when the aforementioned machine configuration is used. The film manufacturer indicates that one feature of this particular film product is that its effective ASA rating may be increased by lengthening the first development time (push processing) [EASTMA80A]. Each colour plane was quantised into 16 different levels. A set of 16 x 16 x 16 = 4096 exposure samples was written on the film, ranging from zero to full exposure in Chapter 4 2 7 each colour plane. Each sample was composed of an 11 by 11 pixel square, each pixel measuring 50 by microns, yielding a sample area of 0.3025 mm2 per exposure value. After processing, nine individual density measurements were taken in each of the scanning filter colours, red, green and blue from the" center of each exposure sample. Each individual measurement was made on a 50 by 50 micron area. The measurements were then arranged in a three dimensional table, each dimension having sixteen distinct divisions corresponding to the original values written. Each ele-ment contains the mean of all the individual measurements made from the corresponding exposure sample. The standard deviation of the individual measurements was computed for each individual exposure sample. The average and maximum deviation was determined for an entire 16 x 16 x 16 = 4096 sample set. Table 4-1 shows the maximum and average stan-dard deviation of the measurements noted for five different 16 x 16 x 16 = 4096 expo-sure sample sets, each written on a separate piece of film. These figures provide some measure of the amount of variation in scanner units of the individual density measure-ments taken from each individual exposure sample. Recall that 1 scanner unit corresponds to approximately 0.01 in density. 4.4. The Size of the Inverted Table The size of the inverted table determines the accuracy of the calibration for points not explicitly represented in the table. The accuracy of the values estimated depends upon the second derivative of the function (f?,C7,B)=/-1 (r,g,b) and the distance of the desired value from the nearest table point. The larger the table, the smaller the distance between table points, the more accurate the calibration. Chapter 4 28 Average and Maximum Standard Deviation of Scanner Measurements Within Each Exposure Sample Over a Sample Set (in scanner units) Set No. 2 3 t [ 5 Filter Avg Max Avg Max Avg Max Avg Max Avg Max Red 2.9 5.8 2.7 7.6 2.8 7.5 2.5 6.0 3.1 8.2 Green 3.3 10.2 3.3 10.4 3.5 11.3 2.8 6.6 3.2 8.3 Blue 2.7 5.5 2.5 5.3 2.5 6.3 2.3 7.4 3.1 7.8 Average 2.9 2.8 2.9 2.5 3.1 Table 4-1 - Average and Maximum Standard Deviation of Measurements 4.5. The Subdivision of Scanner Value Space The intervals bet-ween coordinates in the inverted table used by the implemented calibration are uniform throughout the table. This simplifies the implementation, how-ever it also imposes a uniform subdivision on scanner value space. Increased accuracy might be obtained without increasing the size of the table by having a finer subdivision in certain subregions of scanner value space. Portions of scanner value space, particularly where the sensitivity of the film is changing rapidly, may benefit from finer quantisa-tions. The quantisation of scanner value space in uniform intervals can, under certain conditions, slightly reduce the size of the scanner value space accessible from the inverse table. This can occur near the edge of the scanner value space when the actual space extends beyond the furthest valid table location in that region of the space. The magni-tude of this effect is reduced as the quantisation interval is decreased, as the possible dis-tance from the last valid table point to the edge of the actual space in decreased. Chapter 4 20 4.6. Determining Calibration Accuracy Using the method described in chapter 3, interpolation tables of two sizes were created from the sample data for testing. The smaller one, a 16 X 16 X 16 X 24 bit table, requiring approximately 12K 8 bit bytes of storage, would be suitable for use on a small mini-computer or micro. The larger one, a 32 X 32 X 32 X 24 bit table, requir-ing approximately 98K 8 bit bytes, would be suitable for use on a larger machine. Previous tests had revealed that film samples processed at different times varied considerably in scanned values, despite having received identical exposure. (The details of the tests and the results are presented in section 5.3. This precluded using an absolute measure to determine the accuracy of the calibration. A test of calibration accuracy requires the scanner values from a test sample to be compared with a standard exposure sample to compensate for the changes in film response due to film processing and other variables. The change in film response varies with the absolute level of exposure received, requiring that the standard exposure samples used for comparison be samples of fixed exposure which result in similar scanner values. The comparison of the scanner values from the test sample with those from the standard exposure may produce misleading results. If the difference in results after pro-cessing for equal exposures show primarily a shift in the absolute density of the film pro-duct, and not in the relative density between the dye layers, then although the standard error will be large, the perceived difference colour will be small. Substantial differences in perceived colour could result from errors in the calibration process that change the rela-tive density between dye layers, although the standard error between the standard and test sample would not change significantly. This effect can be reduced if the difference in film response between the sample exposure and test exposure are minimised. Chapter 5 30 Chapter 5 5. Results The accuracy of the calibration depends on a number of factors. Each stage in the film calibration process, sampling, film processing, table inversion and interpolation, can be a source of error. In this chapter the results of three experiments, designed to deter-mine the expected variations introduced at each stage, are presented. Contact print Cibachrome photographic copies of the original exposure and test samples, as well as a sample image are presented in figures 5-2 - 5-4. The process of reproduction and the difference in medium, (the original samples where colour tran-sparencies) cause the copies to differ significantly in colour and intensity. No compensa-tion was made for these differences. However, for the purposes of presentation it was felt that this reproduction technique was adequate. 5.1. Accuracy of the Numerical Approach to Calibration To evaluate the accuracy of the implemented calibration, the scanner values result-ing from the calibrated exposures are compared to scanner values resulting from known exposures. This allows an evaluation of the calibration exclusive of differences in film sensitivity due to film processing. 5.1.1. Test Procedure Figure 5-1 outlines the test procedure. An initial calibration of the film process is performed as described in chapter 3. A set A of exposure values, calibrated to produce scanner values evenly distributed in scanner value space, is chosen as a test pattern. The test pattern is written on film together with a set B of exposure samples to be used Chapter 5 31 test exposures An initial calibration is performed to determine the approximate scanner value space of the Sim. A set A of test exposures is chosen to produce scanner values evenly distributed in scanner value space. us ^^^^^ The set A of exposure samples is written on a piece of film along with a set B of 409Q exposure samples to be used for calibration. 1 Two calibration tables are constructed from the values scanned from the set B of exposure samples. 1 the scanner values obtained from the set A are converted to exposure values using each of the inverted tables produce test sets C. The original exposure set A is written with test sets C on the same piece of film. The sets can then be scanned and compared. Figure 5*1 - Overview of the Test Procedure Chapter 5 32 for calibration. After processing, the film is scanned. The scanner values from with the test pattern A are recorded, and a new calibration table is created from the set B of cali-bration exposure values. Using the new calibration table, the scanner values from the test pattern A are reconverted to exposure values to produce a test pattern C. Both the original unchanged test pattern A and the newly created test pattern C are written on the same film. If the calibration is successful, the scanner values obtained from the test pattern C should be the same as the values obtained from test pattern A written on the film along with test pattern C. 5.1.2. Test Results The test pattern A was comprised of 66 exposure triplets, approximately evenly dis-tributed in scanner value space. A calibration and test was performed as described in section 5-1.1 for a 16 X 16 X 16 X 24 bit table and then repeated for a 32 X 32 X 32 X 24 bit table. A contact sheet copy of the set B of exposure samples written along with the test pattern A is shown in figure 5-2. The average scanner values recorded for test pattern A written along with the set B are presented in appendix B, table 1. A contact sheet copy of the test pattern A written along with the two test patterns C, one for the 32 X 32 X 32 X 24 bit table, and one for the 16 X 16 X 16 X 24 bit table is shown in figure 5-3. The average scanner values recorded from test pattern A written along with the test patterns C are presented in appendix B, table 2. The average scanner values recorded from the test patterns C for the 32 X 32 X 32 X 24 bit table and the 16 X 16 X 16 X 24 bit table are shown in appendix B in tables 3 and 4 respectively. The average and maximum difference between the scanner values obtained from the 66 known exposures from test set A written along with the test sets C and the recon-Chapter 5 33 verted scanner values from test set C for the 32 X 32 X 32 X 24 bit table is shown in table 5-1. Difference in Scanner Values Between Set A and Set C - 32 X 32 X 32 X 24 Bit Table - Colour Average Maximum Range Average Maximum scanner values max. min. range approximate proportion Red 2.3 6 234 60 174 1 in 75 1 in 30 Green 2.8 7 237 50 187 1 in 66 1 in 25 Blue 1.9 6 235 52 183 1 in 87 1 in 30 Average 2.3 6 1 in 80 1 in 28 Table 5-1 - Difference in Scanner Values Between Set A and Test Set C 32 X 32 X 32 X 24 Bit Table The average and maximum difference between the scanner values obtained from the 66 known exposure samples from test set A and the reconverted scanner values from test set C for the 16 X 16 X 16 X 24 bit table is shown in table 5-2. Difference in Scanner Values Between Set A and Test Set C - 16 X 16 X 16 X 24 Bit Table - Colour Average Maximum Range Average Maximum scanner values max. min. range approximate proportion Red 2.6 6 234 60 174 1 in 67 1 in 30 Green 3.2 8 237 50 187 1 in 57 1 in 25 Blue 2.3 6 235 52 183 1 in 80 1 in 30 Average 2.8 7 1 in 70 1 in 28 Table 5-2 - Difference in Scanner Values Between Set A and Test Set C -16 X 16 X 16 X 24 Bit Table Chapter 5 34 Figure 5-2 - Two Times Enlargement of the Test Pattern A of Exposure Values and the Set B of Exposure Samples for Construction of the Calibration Table The small rightmost column of samples is the test pattern A of exposure values. The scanner values associated with these samples can be found in appendix B. The large square grid of samples is the set B of exposure samples for the construction of the cali-bration table. The topmost large square within set B of exposure samples has received no exposure in the red exposing colour. The red exposure increases in each subsequent large square by an equal increment from top to bottom, and then from left to right. Within each large square the topmost row of small squares has received no exposure in the green exposing colour. Green exposure increases by an equal increment from top to bottom. The leftmost column of small squares has received no exposure in the blue exposing colour. Blue exposure increases by an equal increment from left to right. Chapter 5 35 Figure 5-3 - Two Times Enlargement of the Test Film with the Test Pattern A of Exposure Values and the Two Test Patterns C of Calibrated Exposures. The rightmost column of samples is the test pattern A. The middle column of samples are those calibrated by the 32 X 32 X 32 X 24 bit table. The leftmost column of sam-ples are those calibrated by the 16 X 16 X 16 X 24 bit table. The scanner values asso-ciated with these samples can be found in appendix B. Chapter 5 36 Figure 5-4 - Two Times Enlargement an Uncalibrated and a Calibrated Digital Colour Image. The image at the top is an uncalibrated digital colour image. The image on the bottom is a calibrated digital colour image. The data in the calibrated image was mapped into scanner value space so that equal differences in data values are represented as equal differences in scanned values on the film. Chapter 5 37 5.1.3. Evaluation The results show that the numerical approach to calibration of the film process is successful. The average difference between the scanner values obtained by using the calibration tables was 1 part in 80 for the 32 X 32 X 32 X 24 bit table and approxi-mately 1 part in 70 for the 16 X 16 X 16 X 24 bit table. The accuracy of the larger 32 X 32 X 32 X 24 bit table is only slightly better than the 16 X 16 X 16 X 24 bit table. This compares favourably with the variation in scanner values between identical exposure samples of approximately 1 part in 90. (These results are shown in table 5-3) It should be noted that the difference in the results shown in tables 5-1 - 5-2 and table 5-3 are much less in terms of actual scanner values than in approximate propor-tion. This is due to a change in the range of scanner values produced on each piece of film. The range of values, defined as the average difference in scanner values between full exposure and no exposure, was approximately 180 for tables 5-1 - 5-2 and approximately 200 for table 5-3. 5.2. Accuracy of the Sampling Process The accuracy with which the underlying film process can be measured ultimately limits the accuracy of the calibration. To obtain an estimate of the accuracy of the sam-pling process, two identical sample sets B (each consisting of 4096 exposure samples) were written on the same piece of film. After processing , the scanner values obtained from each individual sample in the first set were compared to scanner values from the corresponding sample in the second set. Table 5-3 shows the maximum and average differences in scanner values between individual samples in each scanning colour. Two separate trials were conducted. The film used for the trials was from the same box, but was exposed and processed at different times. The results show average variations in the Chapter 5 38 sampling process to be approximately 1 in 90, with a maximum expected variation of approximately 1 in 30. Differences Between Sam pie Values of Equal Exposure - Sample 1 Colour Average Maximum Range Average Maximum scanner values max. min. range approximate proportion Red Green Blue 2.2 1.8 1.4 7 7 5 239 240 236 39 18 37 200 222 199 1 in 90 1 in 123 1 in 142 1 in 30 1 in 31 1 in 40 Average 1.6 6 1 in 120 1 in 35 Differences Between Sam pie Values of Equal Exposure - Sample 2 Colour Average Maximum Range Average Maximum scanner values max. min. range approximate proportion Red Green Blue 3.2 2.9 2.2 10 11 8 241 241 236 39 17 37 202 224 199 1 in 60 1 in 77 1 in 90 1 in 20 1 in 20 1 in 25 Average 2.5 10 1 in 76 1 in 22 Table 5-3 - Average and Maximum Differences Between Two Sample Values of Equal Exposure Written on Same Sheet of Film 5.3. Accuracy of the Film Process The scanned values obtained from identical exposure sample sets B (each consisting of 4096 exposure samples) written on separate sheets of film and processed at different times, were compared with each other to determine the variation to be expected due to processing and other variables. Results for three separate sheets of film from the same box, but exposed and processed at different times, are tabulated. Comparisons are made between the first sheet exposed, called the standard, and the two other sheets. Chapter 5 30 Sample sheet 1 was processed 4 days after the standard, and sample sheet 2, 20 days. Table 5-4a shows the maximum and average absolute differences in scanner values between individual samples in each scanning colour. The results show average variations in the film process to be approximately 1 in 70, with a maximum expected variation of approximately 1 in 20. Although the stability of the film process is very good in this example, previous results had shown a larger variation. Table 5-4b shows the results of an similar experiment, where the variation was considerably larger. Sample sheet 1 was processed 8 days after the standard, and sample sheet 2, 16 days. The results show aver-age variation in the film process as high as 1 in 20, with a maximum variation of reach-ing 1 in 11. Subsequent investigation revealed that the large variations were due to a decrease in the scanner values of all individual exposure samples in all three colour Differences Between Sample Values of Equal Exposure - Standard and Sample 1 Colour Average Maximum Range Average Maximum scanner values max. min. range approximate proportion Red Green Blue 4.3 3.7 2.4 12 13 10 238 240 235 39 18 34 199 222 201 1 in 47 1 in 60 1 in 83 1 in 17 1 in 17 1 in 23 Average 2.84 12 1 in 63 1 in 19 Differences Between Sample Values of Equal Exposure - Standard and Sample 2 Colour Average Maximum Range Average Maximum scanner values max. min. range approximate proportion Red Green Blue 3.4 3.4 2.0 11 13 6 240 241 236 40 17 41 200 224 195 1 in 60 1 in 65 1 in 100 1 in 18 1 in 17 1 in 33 Average 2.5 10 1 in 75 1 in 22 Table 5-4a - Differences Between Sample Values of Equal Exposure Written on Different Film, Processed at Different Times Chapter 5 40 planes. This is most likely the result of changes in the film development process. These results show that the results after processing can vary significantly with time. Care must be taken to ensure that the difference in the film process does not become to great, as it will affect the the accuracy of the calibration. Differences Between Sample Values of Equal Exposure - Standard and Sample 1 Colour Average Maximum Range Average Maximum scanner values max. min. range approximate proportion Red 3.9 13 238 62 176 1 in 45 1 in 14 Green 4.5 15 241 48 193 1 in 42 1 in 13 Blue 4.7 13 236 68 168 1 in 36 1 in 13 Average 4.6 14 1 in 41 1 in 13 Differences Between Sample Values of Equal Exposure - Standard and Sample 2 Colour scanner values max. min. range approximate proportion Red 10.0 18 239 56 183 1 in 18 1 in 10 Green 10.8 19 242 40 202 1 in 19 1 in 11 Blue 11.4 19 236 58 178 1 in 16 1 in 10 Average 11.2 19 1 in 18 1 in 10 Table 5-4b - Differences Between Sample Values of Equal Exposure Written on Different Film, Processed at Different Times Chapter 0 41 Chapter 6 6. Conclusion The numerical approach to calibration has been successfully implemented to cali-brate the colour film process. The level of calibration accuracy demonstrated is con-sistent with the stability of the process and the accuracy at which it can be sampled. The computational resources required to achieve this level of accuracy are not excessive. The amount of storage required for the inverted interpolation table is dependent on accuracy desired, however the use of a considerably smaller table, 12K bytes rather than 98K bytes, did not seriously reduce the accuracy of the calibration. The number of sam-ples required to adequately sample the the film process are easily obtainable using a film writer / scanner such as the OPTRONICS C-4500. Possible improvements to, and future extensions of the implemented procedure are discussed in the next sections. 6.1. Increasing Calibration Accuracy One way to improve the accuracy of the calibration is to sample the film process at closer intervals in scanner value space. It is not practical to increase the number of exposure samples significantly, as doubling the sampling resolution would result in an eight fold increase in the number of samples. Another approach is to manually calibrate the film writer to match the film being exposed. For this set of experiments, the film writer was adjusted so that many of the exposure values which could be written to the device did not result in any measurable difference in scanner values. Approximately twenty-five percent of the individual samples received too little exposure to change their resultant scanner values significantly from that of the unexposed film. Chapter 0 42 6.2. Calibrating to an Absolute Standard This implementation calibrated the film process to produce desired triplets of scanner values rather than film densities or colours specified by a particular standard. Calibration to an absolute standard such as status AA densitometry or C1E standard colour coordinates could be achieved in a number of ways. Descriptions of two possible methods follow. If the light source / filter / sensor combinations on the scanner itself are linear transforms of the spectral sensitivities of the three densitometric colour separation chan-nels or the spectral curves of the CIE colour tristimulus values, then density or standard colour coordinates can be computed directly from the scanner values. Such an approach would require physical changes to the film scanner, and may prove to be both difficult and expensive. Alternatively, a calibration in terms of an absolute standard could be achieved numerically by the following method. A large number of film samples are exposed and scanned. The film samples can then be measured by a calibrated densitometer or colourimeter. The relationship between the triplets of scanned values, and the densities or colourimetric coordinates would then be known. On the basis of this data, an inverted interpolation table could be constructed. The inverted table could then be used to find densities or colourimetric coordinates from triplets of scanner values for film products with the same dye set. The application of the numerical approach to calibration to this problem would require a slightly different implementation than that used to calibrate film exposure to scanner values. The implemented system relies on the exposure samples to be generated at fixed intervals. Due to the inherent instability in the film process, it is doubtful that samples with the precise scanner values required by a fixed increment table structure Chapter 6 43 implemented could be generated easily. Therefore, either samples with scanner values close to those desired would have to be used, with a corresponding loss of accuracy, or the implementation changed to compensate for difference in each individual sample. Although the implementation would require additional storage and and increase the complexity of data manipulation required, the changes do not appear to pose any theoretical difficulties. Both systems described for calibration to an absolute standard still require imple-mentation and testing to determine their relative merits, feasibility and accuracy. Bibliography 4 4 Bibliography [COWAN83] Cowan, William B., An Inexpensive Scheme For Calibration of a Colour Monitor in Terms of CIE Standard Colour Coordinates, Computer Graphics, Vol. 17, No. 3, pp 315-321, July 1983. [DEIGAN81] Deigan, J., The Mechanics of Color Micro densitometry for Digital Image Processing, Proceedings of the 8th Biennial Workshop on Color Aerial Photography, Luray, Virginia, American Society of Photogrammetry, 1981. [EASTM80A] Eastman Kodak Company, Kodak Color Films for Professional Use, East-man Kodak Company, Rochester, New York, 1980. [EASTM80B] Eastman Kodak Company, Introduction to Color Process Monitoring, Eastman Kodak Company, Rochester, New York, 1980. [EASTM68] Eastman Kodak Company, Basic Photographic Sensitometry Workbook, Eastman Kodak Company, Rochester, New York, 1968. [ERWAY78] Erway, Donald M., Exact Color Reproduction, B.Sc. Thesis, MIT, December, 1978. [HORN80] Horn, Berthold K. P., Exact Reproduction of Color Images, Al Laboratory Working Paper (unpublished), MIT, December, 1980. [HUNT75] Hunt, R. W. G., The Reproduction of Color in Photography, Printing and Television, Halstead Press, U.S.A., 1975. [JUDD75] Judd, Deane B. and Wyszecki G., Color in Science, Business and Industry, John Wiley & Sons Inc., New York, 1975. Bibliography 45 [MCDONN80] McDonnell, M. J., Color Image Calibration, Technical Report 964, University of Maryland, October, 1980. [PALMER80] Palmer, Patricia J., Colour Manipulation of Digital Images, M.Sc. Thesis, University of British Columbia, August, 1982. [PRATT78] Pratt, William K., Digital Image Processing, John Wiley and Sons Inc., New York 1978. [PRITC77] Pritchard, D. H., US Color Television Fundamentals: A Review, SMPTE Journal, Vol. 86, pp. 819-828, November, 1977. [SCARPA78] Scarpace, F. L. and Friedrichs, G. A., A Method of Determining Spectral Analytical Dye Densities, Photogrammetric Engineering and Remote Sensing, pp 1293^1301, Vol. 44, No. 10., October, 1978, [SILVER80] Silver, William M., Determining Shape and Reflectance Using Multiple Images, M.Sc. Thesis, MIT, June, 1980. Appendix A 48 Appendix A 1. Summary of the Software Developed Appendix A contains the UNIX Programmer's Manual pages for the calibration software developed for this thesis. Each manual page contains a description and usage guide for component of the software system. The components are presented in the order that they are required in the calibration process. SQUARE ( 1-UBC ) UNIX Programmer's Manual SQUARE ( 1-UBC ) N A M E square - create a calibration sample set for OPTRONICS calibration SYNOPSIS square [image] [-p] filename DESCRIPTION square creates three image files, corresponding to the three exposure colour planes, red, green and blue. The output files will have the filename given in the command appended with ".r", ".g" and ".b" respectively. The files, when written to the OPTRONICS with the appropriate colour filter will produce the set of sample exposures required for colour film calibration of the OPTRONICS. (Note : the film should be mounted on the drum so that the notch is on the right of the top edge of the film.) square recognises the following options: - p The images will be a positive images, rather than the density values required by the OPTRONICS. The default is density values. A U T H O R Detlef Heiss SEE ALSO veriscan(l-UBC), maketable(l-UBC)) convert( 1-UBC) UNIX 4.2BSD UBC - 15 January 85 48 VERISCAN ( 1-UBC ) UNIX Programmer's Manual VERISCAN ( 1-UBC ) N A M E veriscan - create a table of scanner values to be used by maketable (1-UBC) from a scanned image plane of the calibration sample set produced by square (1-UBC) for OPTRONICS calibration. SYNOPSIS veriscan [options] inputfile tablefile [verification filename] DESCRIPTION veriscan creates a table file containing the average scanner value found in each of the calibration samples squares. A table file is required for each of the three colour planes. The table files should all have the same name, appended with one of ".r", ".g" or ".b", depending on the colour filter used to produce the input file. (Note : the film should be mounted on the scanner so that the film notch is on the bottom of the left edge of the film.) An optional verification file may also be specified. The verification file is an image file of the same dimensions as the input file. It contains a dark pixel in each X-Y location in the input file that was used to compute an average sample value. This allows the input file to be overlain (on a multiple image plane display device) with the verification file to ascertain where in scanned image the sample measurements were taken. As well, the average, minimum and maximum variance of the individual measurements taken within each sample are displayed at the end of run. As most samples are surrounded by by borders which are significantly different in scanner value from the sample itself, a high average or maximum variance indicates a poor choice of input coordinates (see below). Acceptable average and max-imum variances depend on the film type, colour plane scanned and other factors. Acceptable bounds can be determined by overlaying the verification file on the input file and ascertaining that all the measurements were taken from within the samples. The following parameters must be supplied to veriscan using the option facility. —Ix The x-coordinate of the leftmost top pixel of the leftmost top small sample square. -ly The y-coordinate of the leftmost top pixel of the leftmost top small sample square. —rx The x-coordinate of the rightmost top pixel of the rightmost top small sample square. —ry The y-coordinate of the right top pixel of the rightmost top small sample square. -bx The x-coordinate of the leftmost bottom pixel of the leftmost bottom small sample square. —by The y-coordinate of the leftmost bottom pixel of the leftmost bottom small sample square. A U T H O R Detlef Heiss SEE ALSO square( 1-UBC), maketable(l-UBC), convert(l-UBC) UNIX 4.2BSD UBC - 15 January 85 M A K E T A B L E ( 1-UBC ) UNIX Programmer's Manual M A K E T A B L E ( 1-UBC ) N A M E maketable - create a inverted table of exposure values to be used by convert (1-UBC) for calibra-tion of images to be written by the OPTRONICS. SYNOPSIS maketable [options] inputtabletilename invertedtablefile DESCRIPTION maketable creates a inverted table from the three colour plane data table files created by veriscan (1-UBC). The data table files should all have the same name, appended with one of ".g" or ".b", depending on the colour plane scanned to produce the input file. Only the name should be given as the input table file name. The following option may be supplied to maketable using the option facility. -s The size of the desired table may be specified by following the -s parameter with an integer giving the quantisation of the table. The default value is 16, which results in a 16 x 16 x 16 table. - t The largest scanner value coordinate explicitly represented by the table can be specified by following the -m parameter with an integer value. The default value is 255. - b The smallest scanner value to be explicitly represented by the table. Note that the table is quantised by closest integer value, therefore the actual smallest scanner value will be closest modulus of the required quantisation smaller than the smallest scanner value specified. The default value is zero. A U T H O R Detlef Heiss SEE ALSO square(l-UBC), veriscan(l-UBC), convert( 1-UBC) UNIX 4.2BSD UBC - 15 January 85 CONVERT ( 1-UBC ) UNIX Programmer's Manual CONVERT ( 1-UBC ) N A M E convert - convert a positive colour image (three image files containing red, green and blue image planes) into three respective files of calibrated exposure values for the OPTRONICS. SYNOPSIS convert [options] invertedtablefile inputfilename outputfilename [access record file] D E S C R I P T I O N convert creates three image files of calibrated exposure values for the OPTRONICS. The inverted table file is the file created by maketable (1-UBC). The input files should all have the same name, appended with one of ".r", ".g" or ".b", depending on the colour plane. Only the name should be given as the input file name. The output files will have the same format. An optional access record file may also be specified. It contains a graphical representation of the inverted table locations required for conversion of the scanner values given in the image. The access record file is an image file for display on an image display device. The structure of the graphic is as follows. The screen is divided into squares, each square representing a table plane in the red colour plane. The highest table location is the top upper left square. Each subsequent square, from left to right, and then top to bottom, represents the next lower table position. Within each square, pixels decrease, according to position within the square from the maximum to minimum blue from left to right, and maximum to minimum green from top to bottom. The scanner values represented by highest table location and the decrement between entries can be found in the image header of the inverted table file used. If a pixel is turned on, then the table location represented by that location was accessed to pro-vide an estimate of exposure values. If the accessed table value does not contain a valid exposure value, no exposure value for the input scanner value exists. A similar graphic showing valid table locations can be found using the tablegraphic (1-UBC) utility. The density record file can be used to help determine the mapping between input image and scanner value space of the particular film product when it is overlain on a multiplane image display device with a graphic showing the valid inverted table locations. If there are pixels turned on in the access record file that are not turned on in the table graphic, then the mapping of input values to scanner value space will need to be changed. A facility is available which allows some control over the mapping between image input values and scanner values. No representation is given as to the appropriateness or the adequacy of using this facility. For each colour, an absolute shift in in image brightness can be achieved by adding the a given value to each of the red, green and blue input value. This value is be called the shift factor. A reduction in the range of input values can be achieved by multiplying the difference between a reference value and an input value by a reduction factor and then adding it to reference value. The transformation can be mathematically characterised as follows : output value = shift factor + ((input value - reference) * reduction) + reference Rather than output an zero value when the exposure to produce a requested scanner value is not within the scanner value space, the software attempts to estimate a reasonable or close exposure. This feature can be turned off by using the -e and -c options (see below). The following option may be supplied to convert using the option facility. -p The output files will contain brightness values, rather than density values, suitable for UNIX 4.2BSD UBC - 15 January 85 CONVERT ( 1-UBC ) UNIX Programmer's Manual CONVERT ( 1-UBC ) viewing on the COMTAL. The default is density values for the OPTRONICS. -e Suppress the extrapolation of a exposure values for scanner values not found to lie within scanner value space. -c Suppress the estimation of a exposure values for scanner values which are do not have a valid inverted table value at the closest table point. -f Fill pixels for which no exposure value can be found with the adjusted input value, rather than outputting a 0 brightness value. A U T H O R Detlef Heiss SEE ALSO square(l-UBC), maketable(l-UBC), convert( 1-UBC), tablegraphic (1-UBC) UNIX 4.2BSD UBC - 15 January 85 TABLEGRAPHIC ( 1-UBC ) UNIX Programmer's Manual TABLEGRAPHIC ( 1-UBC ) N A M E tablegraphic - print a graphical representation of the inverted table locations containing valid exposure values for comparison with the access record file produced by convert (1-UBC) SYNOPSIS tablegraphic invertedtablefile outpotfilename DESCRIPTION tablegraphic creates an image file showing a graphical representation of the inverted table loca-tions containing valid exposure values. The output file is an image file for display on an image display device. The structure of the graphic is as follows. The screen is divided into squares, each square representing a table plane in the red colour plane. The highest table location is the top upper left square. Each subsequent square, from left to right, and then top to bottom, represents the next lower table position. Within each square, pixels decrease, according to position within the square from the maximum to minimum blue from left to right, and maximum to minimum green from top to bottom. The scanner values represented by highest table location and the decrement between entries can be found in tire image .header of the inverted table file used. The output file can be used to help determine the. mapping between input image and scanner value space of the particular film product when it is overlain on a multiplane image display device with a density record graphic file. See convert (1-UBC). A U T H O R ; " Detlef Heiss SEE ALSO r _ • square( 1-UBC), veriscan(l-UBC), maketable(l-UBC), convert( 1-UBC) UNIX 4.2BSD UBC - 15 January 85 Appendix B 53 Appendix B 1. Tables of Scanner Values Obtained f r o m the Test Sets Appendix B contains the scanner value data for the test made of the accuracy of the calibration. It contains four sections, each section corresponding to a set of data values discussed in section 5.1. The data presented corresponds spatially to the test wedges printed on the film, copies of which are shown in figures 5.2 and 5.3. The larger squares on the test wedges correspond to the segments 0 through 7 in the data tables. The top square corresponds to segment 0, and each subsequent square beneath it increases in its segment number. Within each larger square, there are smaller squares which contain the actual samples. The smaller squares correspond spatially to the indivi-dual film samples. Each individual film sample is represented in the data table by three scanner values. The topmost value is the average value scanner obtained when the film was scanned through the red colour separation filter, the next when scanned through the green filter, and the bottom, the blue, as in the following example: red green blue red green blue red green blue red green blue red green blue red green blue Appendix B 54 The table positions which contain a 0 value for all three of the of the scanner values are squares for which no sample value was printed. Appendix B Test Set A Written Along with the 4006 Calibration Samples table segment 0 0 230 227 0 0 0 0 0 0 231 229 0 0 0 0 0 0 208 175 0 0 0 0 0 0 227 0 0 0 0 0 0 0 206 0 0 0 0 0 0 0 208 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 203 203 0 0 0 0 0 0 207 209 0 0 0 0 0 0 208 181 0 0 0 0 0 0 206 201 0 0 0 0 0 0 181 177 0 0 0 0 0 0 208 175 0 0 0 0 0 0 208 206 0 0 0 0 0 0 166 155 0 0 0 0 0 0 212 179 0 0 0 0 0 0 0 205 0 0 0 0 0 0 0 143 0 0 0 0 0 0 0 182 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B table segment 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 175 179 174 0 0 0 0 0 2 0 5 207 2 0 2 0 0 0 0 0 2 0 6 181 152 0 0 0 0 0 172 171 176 0 0 0 0 0 177 172 175 0 0 0 0 0 200 177 150 0 0 0 0 0 175 172 172 0 0 0 0 0 157 148 146 0 0 0 0 0 2 0 8 177 147 0 0 0 0 0 0 179 177 0 0 0 0 0 0 141 131 0 0 0 0 0 0 188 152 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 151 150 149 152 0 0 0 0 180 179 179 180 0 0 0 0 211 185 155 130 0 0 0 0 0 152 151 145 0 0 0 0 0 156 152 150 0 0 0 0 0 187 150 126 0 0 0 0 0 152 150 151 0 0 0 0 0 134 124 126 0 0 0 0 0 187 150 128 0 0 0 0 0 0 153 154 0 0 0 0 0 0 115 113 0 0 0 0 0 0 155 129 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B table segment 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 127 0 0 0 0 0 0 181 179 0 0 0 0 0 0 211 180 0 0 0 0 0 0 123 124 126 126 129 0 0 0 151 150 151 153 157 0 0 0 206 185 156 129 112 0 0 0 0 124 127 125 120 0 0 0 0 126 129 123 122 0 0 0 0 183 155 127 102 0 0 0 0 129 126 126 128 0 0 0 0 119 109 107 107 0 0 0 0 191 157 130 108 0 0 0 0 0 0 130 125 0 0 0 0 0 0 98 94 0 0 0 0 0 0 133 104 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 107 107 103 104 0 0 0 0 133 130 122 124 0 0 0 0 188 157 126 108 0 0 0 0 107 107 105 107 0 0 0 0 113 107 104 104 0 0 0 0 187 157 131 108 0 0 0 0 0 107 109 108 0 0 0 0 0 97 94 93 0 0 0 0 0 167 132 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B table segment 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 0 0 0 0 0 0 0 112 0 0 0 0 0 0 0 186 0 0 0 0 0 0 0 0 87 90 91 95 0 0 0 0 93 91 87 92 0 0 0 0 160 130 110 92 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B Test Set A Written Along with the Test Sets C table segment 0 0 225 222 0 0 0 0 0 0 226 225 0 0 0 0 0 0 205 170 0 0 0 0 0 0 222 0 0 0 0 0 0 0 199 0 0 0 0 0 0 0 204 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 196 197 0 0 0 0 0 0 201 202 0 0 0 0 0 0 . 204 176 0 0 0 0 0 0 200 194 0 0 0 0 0 0 173 167 0 0 0 0 0 0 203 170 0 0 0 0 0 0 202 199 0 0 0 0 0 0 156 145 0 0 0 0 0 0 207 173 0 0 0 0 0 0 0 199 0 0 0 0 0 0 0 134 0 0 0 0 0 0 0 177 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B table segment 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 167 170 165 0 0 0 0 0 199 200 195 0 0 0 0 0 203 176 147 0 0 0 0 0 163 162 166 0 0 0 0 0 168 164 166 0 0 0 0 0 205 172 142 0 0 0 0 0 166 163 163 0 0 0 0 0 146 139 134 0 0 0 0 0 203 174 141 0 0 0 0 0 0 172 168 0 0 0 0 0 0 133 122 0 0 0 0 0 0 184 147 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 140 136 140 0 0 0 0 170 170 170 170 0 0 0 0 206 180 150 120 0 0 0 0 0 139 141 135 0 0 0 0 0 144 141 139 0 0 0 0 0 180 142 117 0 0 0 0 0 141 137 139 0 0 0 0 0 123 112 112 0 0 0 0 0 181 142 119 0 0 0 0 0 0 142 142 0 0 0 0 0 0 103 101 0 0 0 0 0 0 147 117 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B table segment 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 117 0 0 0 0 0 0 173 170 0 0 0 0 0 0 207 175 0 0 0 0 0 0 111 100 113 113 117 0 0 0 141 137 141 142 146 0 0 0 201 178 150 120 102 0 0 0 0 110 113 113 108 0 0 0 0 114 116 109 109 0 0 0 0 177 148 119 93 0 0 0 0 117 112 114 116 0 0 0 0 107 95 94 93 0 0 0 0 185 149 121 96 0 0 0 0 0 0 118 112 0 0 0 0 0 0 86 82 0 0 0 0 0 0 124 94 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 96 93 90 93 0 0 0 0 120 116 110 112 0 0 0 0 180 146 115 96 0 0 0 0 93 95 94 94 0 0 0 0 100 98 91 91 0 0 0 0 180 149 122 98 0 ' 0 0 0 0 97 96 98 0 0 0 0 0 90 79 82 0 0 0 0 0 161 121 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B table segment 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 76 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 180 0 0 0 0 0 0 0 0 77 76 81 84 0 0 0 0 82 77 75 81 0 0 0 0 152 121 100 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B Test Set C for the 32 x 32 x 32 Calibration Table table segment 0 0 225 223 0 0 0 0 0 0 227 227 0 0 0 0 0 0 205 170 0 0 0 0 0 0 222 0 0 0 0 0 0 0 200 0 0 0 0 0 0 0 207 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 197 198 0 0 0 0 0 0 202 • 206 0 0 0 0 0 0 205 178 0 0 0 0 0 0 199 198 0 0 0 0 0 0 168 170 0 0 0 0 0 0 202 172 0 0 0 0 0 0 201 199 0 0 0 0 0 0 157 146 0 0 0 0 0 0 208 174 0 0 0 0 0 0 0 198 0 0 0 0 0 0 0 136 0 0 0 0 0 0 0 176 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B table segment 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 163 169 165 0 0 0 0 0 196 200 195 0 0 0 0 0 201 177 147 0 0 0 0 0 159 160 167 0 0 0 0 0 166 158 165 0 0 0 0 0 205 173 143 0 0 0 0 0 166 164 161 0 0 0 0 0 145 134 131 0 0 0 0 0 203 173 136 0 0 0 0 0 0 171 174 0 0 0 0 0 0 133 123 0 0 0 0 0 0 186 149 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 3 • 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 137 142 138 140 0 0 0 0 168 173 170 171 0 0 0 0 207 182 146 122 0 0 0 0 0 143 140 130 0 0 0 0 0 147 141 132 0 0 0 0 0 183 144 116 0 0 0 0 0 141 139 140 0 0 0 0 0 120 108 112 0 0 0 0 0 181 142 117 0 0 0 0 0 0 143 143 0 0 0 0 0 0 103 102 0 0 0 0 0 0 148 118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B table segment 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 116 115 0 0 0 0 0 0 172 170 0 0 0 0 0 0 207 172 0 0 0 0 0 0 107 111 112 113 115 0 0 0 136 139 141 144 144 0 0 0 200 179 150 121 102 0 0 0 0 113 113 112 109 0 0 0 0 114 114 109 110 0 0 0 0 177 147 116 94 0 0 0 0 119 113 113 115 0 0 0 0 108 97 93 90 0 0 0 0 186 152 121 97 0 0 0 0 0 0 114 113 0 0 0 0 0 0 85 82 0 0 0 0 0 0 125 94 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 96 96 89 89 0 0 0 0 122 117 109 106 0 0 0 0 185 148 116 96 0 0 0 0 99 92 94 97 0 0 0 0 106 92 91 86 0 0 0 0 186 148 118 100 0 0 0 0 0 97 97. 96 0 0 0 0 0 87 81 80 0 0 0 0 0 161 124 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B table segment 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 0 0 0 0 0 0 0 95 0 0 0 0 0 0 0 178 0 0 0 0 0 0 0 0 73 77 80 82 0 0 0 0 78 76 75 74 0 0 0 0 150 121 98 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B Test Set C f o r the 16 x 16 x 16 C a l i b r a t i o n T able table segment 0 0 229 223 0 0 0 0 0 0 228 227 0 0 0 0 0 0 207 170 0 0 0 0 0 0 222 0 0 0 0 0 0 0 200 0 0 0 0 0 0 0 206 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 196 200 0 0 0 0 0 0 202 207 0 0 0 0 0 0 205 179 0 0 0 0 0 0 198 194 0 0 0 0 0 0 168 168 0 0 0 ' 0 0 0 202 170 0 0 0 0 0 0 200 200 0 0 0 0 0 0 150 145 0 0 0 0 0 0 207 173 0 0 0 0 0 0 0 199 0 0 0 0 0 0 0 132 0 0 0 0 0 0 0 176 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B table segment 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 161 169 166 0 0 0 0 0 196 200 195 0 0 0 0 0 203 176 145 0 0 0 0 0 158 160 166 0 0 0 0 0 165 157 165 0 0 0 0 0 205 171 143 0 0 0 0 0 167 162 163 0 0 0 0 0 146 134 133 0 0 0 0 0 202 172 137 0 0 0 0 0 0 170 165 0 0 0 0 0 0 129 115 0 0 0 0 0 0 186 142 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 o- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 140 137 145 0 0 0 0 169 169 169 173 0 0 0 0 210 181 145 123 0 0 0 0 0 141 140 132 0 0 0 0 0 143 140 132 0 0 0 0 0 181 143 115 0 0 0 0 0 144 139 141 0 0 0 0 0 124 107 112 0 0 0 0 0 187 143 118 0 0 0 0 0 0 145 143 0 0 0 0 0 0 107 97 0 0 0 0 0 0 151 118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B table segment 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 • 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 114 112 0 0 0 0 0 0 170 169 0 0 0 0 0 0 208 172 0 0 0 0 0 0 110 114 117 117 113 0 0 0 139 140 143 145 144 0 0 0 202 180 151 122 103 0 0 0 0 111 116 112 107 0 0 0 0 110 116 n o 104 0 0 0 0 177 148 119 93 0 0 0 0 117 116 115 117 0 0 0 0 105 98 94 91 0 0 0 0 187 153 122 99 0 0 0 0 0 0 115 116 0 0 0 0 0 0 85 81 0 0 0 0 0 0 125 94 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 94 95 91 89 0 0 0 0 116 116 108 104 0 0 0 0 185 150 115 97 0 0 0 0 98 93 95 97 0 0 0 0 102 92 90 88 0 0 0 0 185 149 118 101 0 0 0 0 0 97 94 98 0 0 0 0 0 88 79 77 0 0 0 0 0 162 124 104 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix B 70 table segment 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75 0 0 0 0 0 0 0 97 0 0 0 0 0 0 0 180 0 0 0 0 0 0 0 0 74 79 79 86 0 0 0 0 77 76 73 78 0 0 0 0 152 120 100 84 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 table segment 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Appendix C 71 Appendix C 1. Sample Terminal Session Using the Software Developed The sample terminal session shown below is specific to the computing environment at the UBC Laboratory for Computational Vision. The image manipulation, writing and scanning software as well as the display hardware is unique to this installation. The ses-sion is provided for illustrative purposes only. /* This is a copy of an actual terminal session which demonstrates the use of /* the software developed for the calibration of the OPTRONICS colour writer/ /* scanner. This terminal session details all the procedures required to /* write and scan the film product to be calibrated as well as demonstrating /* the use of the software to calibrate an image for writing. The lines /* prefixed "/*" are comments that have been added to help explain the /* procedures used. The lines prefixed are the actual commands given. /* Lines without a prefix are generated by the software being run. /* /* The first step in the calibration process is to create image files /* containing the sample grid to be written on the film by the OPTRONICS. /* % square /images/tmp/sample square : writing a negative image - density values square : writing colour plane 1 . square : writing colour plane 2 . square : writing colour plane 3 . square : done /* The files are then written on the film using the following procedure. /* Load a sheet of 4 x 5 film on the OPTRONICS film write drum. The notch /* on the film should be on the right hand side of the top edge of the film. /* With the front of the OPTRONICS write drum facing you, mount the /*' film against the rightmost edge of the drum. Care should be taken to /* ensure that the film is mounted snugly and squarely against the edge of /* drum. A good alignment will make subsequent scanning easier and more /* accurate. (See the OPTRONICS manual for operating instructions) /* The OPTRONICS should be configured as follows :-/* DRUM SPEED 2 /* PIXEL SIZE 50 /* WRITE LENS APERTURE 50C /* FILM THICKNESS 5.2 for Ektachrome 200 or as appropriate. /* select red filter /* set Y offset on OPTRONICS to 1.0 cm. /* (don't forget the dark slide) /* /* Write the red image plane of the calibration sample squares /* % ~ woodham/csw/cwrite /images/tmp/sample.r Appendix C cwrite: drum 50.0 microns/pixel cwrite: y-origin must be set manually cwrite: when ready, specify x-origin (in mm) 10.0 cwrite: setting drum offset to 200 (i.e., 10 mm) cwrite: Writing begins... cwrite: Moving back 2992 steps cwrite: Done... /* Select the green filter /* Write the green image plane of the calibration sample squares % ~ woodham/csw/cwrite /images/tmp/sample.g cwrite: drum 50.0 microns/pixel cwrite: y-origin must be set manually cwrite: when ready, specify x-origin (in mm) 10.0 cwrite: setting drum offset to 200 (i.e., 10 mm) cwrite: Writing begins... cwrite: Moving back 2992 steps cwrite: Done... /* Select the blue filter /* Write the blue image plane of the calibration sample squares % woodham/csw/cwrite /images/tmp/sample.b cwrite: drum 50.0 microns/pixel cwrite: y-origin must be set manually cwrite: when ready, specify x-origin (in mm) 10.0 cwrite: setting drum offset to 200 (i.e., 10 mm) cwrite: Writing begins... cwrite: Moving back 2992 steps cwrite: Done... /* /* Dismount the film and have it processed. /* I* . I* After processing the film must is scanned using the following procedure :-/* Mount the film on the film scanning drum using the 4x5 scanning mount. /* Orient the film so that the notch bottom of the left edge of the film. /* Take care to align the sample square as best as possible with the scanning /* axis the film scanner. /* (See the OPTRONICS manual for operating instructions) /* The OPTRONICS should be configured as follows :-/* DRUM SPEED 4 /* SCAN LENS APERTURE 50 /* PIXEL SIZE 50 /* select red scanning filter /* /* The x and y offsets required for scanning the test squares can be Appendix C /* determined by making a test run and displaying the results on the /* TELIDON or RASTER TECH image display device. The offsets should be /* adjusted so that the top left hand corner of the sample squares /* on the film are within 40 pixels of the scanned image. Remember to /* use the -p option for a positive image. The scanned image must be /* transposed for display. /* % photoscan -dx 10 -dy 10 -p -v -xO 10 >align.test photoscan: drum at 50.0 microns photoscan: image is 200 lines, 200 pixels/line photoscan: drum offset 200 (i.e., 10 mm) photoscan: Select desired filter. Hit n when ready n photoscan: Film scanning begins... photoscan: Scan complete... photoscan: moving back 800 steps photoscan: Done % % transpose align.test | tshade % I* After the x nd y offsets are determined, the sample squares can be scanned /•in the three colour planes. /* /* Scan the red colour plane /* % photoscan -dx 45 -dy 45 -p -v -xO 9 >/images/tmp/samplescan.r photoscan: drum at 50.0 microns photoscan: image is 900 lines, 900 pixels/line photoscan: drum offset 180 (i.e., 9 mm) photoscan: Select desired filter. Hit n when ready n photoscan: Film scanning begins... photoscan: Scan complete... photoscan: moving back 3600 steps photoscan: Done % I* I * Select the green filter /* Scan the green colour plane /* % photoscan -dx 45 -dy 45 -p -v -xO 9 >/images/tmp/samplescan.g photoscan: drum at 50.0 microns photoscan: image is 900 lines, 900 pixels/line photoscan: drum offset 180 (i.e., 9 mm) photoscan: Select desired filter. Hit n when ready n photoscan: Film scanning begins... photoscan: Scan complete... photoscan: moving back 3600 steps Appendix C 74 photoscan: Done % I* /* Select the blue filter /* Scan the blue colour plane /* % photoscan -dx 45 -dy 45 -p -v -xO 9 >/images/tmp/samplescan.b photoscan: drum at 50.0 microns photoscan: image is 900 lines, 900 pixels/line photoscan: drum offset 180 (i.e., 9 mm) photoscan: Select desired filter. Hit n when ready n photoscan: Film scanning begins... photoscan: Scan complete... photoscan: moving back 3600 steps photoscan: Done % * The the image files of scanner values must now be compressed in * into data files suitable for the calibration process. For this * procedure the pixel locations of three corners of the sample * squares must be provided. These point can be found easily by * using the RASTER TECH image display device. Segments of the image * image containing the top left corner, the top right corner and * the bottom left corner are displayed, and the RASTER TECH is used * to determine the local pixel coordinates. The local coordinates are * then added to the window offsets to compute the coordinates in the * larger sample square image. The windowed sections should be saved in * files for use in the verification process. * % window -cO -r0 -d256 -w256 < /images/tmp/samplescan.r >samp.c0r0 % window -c650 -rO -d256 -w256 < /images/tmp/samplescan.r >samp.c650r0 % window -cO -r650 -d256 -w256 < /images/tmp/samplescan.r >samp.c0r650 % % rtshade -r samp.cOrO % rtshade -g samp.c650r0 % rtshade -b samp.c0r650 % I * After selection of the corner points, these location are passed to /* veriscan as arguments, (see calibration software manual) /* % veriscan -lx 48 -ly 23 -rx 782 -ry 17 -bx 55 -by 760 /images/tmp/samplescan.r vtable.r /imagesjfi veriscan : average variance of all samples was 8.980858 . veriscan : maximum variance of all samples was 67.085068 . /* After the sample image file has been processed by veriscan, the /* verification file can be windowed in the same manner as the /* sample image files so that the two may be overlain to ascertain which /* which pixels in the image have been selected for measurement of the Appendix C 75 /* film samples. /* % window -cO -r650 -d256 -w256 < /images/tmp/verification >verif.cOrO % window -c650 -rO -d256 -w256 < /images/tmp/verification >verif.c650r0 % window -cO -r650 -d256 -w256 < /images/tmp/verification >verif.c0r650 ox /o % rtshade -g verif.cOrO % rtshade -r samp.c650r0 % rtshade -g verif .c650rO % rtshade -g samp.c0r650 % I* After inspection the of the overlain files has ascertained that the /* correct corner points have been chosen. The other image planes are /* also processed. /* % veriscan -lx 48 -ly 23 -rx 782 -ry 17 -bx 55 -by 760 /images/tmp/samplescan.g vtable.g veriscan : average variance of all samples was 11.235090 . veriscan : maximum variance of all samples was 93.562008 . % veriscan -lx 48 -ly 23 -rx 782 -ry 17 -bx 55 -by 760 /images/tmp/samplescan.b vtable.b veriscan : average variance of all samples was 7.9008561 . veriscan : maximum variance of all samples was 51.568363 . /* The table files are now used to construct the interpolation table /* % maketable -s 32 ttable mg32table % /* Converting Digital Images to Scanner Value Space I* /* A graphical representation of the interpolation table locations filled '/* by exposure values, thereby showing the available scanner value space, /* can be obtained by using the tablegraphic utility. The utility creates /* an image file for display on an image display device. The structure of /* the graphic is similar to that of the interpolation table. The screen is /* divided into squares, each square representing table locations with the /* same red scanner value. The highest red scanner value is represented by /* the top upper left square. Each subsequent square, from left to right, and /* then top to bottom, represents the next lower red scanner value. Within /* each square, the bright pixels represent, according to position within the /* square, maximum to minimum blue from left to right, and maximum to minimum /* green from top to bottom. The scanner values represented by highest table /* location and the decrement between entries can be found in the image /* header of the interpolation table file used. % tablegraphic mg32table mg32graphic tablegraphic : reading interpolation table begins... tablegraphic : interpolation table file = mg32table Appendix C tablegraphic : reading input table finished. % % rtshade -r mg32graphic % j* The first image plane in the RASTER TECH now holds the graphic representing /* scanner Yalue space. A first attempt at mapping the image into scanner /* value space can now be attempted. /* % convert mg32table banner/lake /images/tmp/conv.lake lake.graphic Writing a negative image i.e. density values. Values close to, but not within, film density space will be estimated by the closest table value. Values outside film density space will be extrapolated. Values outside the table bounds will be will be converted to maximum density (black). convert : Do you wish to change the mapping between image colour space convert : and film scanner value space? n convert : reading input table mg32table begins... upper table value is 255, lower table value is 7. increment between table values is 8, table size is 32 convert : reading input table finished, max raw input value in red : 255, min value 2. max raw input value in green : 255, min value 17. max raw input value in blue : 255, min value 19. total number of pixels converted : 65536. number of pixels outside table dimensions : 116. percent 0.177099 number of pixels not within scanner value space : 43155. percent 65.885496 % % rtshade -b lake.graphic /* /* The density record file lake.graphic shows in an identical format to /* the interpolation table graphic representation, the interpolation table /* locations accessed when the image was converted. The two files are /* overlain to show how the image is mapping into scanner value space. /* On the basis of this, and the conversion statistics at the end of /* the conversion, the operator can choose the mapping parameters /* which result in an acceptable mapping /* % convert mg32table banner/lake /images/tmp/conv.lake lake.graphic Writing a negative image i.e. density values. Appendix C Values close to, but not within, film density space will be estimated by the closest table value. Values outside film density space will be extrapolated. Values outside the table bounds will be will be converted to maximum density (black). convert : Do you wish to change the mapping between image colour space convert : and film scanner value space? y convert : If no change is desired enter bracketed values. convert : enter shift factor in red (0) :70 convert : enter shift factor in green (0) :70 convert : enter shift factor in blue (0) :70 convert : enter reduction factor in red (1.0) :.4 convert : enter reduction factor in green (1.0) :.4 convert : enter reduction factor in blue (1.0) :.4 convert : enter reference point :0 convert : reading input table mg32table begins... upper table value is 255, lower table value is 7. increment between table values is 8, table size is 32 convert : reading input table finished, max raw input value in red : 255, min value 2. max raw input value in green : 255, min value 17. max raw input value in blue : 255, min value 19. total number of pixels converted : 65536. number of pixels outside table dimensions : 0. percent 0.000000 number of pixels not within scanner value space : 8. percent 0.012214 convert : number of pixels outside scanner value space : 116. percent 0.177099 % % rtshade -b lake.graphic % j* Once an acceptable mapping has been achieved, the converted image may be /* written to the OPTRONICS. /\ % ~ woodham/csw/cwrite /images/tmp/conv.lake.r cwrite: drum 50.0 microns/pixel cwrite: y-origin must be set manually cwrite: when ready, specify x-origin (in mm) 10 Appendix C cwrite: setting drum offset to 200 (i.e., 10 mm) cwrite: Writing begins... cwrite: Moving back 1024 steps cwrite: Done... % ~ woodham/csw/cwrite /images/tmp/conv.lake.g cwrite: drum 50.0 microns/pixel cwrite: y-origin must be set manually cwrite: when ready, specify x-origin (in mm) 10 cwrite: setting drum offset to 200 (i.e., 10 mm) cwrite: Writing begins... cwrite: Moving back 1024 steps cwrite: Done... % ~ woodham/csw/cwrite /images/tmp/conv.lake.b cwrite: drum 50.0 microns/pixel cwrite: y-origin must be set manually cwrite: when ready, specify x-origin (in mm) 10 cwrite: setting drum offset to 200 (i.e., 10 mm) cwrite: Writing begins... cwrite: Moving back 1024 steps cwrite: Done... % % 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
https://iiif.library.ubc.ca/presentation/dsp.831.1-0051873/manifest

Comment

Related Items