Abstract:
An image acquisition device for microfiche images which uses solid state sensor and supporting electronics to continuously digitize the image at high frame rates, and uses the correlation function of the current frame with respect to the previously saved reference frame to derive the image motion vector, keeping only frames whose image motion vector indicates motion of more than 1 unit of resolution, and reconstruct the acquired image as a mosaic of the save image frames and its associated motion vector.

Description:
FIELD OF THE INVENTION 
     This invention relates to apparatus and method for detecting motion of an object and for capturing a digital representation of an object. The apparatus and method are particularly to suited to the capturing of an image on microfiche or microfilm, such as oil or gas well logging data. 
     CLAIM TO COPYRIGHT 
     A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 
     CROSS-REFERENCE TO DOCUMENT FILED UNDER THE DOCUMENT DISCLOSURE PROGRAM 
     The inventors claim benefits under the document disclosure program in view of a disclosure filed Jun. 19, 1992, as document no. 311,128. 
     BACKGROUND AND SUMMARY OF THE INVENTION 
     Most oil and gas well logs are available only on microfiche or microfilm in analog form and are not readily available in digital form. While there has been some capturing of well logs in digital form during about the past 15 years, most well logs are still not digitized. The benefit of digitized well logs is that they are easily processed using commonly available general purpose computers already in use in the industry. 
     There are currently under development devices that are intended to rasterize images of complete microfiche and store them on optical disc for subsequent access. However, it is not believed that this approach will meet the needs of the oil and gas servicing industry for a convenient, low cost, interactive interface between a general purpose computer and the data residing in microfiche well log libraries. 
     In general, image acquisition devices can be classified into two categories, depending on whether the size of the image to be captured can be projected at the required resolution onto the active sensor area or not. This invention is concerned with the category where the size of the image at the required resolution is larger then the active area of the sensor. This requires a means of controlled movement of the image pass the field of view of the sensor. One method of doing this is to move the image to be acquired with a precision transport device 1 pixel at a time into the field of view of the sensor. The acquired image is the mosaic of successive image separated by the known spatial separation determined by the movement of the transport device. Another method of doing this is to move the image to be acquired or a reflected image from a mirror system at a constant speed past the field of view of the sensor. The acquired image is a mosaic of successive images separated by a spatial separation derived from the image acquisition rate and the velocity at which the image is moved pass the field of view of the sensor. 
     Both of the above techniques require a mechanical coupling of the image to be acquired to the image acquisition device. The quality and ultimate resolution of the image will be determined by the tolerance of this mechanical coupling, the distance moved or the ability to maintain a constant velocity. Since microfiche is moved by hand in the XY plane, it will be appreciated that precision of the mechanical coupling is quite difficult to achieve. 
     The inventors have proposed a new method and apparatus for capturing a digital representation (&#34;image&#34;) of data contained in the XY plane such as a microfiche well log that does not rely on mechanical coupling of the microfiche log to the image acquisition device. 
     In the operation of the present invention, sensors, preferably solid state sensors, are used to capture (acquire and store) in digital form a series of optical images of the two dimensional data. Information in the series of optical images themselves is used to detect the motion of the images. To do this, a subject (current) digitized image is compared with a saved (reference) digitized reference image. The correlation function of the subject image with respect to the reference image is used to calculate the motion of the image in order to determine whether any particular captured image is to be stored in a permanent fashion and to assign location parameters to it. 
     In one aspect of the invention, therefore, the apparatus, which would be attached to a microfiche reader, would sense and measure image motion and provide a rasterized image to a general purpose computer for subsequent processing. 
     This invention does not require the image to be moved by some precise mechanical means past the field of view of the sensor. Without the need for any mechanical coupling, the ultimate resolution that can be achieved is only limited by the optics of the device. The technique used for image acquisition is applicable for arbitrary image motion (subject to a maximum velocity) in two dimensions. 
     In the case where the microfiche record or object being digitized lacks optical features that are resolvable by the sensors, that is, where the image is sparse, it is necessary to use some means to ensure that the image is non-sparse. This may be achieved, for example, by superimposing a grid on the microfiche or attaching some other non-sparse device to the microfiche carrier. This non-sparse device may then be imaged by an area sensor to carry out motion detection in accordance with the principles of the invention. At the same time, the microfiche record is imaged preferably using some other sensor such as a linear sensor and the record may be reconstructed using the image acquired using the linear sensor and an indication of the degree of motion of the non-sparse device. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     There will now be described a preferred embodiment of the invention, with reference to the drawings, by way of illustration, in which like numerals denote like elements and in which: 
     FIG. 1a, 1b and 1c are schematics illustrating the concept of an image motion vector; 
     FIG. 2 is a is a schematic showing the opto-electronic components of one embodiment of the present invention; 
     FIG. 3 is a schematic showing the use of a grid with a microfiche in the operation of the present invention; 
     FIG. 4 is a schematic showing the electronic components of one embodiment of the present invention, including remote board and interface board; 
     FIG. 5 is a schematic illustrating an exposure control and control register for the opto-electronic components of the invention; 
     FIG. 6 is a schematic illustrating a data acquisition circuit for obtaining signals from the opto-electronic components of the invention; and 
     FIG. 7 is a schematic illustrating a data buffer and host upload module for the interface board shown in FIG. 4. 
     Attached hereto as schedule A is a paper copy of the program required to implement the algorithms used in the operation of the present invention. 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     Firstly there will be described the concept of image motion as used in the operation of the present invention, and then the mathematical relationship between a pair of images is described to show how motion between the images may be calculated. Next the components used in the operation of the invention are described. The word &#34;image&#34; as used in this disclosure includes an optical representation or an analog or digital electronic representation of an object. The word &#34;object&#34; includes a microfiche or microfilm record together with a device or means, if necessary, for ensuring that the microfiche or microfilm record includes a non-sparse portion, such means including a reference grid superimposed on the record. 
     The concept of an image motion vector as used in the present invention is illustrated in FIGS. 1a, 1b and 1c. FIG. 1a shows a reference image 14, which is an image which has been acquired using a sensor or scanner and stored. The size of the frame corresponds to the field of view of the sensor. FIG. 1b shows the same image (current or subject image) after motion has occurred (16) and this image too has been acquired with a sensor and stored electronically. The current image is displaced with respect to the reference image. FIG. 1c shows the vector 18 that is a representation of the displacement. This is called the image motion vector. During scanning of the object with the sensor, a series of successive images are acquired, the images 14 and 16 being representative such images. As successive images are acquired, each subject image except the last will in turn become a reference image. 
     An image of the object will be stored permanently only when movement between successive images has occurred. Movement corresponds to the image motion vector being close (within predefined limits) to some preselected threshold, preferable one unit of resolution. The phase spectrum of the Fourier Transform of the correlation function of the subject image with the reference image is preferably used to calculate the image motion vector. The correlation function of the subject image with the reference image itself may also, but less preferably, be used to calculate the image motion vector. The image motion vector is preferably calculated in the operational part of a general purpose computer programmed to carry out the function (as with the software attached hereto). The two dimensional correlation function is given by: ##EQU1## where: N=number of horizontal image pixels, 
     M=number of vertical image pixels, 
     τ x  =horizontal lag, 
     τ y  =vertical lag, 
     φ(τ x , τ y ) is the correlation matrix, 
     X(i, j) is the reference image, 
     and Y(i+τ x , j+τ y ) is the subject image. 
     The image at any particular time is just a translational displacement of the reference image. Equation (1) above is thus an autocorrelation function. The digitized image corresponds to a spatial sampling of the optical image. The sampling period is the centre-to-centre distance between the pixels in the solid state sensor. The correlation matrix φ(τ x , τ y ) will have a maximum value at some location or point φ max  (τ x , τ y ). 
     The image motion vector is preferably calculated as follows: 
     1. Calculate the Discrete Fourier Transform G(f,k) of the correlation matrix φ(τ x ,τ y ). 
     2. Separate the Discrete Fourier Transform G(f,k) into an amplitude spectrum A(f,k) and a phase spectrum Θ(f,k). 
     A(f,k)=G(f,k) G *  (f,k) ##EQU2## where superscript  *  denote complex conjugate. 
     Im {G(f,k)} is the imaginary part of G(f,k). 
     Re {G(f,k)} is the real part of G(f,k). 
     3. The phase spectrum in this case, where the current image is just a translational displacement of the reference image, defines a PLANE in the frequency space (f,k). The projection of this Θ(f,k) plane onto the f axis defines a straight line given by 
     
         Θ(f,0)=2πf(δx) Equation 3 
    
     where δx is the translational displacement of the current image from the reference image in the x direction. 
     Similarly, the projection of the Θ(f,k) plane onto the k axis defines a straight line given by 
     
         Θ(0,k)=2πk(δy) Equation 4 
    
     where δy is the translation displacement of the current image from the reference image in the y direction. 
     Therefore, the motion vector (δx,δy) can be calculated by: 
     
         δx=slope{Θ(f,0)}/(2π) Equation 5 
    
     
         δy=slope{Θ(0,k)}/(2π) Equation 6 
    
     The motion vector (δx,δy) defines the translation displacement of the current image from the reference image. If the translational displacement is insufficient, that is less than some preselected threshold, then it may be assumed that no movement has occurred for the purpose of storing permanently the image of the object. 
     Alternatively, if the correlation matrix is used to calculate the motion vector, the image motion vector is the offset of the maximum correlation value from the zero lag (τ x  =0, τ y  =0) position. If the movement is insufficient, that is, the offset is less than some preselected threshold, then it may be assumed that no movement has occurred. 
     In addition, a sensor with a large linear field of view continuously captures a linear image simultaneously (synchronously) with the two dimension sensor. When the motion vector indicates the image has moved a defined threshold, preferably 1 unit of resolution, the linear image is saved and tagged with its associated motion vector, which is represented by a signal that is generated and stored. The acquired image is reconstructed as a mosaic of the saved linear images, the relative position of which is given by the associated motion vector. 
     This technique requires that the image be non sparse, which may or may not be the case in practice, depending on the particular image being sensed. The non-sparse nature of the image can be ensured by superimposing a reference grid onto the image. The technique of imposing a grid onto the image without changing the image visually is disclosed in the preferred implementation below for the case of a microfiche record. Other methods could be used in accordance with the teachings of the present invention. 
     Referring to FIG. 2, the exemplary apparatus of the invention uses the components of a conventional microfiche reader as illustrated by microfiche carrier tray 11 and microfiche reader lens 21 disposed above the carrier tray to receive the optical image from microfiche passing in conventional fashion across the carrier tray. A grid 10 is placed on top of the glass plate of microfiche carrier tray 11. The grid 10 preferably contains a set of randomly oriented dots since then the correlation function would be a delta function, the correlation being zero except for a lag of (0,0). However, satisfactory results have been obtained with a grid of mutually perpendicular lines, with the grid aligned to the normal XY orientation of the scanner. Evidently, other grids may also be used. A glass plate 12 is placed on top of the grid 10 to keep it perpendicular to the optical axis of the microfiche lens. 
     The microfiche reader lens 21 provides a projected image of an object, such as a microfiche record, in conventional fashion which is intercepted by a beam splitter 22 which will reflect a portion of the light and transmit the rest. The reflected image from the beam splitter 22 is intercepted by a mirror 23 that transmits visible light but reflects infrared light. The boundary between transmission and reflection is preferably around 7000 Angstroms for the preferred embodiment described here. The transmitted visible light from the mirror 23 is intercepted by a polarizing filter 24 to enhance the contrast of the image. The resultant filtered light is then focused by a lens 25 onto a linear solid state sensor 26, which thus is also disposed to receive light from the object. The linear solid state sensor 26 is thereby focused onto the microfiche image. The reflected infrared light is focused by another lens 27 onto a rectangular solid state (area) sensor 28. The rectangular solid state sensor is focused onto the grid on top of the microfiche carrier. The optical path for the infrared light is folded by one or more mirrors 29 to compress the physical extent of the device. 
     FIG. 3 shows the placement of the reference grid 10 on top of the top glass plate 13 of the microfiche carrier, as shown by the arrow 15 with the microfiche placed between the top glass plate 13 and bottom glass plate 17 as shown by the arrow 19. The size of the grid features is approximately 1/1200 to 2/1200 of an inch, with transmission factor of around 80%. The grid features are opaque to both the visible and near infrared. The grid is separated from the microfiche by the thickness of a glass plate, and will be completely out of focus in the focal plane of the image to be acquired, and is not noticeable to the operator. Since the 2 dimensional sensor has a separate optical focus, it can be focused onto the grid image, thus ensuring a non-sparse image for motion detection. There are many advantages to having the 2 dimensional sensor sensing only in the infrared, some of which are: 
     The light intensity that is reflected to the 2 dimensional sensor in the near infrared will not affect the image intensity in the visible. The operator will not miss what is not visible. The microfiche film is more or less transparent to the near infrared. By reflecting out the infrared, the preferred implementation increase the contrast of the image to the linear sensor sensing the visible spectrum. The 2 dimensional sensor also will see only the grid without the &#34;noise&#34; from the visible image, again enhancing its signal to noise ratio. 
     With the number of reflecting surfaces, the preferred implementation uses a polarizing filter to materially increase the contrast of the image. 
     The electronic components of the preferred implementation are shown in FIG. 4, with the major components shown in more detail in FIGS. 5, 6 and 7 and described in the following. A remote board 30 is located inside the microfiche reader housing, and is connected by a multiple wire cable 44 to an interface board 42 plugged into an expansion slot on a host computer 40. The computer 40 may be any general purpose PC with a 386 microprocessor or better. The remote board 30 includes sensors 26 and 28, drivers 36 and 38 for the sensors that generate the control signal to read the sensors, and a data acquisition circuit 34 that includes sensor output signal processing circuitry to convert the output signal of the two dimensional sensor 28 to a black and white image and to convert the output of the linear sensor 26 to multiple grey levels and interface circuitry to receive control signals from the interface board and to transmit the resultant digital images to interface board 42 via cable 44. The data acquisition circuit is described in more detail in the discussion of FIG. 6 below. 
     The host computer interface board 42 includes exposure control and control registers 44 as shown in more detail in FIG. 5 to transmit control signals to the remote board 30. The exposure control 44 is connected to the remote board 30 by a conventional balanced line driver 52, for example an EIA-422 driver. A conventional master clock 53 supplies pulses to start pulse generator 54 which is implemented as a counter that counts the number of master clock pulses and generates a start pulse when the count reaches the content of the exposure control register 55. The exposure control register 55 is in turn controlled in conventional fashion by an address decode 56 and bus transceiver 57, each connected to ISA bus 58 on the host computer 40. 
     The start pulse generated by the exposure control circuit 44 initiates a scan by the sensors 26 and 28 through the mediation of the data acquisition board 34, shown in more detail in FIG. 6. The start pulse is sent simultaneously from the balanced line driver 52 to the linear sensor driver 36 and to the area sensor driver 38. Both the linear sensor driver 36 and the area sensor driver 38 are conventional drivers that are matched to the sensors used and available from the manufacturers of the sensors. The sensor drivers 36 and 38 generate the necessary clocks to read the signals from the sensors. The output from the linear sensor 26 is fed to a conventional black level clamp and level shift 61 and then to a gray level generator 62 to convert the signal to digitized gray levels. At the same time, the master clock signal from the master clock 53 shown in FIG. 5, is supplied to a clock generator 63 which provides a clock whose timing can be used as a data valid clock for the linear sensor graylevel data. The gray level generator 62 is implemented in the preferred embodiment by a 3 voltage comparator (not shown) whose latched output is fed to a priority encoder, which produces a 2 bit graylevel. The reference voltage for the comparator is produced by potentiometers (not shown). However, the gray level generator 62 may have any of various configurations, well known in the art, and need not be further described. The start signal and master clock signal are also supplied by the balanced line driver 52 to the area sensor driver 38 that controls the area sensor 28 and sends a clock signal to the area sensor 28 to read the sensor. In the preferred implementation, the area sensor 28 has 16 parallel output channels. This 16 parallel output channel is fed to a bank of 16 voltage comparators 64 whose reference voltage is controlled by a potentiometer (not shown) in conventional fashion. The output of the comparator 64 is fed to a parallel to serial shift register 65 which produces area sensor binary data that is sent via the balanced line driver 52 to the interface board 42. As with the linear sensor 26, the master clock signal from the master clock 53 is supplied to a clock generator 66 that provides a shift clock signal to the shift register 65 and a data valid clock for the serial area sensor data. 
     When the sensors 26 and 28 are read, the signals are sent to the interface board 42. Processing of the signals is shown in FIG. 7. The received linear sensor data is supplied to a conventional serial to parallel shift register 71 along with the data valid clock to build the data into bytes using the data valid clock as the shift clock. The linear sensor data bytes are then supplied to a conventional latch 72 under control of FIFO load logic 73. The data valid clock is also supplied to the FIFO load logic 73 which counts the data valid clock transitions and enables the latch 72 whenever a byte of data has been built, and then writes the latched byte into FIFO memory circuit 50. The FIFO memory 50 is unloaded and uploaded to the memory 80 of the host computer 40 by conventional a direct memory access control 85 using a 16 bit DMA channel. Whenever the DMA channel is free, which is signified by the conventional DACK signal on the ISA bus, the DMA control 86 latches the output of the FIFO memory 50 using latch 87 and loads the data onto the ISA bus using a conventional bus transceiver 84. At the same time, the host computer is signalled by the DMA control 82 with a conventional DRQ signal to request a DMA cycle. 
     Similar circuitry is used for the area sensor data, this time using serial to parallel shift register 75, FIFO load logic 77, latch 76, FIFO memory 50, DMA control 82, latch 83 and bus transceiver 84. The description of the linear sensor processing applies and need not be repeated. 
     In addition, an interrupt signal is sent to the ISA bus whenever a complete scan has been accessed, which is determined by counting the DRQ signal with an interrupt generator 88 and supplying a conventional interrupt signal IRQ to the ISA bus. 
     The area sensor data and linear sensor data are therefore supplied to the ISA bus 58 of the host computer 40, where it is stored for as long as desired in storage means or memory 80. Image analysis and acquisition and subsequent image composition and display is controlled using a software implementation (signified by the blocks 90 and 91 in FIG. 4). The software implementation may be readily understood from the attached software, the discussion of the mathematical implementation of the correlation function and the description that follows. 
     Image motion is determined as follows: 
     (1) A signal is generated by the control circuitry 44, and sent to both the 2 dimensional sensor driver 38 and the linear sensor driver 36 to initiate a scan. This ensures that the start of the scan for both sensors 26 and 28 are synchronized. 
     (2) For each scan, the 2 dimensional sensor driver 38 generates a sequence of control signals required to read analog video signals from the sensor 28. The analog output signal from the sensor 28 is processed by an analog to digital converter that converts the analog signal to a digital signal of logical 1&#39;s and 0&#39;s. The resultant digital signal is latched and transmitted to the interface board 42. The threshold level between the digital 1 and 0 is controlled by a conventional potentiometer (not shown). 
     (3) Similarly, for each scan, the linear sensor driver 36 generates a sequence of control signals required to read the video signals from the linear sensor 26. The analog output signal is processed by circuitry into digital grey levels. The threshold level for each grey level is controlled by conventional potentiometers (not shown). The digital signals are again latched and sent to the interface board 42. 
     (4) The digital signals from both the 2 dimensional and linear sensors 28 and 26 are stored into memory 50 located on the interface board 42. The digital signal stored in the memory is read and sent to the host computer 40. The preferred implementation uses DMA transfer into an IBM/AT *  or compatible computer for processing, although for one knowledgable in the arts, other methods of data transfer are readily implemented.  *  is a trademark of IBM. 
     (5) When the digital data for a scan from both sensors 28 and 26 has been transferred into the computer, the computer is notified via an interrupt (IRQ). 
     (6) On notification that a complete scan corresponding to the acquisition of an image has been transferred to its memory, the computer processes the data as follows. 
     (a) The computer discards the first scan, since the sensors 28 and 26 are probably over exposed due to the length of time since the previous scan. 
     (b) The computer stores the 2nd scan as the initial &#34;REFERENCE IMAGE&#34;. A &#34;IMAGE COORDINATE&#34; is assigned an initial value of (0,0). The &#34;REFERENCE IMAGE&#34;, &#34;IMAGE COORDINATE&#34; and associated linear scan is stored for subsequent use in the memory 80 as the 1st line of the acquired image. Associated with each &#34;REFERENCE IMAGE&#34; is the threshold distance to the next unit of resolution (pixel). There will be 4 threshold distances as follows 
     (i) T +x , T -x  --threshold distance to the next pixel in the plus and negative X direction. 
     (ii) T +y , T -y  --threshold distance to the next pixel in the plus and negative Y direction. 
     In general, the &#34;IMAGE COORDINATE&#34; will not be in whole pixels, therefore, the threshold distance in the plus and negative direction will differ. 
     (c) From the 3rd scan onward, the computer carries out the following processing of the successive images of the microfiche record: 
     (i) The 3rd scan is acquired and stored as the current image. The correlation matrix of the current image from the 2 dimensional sensor and the &#34;REFERENCE IMAGE&#34; is calculated using the attached software implementation of the correlation function described in Equation 1. The preferred implementation uses a 5×5 matrix, although this can be readily changed to a matrix of arbitrary size. The range of horizontal lag value is (-2,2) and that of the vertical lag value is (-2,2) in the preferred embodiment. 
     (ii) The correlation matrix is searched to locate the element with the maximum value. A 3×3 submatrix of the correlation matrix is defined with the maximum element at the centre. The Discrete Fourier Transform of this 3×3 submatrix is calculated. 
     (iii) The Discrete Fourier Transform of the correlation submatrix (ii above) is used to calculate the phase spectrum as described in Equation (2). 
     (iv) The motion vector (δx,δy), of the current image with respect to the &#34;REFERENCE IMAGE&#34; is calculated as described in Equation 5 and 6. 
     (v) The motion vector (δx,δy) is compared with the threshold distance (T +x , T -x , T +y , T -y ) to check if the image has moved 1 pixel or more with respect to the &#34;REFERENCE IMAGE&#34;. 
     (vi) If the image has not moved a pixel or more in either direction, the current image is discarded. Otherwise, the image having moved 1 or more pixels with respect to the &#34;REFERENCE IMAGE&#34;, the SELECTED IMAGE, which is from the 2 dimensional sensor and corresponds to the saved linear image, is used as the new &#34;REFERENCE IMAGE&#34;. The new &#34;REFERENCE IMAGE&#34;, &#34;IMAGE COORDINATE&#34; and associated linear image is saved in the memory of the computer. The motion vector is added to the &#34;IMAGE COORDINATE&#34; to get a new &#34;IMAGE COORDINATE&#34;. A new set of threshold distances (T +x , T -x , T +y , T -y ) is calculated. 
     The device will continue to acquire and save successive &#34;REFERENCE IMAGE&#34;, &#34;IMAGE COORDINATE&#34; and associated linear image in this manner by repeating steps (i), (ii), (iii), (iv), (v) and (vi), all of which is under the control of the attached software represented by block 90 of FIG. 4. The linear image is acquired from the linear sensor 26, the &#34;REFERENCE IMAGE&#34; is acquired from the 2 dimensional sensor and stored along with their associated &#34;IMAGE COORDINATE&#34; in the memory 80 of the computer until image acquisition is complete. 
     The acquired image is reconstructed from the saved linear images and associated &#34;IMAGE COORDINATE&#34; using the attached software represented by block 91 in FIG. 4. The reconstructed image will be a mosaic of linear images with the first pixel of the linear image located at the pixel coordinate given by the associated &#34;IMAGE COORDINATE&#34;. 
     Alternatively, a more accurate motion vector corresponding to each save image can be recalculated from the saved &#34;REFERENCE IMAGE&#34;. This can be accomplished by using a larger correlation matrix, calculating the Discrete Fourier Transform for a larger submatrix, etc. In this manner, a more accurate set of &#34;IMAGE COORDINATE&#34; can be generated to be used to reconstruct the image. 
     An alternative, but not preferred, manner of saving images and determining image movement is as follows (the  *  suffix on the step number indicates that the step is alternative and not preferred): 
     (b * ) The computer stores the 2nd scan as the initial &#34;REFERENCE IMAGE&#34;. Associated with each &#34;REFERENCE IMAGE&#34;, the computer calculates an auto-correlation value for a lag of (0,1), horizontal lag of 0 and vertical lag of 1. This φ lag  1 (0,1) value is used to determine the threshold of when the image has moved a pixel. The corresponding linear scan is stored for subsequent use in the memory 80 as the 1st line of the acquired image. This linear image will be tagged with an initial &#34;IMAGE COORDINATE&#34; of (0,0). 
     (c * ) From the 3rd scan onward, the computer carries out the following processing of the successive images of the microfiche record: 
     (i * ) The 3rd scan is acquired and stored as the current image. The correlation matrix of the current image from the 2 dimensional sensor and the &#34;REFERENCE IMAGE&#34; is calculated using the attached software implementation of the correlation function described above in Equation 1. The preferred implementation uses a 5×5 matrix, although this can be readily changed to a matrix of arbitrary size, but increasing the size increases the computation effort without a corresponding increase in performance of the process. The range of the horizontal lag value is (-2, 2) and that of the vertical lag value is (-2, 2) in the preferred embodiment. 
     (ii * ) The φ(0,0) element of the correlation matrix of the subject image with the reference image determined from equation 1 is compared with the φ lag  1 (0,1) value of the &#34;REFERENCE IMAGE&#34;. If the value of φ(0,0) is too much larger than the φ lag  1 (0,1) value within definable limits (about 10%), the image has not moved a pixel with respect to the &#34;REFERENCE IMAGE&#34;, and the image data from this scan is discarded. If the value of φ(0,0) is less than or equal to φ lag  1 (0,1) value, the image has moved 1 pixel or more with respect to the &#34;REFERENCE IMAGE&#34;. 
     It might be acceptable in some cases if the linear image corresponding to this subject image were now stored and tagged with its associated image motion vector. The image motion vector is the (x,y) coordinate corresponding to the maximum value of {φ(x,y) for -2≦x≦2 and -2≦y≦2}. However, if a subject image with φ(0,0)≦φ lag  1 (0,1) is always chosen, a systematic bias may creep into the digitized final product in which the resulting image is stretched. This is because choosing φ(0,0)≦φ lag  1 (0,1) guarantees that the image has moved at least a pixel, but in the general case this will be slightly more than a pixel, while the image motion vector tag is in pixel increments. Thus, it is preferable that some subject images where φ(0,0)&gt;φ lag  1 (0,1) be selected as the image whose corresponding linear image will be saved. The preferred way of accomplishing this is to save images temporarily for which φ(0,0)&gt;φ lag  1 (0,1) (but not more than 10% larger) as CANDIDATE IMAGES and not to discard them immediately, and if the value of φ(0,0) of the next subject image is not closer than the φ(0,0) of the CANDIDATE IMAGE to φ lag  1 (0,1) then to save the linear image corresponding to the CANDIDATE IMAGE, but otherwise to save the linear image corresponding to the subject image. In this manner, at least some images will be saved for which φ(0,0)&gt;φ lag  1 (0,1), yet without saving images for which no motion occurred. 
     (iii * ) The SELECTED IMAGE, which is from the 2 dimensional sensor and corresponds to the saved linear image, is used as the new &#34;REFERENCE IMAGE&#34; and a new &#34;LAG (0,1)&#34; calculated. The corresponding image from the linear sensor is saved in the memory of the computer. An &#34;IMAGE COORDINATE&#34; is assigned to the saved image that is equal to the matrix coordinate of the peak correlation value. 
     The device will continue to acquire and save successive images in this manner by repeating steps (i * ), (ii * ) and (iii * ), all of which is under the control of the attached software represented by block 90 of FIG. 4. The images are acquired from the linear sensor 26 and stored along with their associated image motion vectors in the memory 80 of the computer until stopped by the operator. 
     The acquired image is reconstructed from the saved linear images and associated image motion vector using the attached software represented by block 91 in FIG. 4. The reconstructed image will be a mosaic of linear images with the first pixel of the linear image located at the pixel coordinate given by it image motion vector. 
     The optical components used in the invention are conventional and may be obtained from Melles Griot Canada of Nepean, Ontario, for example. An example of a suitable two dimensional sensor 28 is model #RA1662N from EG&amp;G Recticon of Sunnyvale, Calif. An example of a suitable linear sensor 26 is model #RL2048D of EG&amp;G Recticon or Texas Instruments&#39; TC103-1. 
     The method and apparatus of the invention also have application outside of pure image acquisition techniques. For example, the invention can be used to detect the motion and velocity of bubbles in a fluid. In such a case, it is not necessary that an image be permanently stored. It may be enough that the degree of motion (motion vector) is calculated, and the distance moved divided by the sampling interval between sampling of the current and reference images to obtain the velocity of the object. Of course, if desired, the images may also be permanently acquired using the invention. 
     ALTERNATIVE EMBODIMENTS 
     A person skilled in the art could make immaterial modifications to the invention described and claimed in this patent without departing from the essence of the invention.