WO2000028472A1 - Methods and software for color encoding and decoding grayscale images without pixel saturation - Google Patents

Methods and software for color encoding and decoding grayscale images without pixel saturation Download PDF

Info

Publication number
WO2000028472A1
WO2000028472A1 PCT/US1999/026218 US9926218W WO0028472A1 WO 2000028472 A1 WO2000028472 A1 WO 2000028472A1 US 9926218 W US9926218 W US 9926218W WO 0028472 A1 WO0028472 A1 WO 0028472A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
values
matrix
color table
bitmap color
Prior art date
Application number
PCT/US1999/026218
Other languages
French (fr)
Inventor
Ryan D. Higman
Alexander Hivoltze-Jimenez
Original Assignee
Higman Ryan D
Hivoltze Jimenez Alexander
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Higman Ryan D, Hivoltze Jimenez Alexander filed Critical Higman Ryan D
Priority to AU17142/00A priority Critical patent/AU1714200A/en
Publication of WO2000028472A1 publication Critical patent/WO2000028472A1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Definitions

  • the present Invention relates generally to the field of digital imaging and, more particularly, to methods and software for colorizing digital images including, but not limited to, medical diagnostic images.
  • An example of a method for digitizing an analog image is the use of a scanner to scan a photograph or drawing and to create a computer data file that contains a representation of the image.
  • a computer that has been programmed with appropriate software then retrieves the computer data file and generates a digital image on a monitor, screen, or some other display device, based on the analog image information contained in the computer data file.
  • An example of a method for directly creating digitized images is medical ultrasound imaging. Diagnostic ultrasound imaging uses high frequency sound waves to observe a particular organ or anatomical region of the body. Although ultrasound equipment is very sophisticated, the procedure itself is simple and painless. A technologist applies an acoustic gel to the tip of an ultrasound transducer or probe.
  • the transducer or probe is then placed on or in the patient's body and is aimed in the direction of the organ or anatomical structure of interest.
  • the acoustical gel allows the passage of high frequency sound waves (i.e., the interrogating ultrasound) from the transducer or probe to the organ or anatomical structure of interest (e.g., heart chambers, heart valves, heart muscle, carotid (neck) arteries, the arteries and veins in the arms and legs, abdominal aorta, or renal (kidney) arteries).
  • the interrogating ultrasound then reflects off the organ or anatomical structure of interest sending information (i.e., reflected sound waves) back to the probe.
  • the reflected sound waves are then received by the transducer or probe and converted to a digital signal.
  • the digital signal is then used to create a digital image on a TV screen.
  • the digital image is stored in memory or recorded on videotape for subsequent review and interpretation. Echocardiography and
  • Peripheral Vascular ultrasound are widely used as effective diagnostic tools for heart and blood vessel diseases.
  • a digital image is comprised of a two dimensional array of pixels, each of which represents a discrete portion of the two dimensional digital image.
  • the digital images may appear to be black and white or color.
  • Those skilled in the prior art may describe both of these images to be "color,” with the black and white image being more specifically described as “grayscale.” This is particularly true in the case of an 8-bit image that permits 256 levels of color.
  • the computer assigns an R, a G, a B, and an alpha value to each pixel based on the computer data file.
  • the R value represents the red component of the pixel
  • the G value represents the green component of the pixel
  • the B value represents the blue component of the pixel.
  • Each value ranges between 0 and 255.
  • Each pixel is commonly described as having an RGB value. For example, a completely red pixel would have an RGB value of 255,0,0 in which the R component is at its maximum and the G and B components are at their minimum.
  • each pixel has the ability to be black, white, and 254 shades of grey depending on the pixel's RGB value.
  • RGB value of a black pixel is 0,0,0; the RGB value of a white pixel is 255, 255, 255, and the RGB value of a medium grey pixel is 127,127,127.
  • the equivalent R, G, and B values in each pixel results in the components essentially canceling out any "color" being displayed on the monitor and a resulting grayscale image.
  • the computer data file containing the representation of the image may be stored as a matrix of intensity values component and a bitmap color table component.
  • the matrix of intensity values component comprises a single value between 0 and 255 for each pixel.
  • the bitmap color table component comprises a look up table that the computer uses to match an intensity value to an RGB value. For example, a grayscale bitmap color table matches to an intensity value of zero an RGB value of 0,0,0, resulting in a black pixel. Another example is that an intensity value of 255 is associated with an RGB value of 255,255,255, resulting in a white pixel.
  • the bitmap color table may be modified such that a "color" and not a shade of grey is associated with an intensity. For example, instead of a "black" RGB value of 0,0,0 for the lowest intensity value, the bitmap color table may assign a blue RGB value of 0,0,255 for an intensity of zero.
  • color digital images are used to distinguish between vascular tissue in echocardiography.
  • the nature of ultrasound used in echocardiography is such that the amplitude of the reflected sound waves differ based on the density of the tissues that are being examined. The differences in amplitude are a result of tissue of greater density having a more intensity reflection.
  • B color or "pseudo-color” process, which substitutes the grayscale image generated in echocardiography in shades of a single color, such as blue or orange.
  • a benefit of a B color process is that the endocardial edges may be better perceived.
  • a drawback of the B color process is that the monochromatic shades do not distinguish between different types of tissue any better than shades of grey.
  • the prior art also discloses a pixel saturation colorization process useful for identifying different densities that are associated with different vascular tissues, such as left ventricular muscle, fibrous tissue, or calcium.
  • a specific example of the process colorizes high-intensity echos of dense fibrous tissue in red and tissues of lesser density in shades of blue and green.
  • the prior art colorization process takes a grayscale digital density image of 256 levels of intensity of the density and translates it to a maximum of 16 colors and 16 levels of intensity, thereby losing precision of the density measurements.
  • the loss, through colorization, of the 256 levels of intensity is known as "pixel saturation.”
  • pixel saturation any calculations made from the pixel saturated image have a decreased precision as well.
  • the prior art colorization process also requires storage of the both the colorized digital image and the grayscale digital image if precise calculations are to be done, which detrimentally increases the required space to store information.
  • the present invention provides a method and computer program for color encoding and decoding of grayscale images, such as images obtained by digital imaging processes (e.g., ultrasound imaging, CT scanning, MRI scanning, PET scanning, etc.) or other images obtained by analog image signals that can be digitized (e.g., fluroscopy, x-ray, angiography, sonography, etc.), without pixel saturation.
  • digital imaging processes e.g., ultrasound imaging, CT scanning, MRI scanning, PET scanning, etc.
  • analog image signals e.g., fluroscopy, x-ray, angiography, sonography, etc.
  • the invention is applicable to diagnostic imaging processes used in modern medical practice, and may also be applicable to various other medical and non-medical imaging processes such as non-destructive testing or assessment of materials, quality control of manufactured items, inspection of metals for metal fatigue or cracking, etc.
  • a computer program that color encodes a digitized, grayscale image any desired color for any range of intensities, without saturating the underlying pixel information. This is achieved by altering the RGB palette values that are associated with each pixel intensity, rather than changing the pixel values themselves.
  • a method for colorizing any digital image, without pixel saturation comprising the steps of a) providing a digital image that includes an original bitmap color table as well as a matrix of intensity values, b) copying the original bitmap color table into memory so as to create a Temporary Bitmap Color Table, c) copying the original bitmap color table into the Temporary Bitmap Color Table to create a Temporary Palette Array, d) replacing ranges of values on the Temporary Bitmap Color Table with assigned color values to create a Color-Modified Palette Array, e) overwriting the original bitmap color table with the Color-Modified Palette Array while allowing the Original Matrix of Intensity Values to remain unmodified, and f) refreshing the image to generate a colorized image without pixel saturation.
  • a digital image that has been colorized without pixel saturation by the foregoing method may be converted back to the original black and white image by replacing the assigned color values with the original grayscale values, thereby de-colorizing the image and restoring its original grayscale tones.
  • Figure 1 is a flow diagram showing a method for colorization of a digital image without pixel saturation.
  • Figure 2 is a flow diagram showing a method for de-colorization of the colorized image created by the process of Figure 1.
  • Figure 3 is a 5-chamber echocardiographic image that has been colorized in accordance with the present invention, whereupon an image calibration line has been drawn to calibrate the image for distance but not intensity.
  • Figure 4a is a 5-chamber echocardiographic image that has been colorized in accordance with the present invention, whereupon a region of interest has been delineated and an analysis has been performed to determine the percent fibrous tissue and percent calcified tissue within the region of interest.
  • Figure 4b is a 5-chamber echocardiographic image that has been colorized in accordance with the present invention, whereupon a region of interest has been delineated and an analysis has been performed to determine the actual area (mm 2 ) occupied by fibrous tissue and the actual area (mm 2 ) occupied by calcified tissue, within the region of interest .
  • Figure 5a is a 5-chamber echocardiographic image that has been colorized in accordance with the present invention, whereupon a raster has been taken across the right coronary artery to obtain a density reflection profile of the right coronary artery.
  • Figure 5b is a raster graph showing the density reflection profile obtained from the image of Figure 5a.
  • Appendix A is a print out of the source code for the portions of a computer program that perform the methods of the present invention.
  • Figure 1 is a flow chart 10 of a process for displaying digital images is shown according to an embodiment of the invention.
  • the flow chart 10 describes the steps to generate a colorized digital image without pixel saturation from a black & white digital image.
  • an original black and white digital image is provided.
  • the black and white image is generated from a matrix of intensities and an original bitmap color table comprising grayscale RGB values.
  • the black and white image is an 8-bit or 256 color grayscale image and the matrix of intensities comprise values of in a range of between 0 and 255. Other embodiments of the invention may have different ranges for the intensity values.
  • the original bitmap color table of the black and white digital image is a look- up table that a computer uses to assign RGB values to each pixel of the image based on the associated intensity values.
  • a computer is defined as any computation device that is directed at least in part by machine readable code, and the machine readable code may be in form of software, hardware, or a combination of the two.
  • An example of hardware is a functionally connected preprogrammed computer chip or other permanent data storage device.
  • the original black and white digital image is displayed on a screen.
  • a screen is defined as any device from which a user views the black and white digital image, for example, a computer monitor or projection device.
  • the original bitmap color table assigns a four part value for each intensity value.
  • the first three values determine the color of each pixel in the image, or the RGB values.
  • Each RGB value is the same as the intensity of each segment. For example, for an intensity of 0, the RGB value is 0,0,0, which results in a black pixel. For an intensity of 255, the RGB value is 255,255,255, which results in a white pixel. Intensities between 0 and 255 result in a grey pixel which has a larger white component the greater the intensity value.
  • the fourth value, or the alpha value, is not used in the preferred embodiment of the invention.
  • a temporary bitmap color array is defined in the memory of a computer. This step 14 may performed by the sub-routine entitled GETVICPALETTE of the computer program source code appended hereto as Appendix A.
  • the temporary bitmap color array is defined to enable the original bitmap color table to be copied thereinto. This step is not necessary in some embodiments of the invention, which depends on the language of the machine readable code.
  • the original bitmap color table comprising grayscale RGB values is copied into the predefined bitmap color table array. This step 16 may also performed by the sub-routine entitled GETVICPALETTE of the computer program source code appended hereto as Appendix A.
  • step 18 the grayscale RGB values are replaced with assigned RGB values.
  • This step 18 may performed by the sub-routine entitled CHANGECOLOR of the computer program source code appended hereto as Appendix A.
  • the assigned RGB values are based on what colors are to represent what ranges of intensity values. For example, intensity values having a range of 0-50 are assigned to be red, intensity values having a range of 51-125 are assigned to be orange, intensity values having a range of 126-200 are assigned to be yellow, and intensity values having a range of 201-255 are assigned to be blue, each of which has an associated RGB value that produces the desired pixel color.
  • the assignment of the RGB values for each range of intensity values is predefined in the machine readable code that directs the computer.
  • the intensity ranges and the RGB values for each range are assigned by the user of the computer.
  • the user may modify the machine readable code to change the predefined assigned RGB values for the intensity ranges, change the intensity ranges, or a combination of the two.
  • step 120 of the invention the image on the screen is refreshed to generate a colorized image without pixel saturation.
  • This step 120 may be performed by the sub-routines entitled SETVICPALETTE and CHANGECOLOR of the computer program source code appended hereto as Appendix A.
  • the colorized image is generated from the matrix of intensity values and the assigned RGB values in the temporary bitmap color array.
  • the matrix of intensity values is preserved or saved, thus colorizing the black and white image does not result in loss of intensity values.
  • This aspect of the invention permits the user, or a machine readable code, to direct the computer to analyze at least a portion of the colorized image without loss of the precision of the underlying matrix of intensity values. For example, a portion of the colorized image, such as an area, is selected and analyzed as a function of the matrix of intensity values associated with the colorized image portion.
  • An example of an analysis is that the percentage of pixels in the portion of the colorized image associated with intensity values of a specific range or a set of ranges.
  • Another analysis example is a raster that is defined by the user on the colorized image and a line plot of the intensity values associated with the pixels through which the raster is drawn is created.
  • Other embodiments of the invention comprise other analytic procedures, some of which as described below in more detail.
  • the computer stores or preserves the original matrix of intensity values, thus reducing the amount of computer memory required to reproduce both color and black and white digital images.
  • Other embodiments of the invention may store both the colorized digital image and the black and white digital image.
  • a flow chart 130 discloses the steps in an embodiment of the invention to convert the colorized digital image back into a black and white digital image.
  • step 132 the colorized digital image generated from the matrix of intensity values and the RGB values in the temporary bitmap color array are provided.
  • step 134 the bitmap color table of the image provided in step 132 is copied into memory to create a Temporary Bitmap Color Table. This step 134 may performed by the sub-routine entitled GETVICPALETTE of the computer program source code appended hereto as Appendix A.
  • step 136 the bitmap color table of the colorized image provided in step 132 is copied into the Temporary Bitmap Color Table created in step 134 to thereby create a Color-Modified Palette Array.
  • This step 136 may performed along with step 134 by the sub-routine entitled GETVICPALETTE of the computer program source code appended hereto as Appendix A.
  • step 138 the assigned color values contained in the bitmap color table are replaced with the grayscale values from the original black and white image (step 12 of Figure 1 ) to create a Non-
  • This step 138 may performed by the sub-routine entitled REMOVECOLOR of the computer program source code appended hereto as Appendix A.
  • step 140 the original bitmap color table of the colorized image (provided in step 132) is then overwritten with the non-color-modified Palette Array while allowing the original matrix of intensity values to remain unmodified. After such overwriting has been accomplished, the image on the screen is refreshed, thereby providing the original black and white digital image that existed in step 12 of figure 1.
  • This step 140 may performed by the sub-routines entitled SETVICPALETTE and REMOVECOLOR of the computer program source code appended hereto as
  • another colorized digital image is generated by replacing the RGB values in the temporary bitmap color array with another set of assigned RGB values.
  • the other set of assigned RGB values result in the other colorized digital image when the image on the screen is refreshed.
  • Embodiments of the invention may be used to generate and analyze images representing property characteristics of an object. Specific examples of objects and property characteristics are described below. Some general examples of objects are body parts of patients, exteriors of structures, manufactured parts, and any other object that is representable with a digital image.
  • the digital images may be generated through ultrasound imaging, CT scanning, MRI scanning, PET scanning directly. In other embodiments of the invention, the image is produced by analog image signals that are subsequently digitized, such as those produced through fluroscopy, x-ray, angiography, sonography for example.
  • Embodiments of the invention may be used to analyze for density, structural integrity, thermodynamic properties for example.
  • one area in which the invention is particularly applicable is in the colorization of diagnostic medical images, such as images of the heart and blood vessels obtained by cardiac ultrasound (e.g., echocardiography, M- mode echocardiography, transesophogeal echocardiography, etc.).
  • cardiac ultrasound e.g., echocardiography, M- mode echocardiography, transesophogeal echocardiography, etc.
  • a black and white digital image produced through coronary ultrasound i.e., echocardiography
  • tissue having different densities is represented through different colors.
  • a densitometric analysis may be performed.
  • the colorized image is stored in a file format that supports palette color information, such as PCX (*.pcx).
  • the visual identification of the different tissue represented in the digital image is enhanced through the choice of colors representing the different tissue. It is well known by those skilled in the art that the different tissues of interest represented in the digital image have differing mean densities.
  • the left ventricular muscle which has a density such that the intensity values of it fall in a range of 30 through 69, is represented by blue-green and the RGB values are (0, 128, 128) for it.
  • Calcified tissue or more specifically Grade 3 antherosclerosis under the AHA classification scheme, which has a density such that the intensity values of it fall in a range of 200 through 255, is represented by white and the RGB values are (255, 255, 255)
  • Other embodiments of the invention may have other colors associated with the different types of tissue.
  • blue on gold images are produced by subtracting predetermined density levels such that fibrosis is emphasized.
  • Figure 3 show 5-chamber echocardiographic images 300, 320, 340 of the coronary vasculature of a human patient.
  • the computer is initially calibrated for distance by marking a line 302 adjacent the image 300 and inputting the known distance, in centimeters, to be assigned to the length of the line 302.
  • the computer program of this invention then establishes a pixel per unit length calibration on this basis.
  • an area of interest is delineated by the creation of a perimeter marking 322 on the image screen.
  • This perimeter marking 322 may be a rectangle as shown in Figure 4a or any other symmetrical or non-symmetrical area-defining marking.
  • the perimeter marking 322 is positioned over a portion of the left anterior descending coronary artery.
  • the operator inputs an instruction for the computer to determine the amount of fibrous and calcified tissue within the perimeter marking 322 by clicking the "analyze fibrous tissue" icon 325 within the tissue analysis window 323.
  • the computer program then calculates, on the basis of the image intensity values for the portion of the image that is within the perimeter marking 322, the relative percentages of fibrous and calcified tissue present within that area of interest.
  • the percentage of fibrous tissue 324 and the percentage of calcified tissue 326 are then displayed in the tissue analysis window 323, as shown.
  • the computer has determined that 8.8% percent of the tissue within the perimeter marking 322 is fibrous and 0.0% of the tissue within the perimeter marking 322 is calcified.
  • FIG 4b shows another image 340 wherein a tissue density analysis is obtained by the same methodology as described hereabove in this example, but wherein the computer program is instructed by the operator to determine the actual area (in mm 2 ) within a perimeter marking 322a located over the right coronary artery that is occupied by fibrous and calcified tissues.
  • the tissue analysis window now displays the fibrous tissue area 324b and the calcified tissue area 326b within the perimeter marking 322b.
  • 3507.8 mm 2 is occupied by fibrous tissue and 1379.3 mm 2 is occupied by calcified tissue.
  • Figures 3 and 5a show 5-chamber echocardiographic images 300, 360 of the coronary vasculature of a human patient.
  • Figure 5b shows a density graph profile that corresponds to the image 360 shown in Figure 5a.
  • the echocardiographic images 300, 360 Figures 3 and 5a have been colorized, without pixel saturation, in accordance with the method described hereabove and shown in Figure 1.
  • the computer is initially calibrated for distance by marking a line 302 adjacent to the image 300 and inputting the known distance, in centimeters, to be assigned to the length of the line 302.
  • the computer program of this invention then establishes a pixel per unit length calibration on this basis.
  • an area of interest is delineated by a raster line 362 which is marked on the image screen over the area of interest, such as a segment of the right coronary artery.
  • the operator instructs the computer program to generate a density profile graph 364 for the tissue that underlies the raster line 362.
  • the computer then generates such density profile based on the image intensity values of the pixels if the image 360 that underlie the raster line 362.
  • Such density profile graph 364 is shown in Figure 5b, and represents the density reflection profile of the segment of the right coronary artery located under the raster line 362.
  • the machine readable code may be a computer program that is burned into a chip or stored on a magnetic medium or any other suitable medium.
  • the machine readable code may be written an any suitable computer language.
  • the portions of the source code appended hereto as appendix A are examples of the manner in which the machine readable code of this invention may be written in the Visual BASIC language.
  • NeedCalib MsgBoxC'You need to use the line selection tool to draw a line between at le ast two velocity markers.”, vblnformation, "Velocity Calibration") Exit Sub End If
  • NeedCalib MsgBoxC'You need to use the line selection tool to draw a line between at le ast two velocity markers.”, vblnformation, "Velocity Calibration")
  • nleType LCase$ (r ⁇ ght$ (Me. Caption, 3))
  • red pal.palentry (3 ).
  • rgbGreen blu pal.palentr ( ) .rgbBlue red - 64 grn - 64 blu - 64 pal .palentry (3 ).
  • rgbRed red pal.palentry (3 ).
  • bitcount - bmh.biBitCount width bmh.biWidth height « ⁇ bmh.biHeight

Abstract

Methods and computer programs for color encoding and decoding of grayscale images, such as images obtained by digital imaging processes (e.g., ultrasound imaging, ct scanning, mri scanning, pet scanning, etc.) or other images obtained by analog image signals that can be digitized (e.g., fluroscopy, x-ray, angiography, sonography, etc.), without pixel saturation. The invention is applicable to diagnostic imaging processes used in modern medical practice, and may also be applicable to various other medical and non-medical imaging processes such as non-destructive testing or assessment of materials, quality control of manufactured items, inspection of metals for metal fatigue or cracking, etc.

Description

Methods and Software for Color Encoding and Decoding Grayscale Images Without Pixel Saturation
RELATED APPLICATION
This patent application claims priority to United States Provisional Application Serial No. 60/107,523 entitled Methods and Software for Color Encoding and Decoding Grayscale Images Without Pixel Saturation, filed on November 7, 1998, the entirety of which is expressly incorporated herein by reference.
FIELD OF THE INVENTION
The present Invention relates generally to the field of digital imaging and, more particularly, to methods and software for colorizing digital images including, but not limited to, medical diagnostic images.
BACKGROUND OF THE INVENTION
Digitization of analog images and the direct creation of digital images are well known in the prior art.
An example of a method for digitizing an analog image is the use of a scanner to scan a photograph or drawing and to create a computer data file that contains a representation of the image. A computer that has been programmed with appropriate software then retrieves the computer data file and generates a digital image on a monitor, screen, or some other display device, based on the analog image information contained in the computer data file. An example of a method for directly creating digitized images is medical ultrasound imaging. Diagnostic ultrasound imaging uses high frequency sound waves to observe a particular organ or anatomical region of the body. Although ultrasound equipment is very sophisticated, the procedure itself is simple and painless. A technologist applies an acoustic gel to the tip of an ultrasound transducer or probe. The transducer or probe is then placed on or in the patient's body and is aimed in the direction of the organ or anatomical structure of interest. The acoustical gel allows the passage of high frequency sound waves (i.e., the interrogating ultrasound) from the transducer or probe to the organ or anatomical structure of interest (e.g., heart chambers, heart valves, heart muscle, carotid (neck) arteries, the arteries and veins in the arms and legs, abdominal aorta, or renal (kidney) arteries). The interrogating ultrasound then reflects off the organ or anatomical structure of interest sending information (i.e., reflected sound waves) back to the probe. The reflected sound waves are then received by the transducer or probe and converted to a digital signal. The digital signal is then used to create a digital image on a TV screen. The digital image is stored in memory or recorded on videotape for subsequent review and interpretation. Echocardiography and
Peripheral Vascular ultrasound are widely used as effective diagnostic tools for heart and blood vessel diseases.
A digital image is comprised of a two dimensional array of pixels, each of which represents a discrete portion of the two dimensional digital image. The digital images may appear to be black and white or color. Those skilled in the prior art may describe both of these images to be "color," with the black and white image being more specifically described as "grayscale." This is particularly true in the case of an 8-bit image that permits 256 levels of color.
In an 8-bit digital image, the computer assigns an R, a G, a B, and an alpha value to each pixel based on the computer data file. The R value represents the red component of the pixel, the G value represents the green component of the pixel, and the B value represents the blue component of the pixel. Each value ranges between 0 and 255. Each pixel is commonly described as having an RGB value. For example, a completely red pixel would have an RGB value of 255,0,0 in which the R component is at its maximum and the G and B components are at their minimum.
In a "grayscale" 8-bit digital image, each pixel has the ability to be black, white, and 254 shades of grey depending on the pixel's RGB value. For a grayscale image, the three components of the RGB value are equivalent. For example, the RGB value of a black pixel is 0,0,0; the RGB value of a white pixel is 255, 255, 255, and the RGB value of a medium grey pixel is 127,127,127. The equivalent R, G, and B values in each pixel results in the components essentially canceling out any "color" being displayed on the monitor and a resulting grayscale image.
The computer data file containing the representation of the image may be stored as a matrix of intensity values component and a bitmap color table component. The matrix of intensity values component comprises a single value between 0 and 255 for each pixel. The bitmap color table component comprises a look up table that the computer uses to match an intensity value to an RGB value. For example, a grayscale bitmap color table matches to an intensity value of zero an RGB value of 0,0,0, resulting in a black pixel. Another example is that an intensity value of 255 is associated with an RGB value of 255,255,255, resulting in a white pixel. The bitmap color table may be modified such that a "color" and not a shade of grey is associated with an intensity. For example, instead of a "black" RGB value of 0,0,0 for the lowest intensity value, the bitmap color table may assign a blue RGB value of 0,0,255 for an intensity of zero.
In example of an application of the use of digital images disclosed in the prior art, color digital images are used to distinguish between vascular tissue in echocardiography. The nature of ultrasound used in echocardiography is such that the amplitude of the reflected sound waves differ based on the density of the tissues that are being examined. The differences in amplitude are a result of tissue of greater density having a more intensity reflection.
A prior art approach to colorize ultrasound images is known as "B color" or "pseudo-color" process, which substitutes the grayscale image generated in echocardiography in shades of a single color, such as blue or orange. A benefit of a B color process is that the endocardial edges may be better perceived. However, a drawback of the B color process is that the monochromatic shades do not distinguish between different types of tissue any better than shades of grey.
The prior art also discloses a pixel saturation colorization process useful for identifying different densities that are associated with different vascular tissues, such as left ventricular muscle, fibrous tissue, or calcium. A specific example of the process colorizes high-intensity echos of dense fibrous tissue in red and tissues of lesser density in shades of blue and green. However, the prior art colorization process takes a grayscale digital density image of 256 levels of intensity of the density and translates it to a maximum of 16 colors and 16 levels of intensity, thereby losing precision of the density measurements. The loss, through colorization, of the 256 levels of intensity is known as "pixel saturation." As a result of pixel saturation, any calculations made from the pixel saturated image have a decreased precision as well. The prior art colorization process also requires storage of the both the colorized digital image and the grayscale digital image if precise calculations are to be done, which detrimentally increases the required space to store information.
SUMMARY OF THE INVENTION The present invention provides a method and computer program for color encoding and decoding of grayscale images, such as images obtained by digital imaging processes (e.g., ultrasound imaging, CT scanning, MRI scanning, PET scanning, etc.) or other images obtained by analog image signals that can be digitized (e.g., fluroscopy, x-ray, angiography, sonography, etc.), without pixel saturation. The invention is applicable to diagnostic imaging processes used in modern medical practice, and may also be applicable to various other medical and non-medical imaging processes such as non-destructive testing or assessment of materials, quality control of manufactured items, inspection of metals for metal fatigue or cracking, etc.
In accordance with the invention there is provided a computer program that color encodes a digitized, grayscale image any desired color for any range of intensities, without saturating the underlying pixel information. This is achieved by altering the RGB palette values that are associated with each pixel intensity, rather than changing the pixel values themselves.
Further in accordance with the invention, there is provided a method for colorizing any digital image, without pixel saturation, such method comprising the steps of a) providing a digital image that includes an original bitmap color table as well as a matrix of intensity values, b) copying the original bitmap color table into memory so as to create a Temporary Bitmap Color Table, c) copying the original bitmap color table into the Temporary Bitmap Color Table to create a Temporary Palette Array, d) replacing ranges of values on the Temporary Bitmap Color Table with assigned color values to create a Color-Modified Palette Array, e) overwriting the original bitmap color table with the Color-Modified Palette Array while allowing the Original Matrix of Intensity Values to remain unmodified, and f) refreshing the image to generate a colorized image without pixel saturation.
Further, in accordance with the present invention, a digital image that has been colorized without pixel saturation by the foregoing method, may be converted back to the original black and white image by replacing the assigned color values with the original grayscale values, thereby de-colorizing the image and restoring its original grayscale tones.
BRIEF DESCRIPTION OF THE DRAWINGS AND APPENDIX
Figure 1 is a flow diagram showing a method for colorization of a digital image without pixel saturation.
Figure 2 is a flow diagram showing a method for de-colorization of the colorized image created by the process of Figure 1. Figure 3 is a 5-chamber echocardiographic image that has been colorized in accordance with the present invention, whereupon an image calibration line has been drawn to calibrate the image for distance but not intensity.
Figure 4a is a 5-chamber echocardiographic image that has been colorized in accordance with the present invention, whereupon a region of interest has been delineated and an analysis has been performed to determine the percent fibrous tissue and percent calcified tissue within the region of interest.
Figure 4b is a 5-chamber echocardiographic image that has been colorized in accordance with the present invention, whereupon a region of interest has been delineated and an analysis has been performed to determine the actual area (mm 2) occupied by fibrous tissue and the actual area (mm 2) occupied by calcified tissue, within the region of interest .
Figure 5a is a 5-chamber echocardiographic image that has been colorized in accordance with the present invention, whereupon a raster has been taken across the right coronary artery to obtain a density reflection profile of the right coronary artery.
Figure 5b is a raster graph showing the density reflection profile obtained from the image of Figure 5a.
Appendix A is a print out of the source code for the portions of a computer program that perform the methods of the present invention.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
The accompanying figures are provided for the purpose of illustrating certain examples of the invention and are not intended to limit or restrict the invention in any way. Reference are numerals marked on Figures 1-5b and such reference numerals are called out in the paragraphs set forth herebelow to enable the reader to direct the reader to certain portions or structures on the figures as the reader proceeds to read the detailed description set forth below.
Figure 1 is a flow chart 10 of a process for displaying digital images is shown according to an embodiment of the invention. In summary, the flow chart 10 describes the steps to generate a colorized digital image without pixel saturation from a black & white digital image.
In the first step 12 of the process 10, an original black and white digital image is provided. The black and white image is generated from a matrix of intensities and an original bitmap color table comprising grayscale RGB values. In a preferred embodiment of the invention, the black and white image is an 8-bit or 256 color grayscale image and the matrix of intensities comprise values of in a range of between 0 and 255. Other embodiments of the invention may have different ranges for the intensity values.
The original bitmap color table of the black and white digital image is a look- up table that a computer uses to assign RGB values to each pixel of the image based on the associated intensity values. A computer is defined as any computation device that is directed at least in part by machine readable code, and the machine readable code may be in form of software, hardware, or a combination of the two. An example of hardware is a functionally connected preprogrammed computer chip or other permanent data storage device. In the preferred embodiment of the invention, the original black and white digital image is displayed on a screen. A screen is defined as any device from which a user views the black and white digital image, for example, a computer monitor or projection device.
In a preferred embodiment of the invention, the original bitmap color table assigns a four part value for each intensity value. The first three values determine the color of each pixel in the image, or the RGB values. Each RGB value is the same as the intensity of each segment. For example, for an intensity of 0, the RGB value is 0,0,0, which results in a black pixel. For an intensity of 255, the RGB value is 255,255,255, which results in a white pixel. Intensities between 0 and 255 result in a grey pixel which has a larger white component the greater the intensity value.
The fourth value, or the alpha value, is not used in the preferred embodiment of the invention.
In a next step 14 of the preferred embodiment of the invention, a temporary bitmap color array is defined in the memory of a computer. This step 14 may performed by the sub-routine entitled GETVICPALETTE of the computer program source code appended hereto as Appendix A. The temporary bitmap color array is defined to enable the original bitmap color table to be copied thereinto. This step is not necessary in some embodiments of the invention, which depends on the language of the machine readable code. In a further step 16 of the preferred embodiment of the invention, the original bitmap color table comprising grayscale RGB values is copied into the predefined bitmap color table array. This step 16 may also performed by the sub-routine entitled GETVICPALETTE of the computer program source code appended hereto as Appendix A. Next, in step 18, the grayscale RGB values are replaced with assigned RGB values. This step 18 may performed by the sub-routine entitled CHANGECOLOR of the computer program source code appended hereto as Appendix A. The assigned RGB values are based on what colors are to represent what ranges of intensity values. For example, intensity values having a range of 0-50 are assigned to be red, intensity values having a range of 51-125 are assigned to be orange, intensity values having a range of 126-200 are assigned to be yellow, and intensity values having a range of 201-255 are assigned to be blue, each of which has an associated RGB value that produces the desired pixel color.
In an embodiment of the invention, the assignment of the RGB values for each range of intensity values is predefined in the machine readable code that directs the computer. In other embodiments of the invention, the intensity ranges and the RGB values for each range are assigned by the user of the computer. In still other embodiments of the invention, the user may modify the machine readable code to change the predefined assigned RGB values for the intensity ranges, change the intensity ranges, or a combination of the two.
In another step 120 of the invention, the image on the screen is refreshed to generate a colorized image without pixel saturation. This step 120 may performed by the sub-routines entitled SETVICPALETTE and CHANGECOLOR of the computer program source code appended hereto as Appendix A. The colorized image is generated from the matrix of intensity values and the assigned RGB values in the temporary bitmap color array.
In a preferred embodiment of the invention, the matrix of intensity values is preserved or saved, thus colorizing the black and white image does not result in loss of intensity values. This aspect of the invention permits the user, or a machine readable code, to direct the computer to analyze at least a portion of the colorized image without loss of the precision of the underlying matrix of intensity values. For example, a portion of the colorized image, such as an area, is selected and analyzed as a function of the matrix of intensity values associated with the colorized image portion. An example of an analysis is that the percentage of pixels in the portion of the colorized image associated with intensity values of a specific range or a set of ranges. Another analysis example is a raster that is defined by the user on the colorized image and a line plot of the intensity values associated with the pixels through which the raster is drawn is created. Other embodiments of the invention comprise other analytic procedures, some of which as described below in more detail.
Also, in a preferred embodiment of the invention, the computer stores or preserves the original matrix of intensity values, thus reducing the amount of computer memory required to reproduce both color and black and white digital images. Other embodiments of the invention may store both the colorized digital image and the black and white digital image.
Referring now to Figure 2, a flow chart 130 discloses the steps in an embodiment of the invention to convert the colorized digital image back into a black and white digital image. In step 132, the colorized digital image generated from the matrix of intensity values and the RGB values in the temporary bitmap color array are provided. In step 134, the bitmap color table of the image provided in step 132 is copied into memory to create a Temporary Bitmap Color Table. This step 134 may performed by the sub-routine entitled GETVICPALETTE of the computer program source code appended hereto as Appendix A.
Thereafter, in step 136, the bitmap color table of the colorized image provided in step 132 is copied into the Temporary Bitmap Color Table created in step 134 to thereby create a Color-Modified Palette Array. This step 136 may performed along with step 134 by the sub-routine entitled GETVICPALETTE of the computer program source code appended hereto as Appendix A. Thereafter, in step 138, the assigned color values contained in the bitmap color table are replaced with the grayscale values from the original black and white image (step 12 of Figure 1 ) to create a Non-
Color-Modified Palette Array. This step 138 may performed by the sub-routine entitled REMOVECOLOR of the computer program source code appended hereto as Appendix A.
In step 140, the original bitmap color table of the colorized image (provided in step 132) is then overwritten with the non-color-modified Palette Array while allowing the original matrix of intensity values to remain unmodified. After such overwriting has been accomplished, the image on the screen is refreshed, thereby providing the original black and white digital image that existed in step 12 of figure 1. This step 140 may performed by the sub-routines entitled SETVICPALETTE and REMOVECOLOR of the computer program source code appended hereto as
Appendix A.
In other embodiments of the invention, another colorized digital image is generated by replacing the RGB values in the temporary bitmap color array with another set of assigned RGB values. The other set of assigned RGB values result in the other colorized digital image when the image on the screen is refreshed.
Embodiments of the invention may be used to generate and analyze images representing property characteristics of an object. Specific examples of objects and property characteristics are described below. Some general examples of objects are body parts of patients, exteriors of structures, manufactured parts, and any other object that is representable with a digital image. The digital images may be generated through ultrasound imaging, CT scanning, MRI scanning, PET scanning directly. In other embodiments of the invention, the image is produced by analog image signals that are subsequently digitized, such as those produced through fluroscopy, x-ray, angiography, sonography for example. Embodiments of the invention may be used to analyze for density, structural integrity, thermodynamic properties for example.
As discussed hereabove, one area in which the invention is particularly applicable is in the colorization of diagnostic medical images, such as images of the heart and blood vessels obtained by cardiac ultrasound (e.g., echocardiography, M- mode echocardiography, transesophogeal echocardiography, etc.). After a black and white digital image produced through coronary ultrasound (i.e., echocardiography) is converted to a colorized image, tissue having different densities is represented through different colors. Because that colorized digital image has not undergone pixel saturation, a densitometric analysis may be performed. In a preferred embodiment of the invention, the colorized image is stored in a file format that supports palette color information, such as PCX (*.pcx). The visual identification of the different tissue represented in the digital image is enhanced through the choice of colors representing the different tissue. It is well known by those skilled in the art that the different tissues of interest represented in the digital image have differing mean densities. In an embodiment of the invention, the left ventricular muscle, which has a density such that the intensity values of it fall in a range of 30 through 69, is represented by blue-green and the RGB values are (0, 128, 128) for it. Fibrous tissue, or more specifically atherosclerotic plaque that is considered to be Grade 2 under the American Heart Association classification scheme, which has a density such that the intensity values of it fall in a range of 70 through 199, is represented by red and the RGB values are (128, 0,0). Calcified tissue, or more specifically Grade 3 antherosclerosis under the AHA classification scheme, which has a density such that the intensity values of it fall in a range of 200 through 255, is represented by white and the RGB values are (255, 255, 255) Other embodiments of the invention may have other colors associated with the different types of tissue. In a still further embodiment of the invention, blue on gold images are produced by subtracting predetermined density levels such that fibrosis is emphasized.
The use of the present invention in lieu of prior art methods for colorization of digital images results in a colorized image from which specific measurements of relative object (e.g., tissue) densities mat be obtained. In applications related to a cardiac ultrasound image, the method and computer program of the present invention may be used to assess coronary calcium, fibrosis, plaque topography, and the like. In this regard, Examples 1-3 set forth herebelow (and the corresponding Figures 3a-5b) illustrate uses of the present invention to analyze tissue densities and to determine coronary fibrosis & calcification, from cardiac ultrasound images that have been colorized, without pixel saturation, in accordance with the present invention. EXAMPLE I
(Measurement of Relative Amounts of Fibrous and Calcified Tissue Within A Defined Region of a Coronary Ultrasound Image)
Figure 3, 4a and 4b show 5-chamber echocardiographic images 300, 320, 340 of the coronary vasculature of a human patient.
The images 300, 320, 340 of Figures 3, 4a and 4b have been colorized, without pixel saturation, in accordance with the method described hereabove and sown in Figure 1.
As shown on Figure 3, the computer is initially calibrated for distance by marking a line 302 adjacent the image 300 and inputting the known distance, in centimeters, to be assigned to the length of the line 302. The computer program of this invention then establishes a pixel per unit length calibration on this basis.
As shown in Figure 4a, after the distance calibration has been completed, an area of interest is delineated by the creation of a perimeter marking 322 on the image screen. This perimeter marking 322 may be a rectangle as shown in Figure 4a or any other symmetrical or non-symmetrical area-defining marking. In the case of Figure 4a, the perimeter marking 322 is positioned over a portion of the left anterior descending coronary artery. Thereafter, the operator inputs an instruction for the computer to determine the amount of fibrous and calcified tissue within the perimeter marking 322 by clicking the "analyze fibrous tissue" icon 325 within the tissue analysis window 323. The computer program then calculates, on the basis of the image intensity values for the portion of the image that is within the perimeter marking 322, the relative percentages of fibrous and calcified tissue present within that area of interest. The percentage of fibrous tissue 324 and the percentage of calcified tissue 326 are then displayed in the tissue analysis window 323, as shown. In the showing of Figure 4a, the computer has determined that 8.8% percent of the tissue within the perimeter marking 322 is fibrous and 0.0% of the tissue within the perimeter marking 322 is calcified.
Figure 4b shows another image 340 wherein a tissue density analysis is obtained by the same methodology as described hereabove in this example, but wherein the computer program is instructed by the operator to determine the actual area (in mm2) within a perimeter marking 322a located over the right coronary artery that is occupied by fibrous and calcified tissues. As shown in Figure 4b, the tissue analysis window now displays the fibrous tissue area 324b and the calcified tissue area 326b within the perimeter marking 322b.
In this case, 3507.8 mm2 is occupied by fibrous tissue and 1379.3 mm2 is occupied by calcified tissue.
EXAMPLE II (Raster Analysis of Tissue Density)
Figures 3 and 5a show 5-chamber echocardiographic images 300, 360 of the coronary vasculature of a human patient. Figure 5b shows a density graph profile that corresponds to the image 360 shown in Figure 5a. The echocardiographic images 300, 360 Figures 3 and 5a have been colorized, without pixel saturation, in accordance with the method described hereabove and shown in Figure 1.
As shown on Figure 3, the computer is initially calibrated for distance by marking a line 302 adjacent to the image 300 and inputting the known distance, in centimeters, to be assigned to the length of the line 302. The computer program of this invention then establishes a pixel per unit length calibration on this basis.
As shown in Figure 5a, after the distance calibration has been completed, an area of interest is delineated by a raster line 362 which is marked on the image screen over the area of interest, such as a segment of the right coronary artery. Thereafter the operator instructs the computer program to generate a density profile graph 364 for the tissue that underlies the raster line 362. The computer then generates such density profile based on the image intensity values of the pixels if the image 360 that underlie the raster line 362. Such density profile graph 364 is shown in Figure 5b, and represents the density reflection profile of the segment of the right coronary artery located under the raster line 362.
The machine readable code may be a computer program that is burned into a chip or stored on a magnetic medium or any other suitable medium. The machine readable code may be written an any suitable computer language. The portions of the source code appended hereto as appendix A are examples of the manner in which the machine readable code of this invention may be written in the Visual BASIC language.
It is to be appreciated that the invention has been described herein with reference to certain specific examples, and no attempt has been made to exhaustively describe all possible examples and embodiments in which the invention may be practiced. Indeed, various additions, deletions, modifications and alterations may be made to the particular embodiments and examples described herein, without departing from the intended spirit and scope of the invention. Accordingly, it is intended that all such additions, deletions, alterations and modifications be included within the scope of the following claims and/or the equivalents thereof.
APPENDIX A sngTim = Val(GetTιm) tιmcalιb( e.tag) = C(Me.tag) / sngTim
Dim CalibOK As String
CalibOK - MsgBoκf'Time calibration: " _ Format (timcalib (Me. tag) , SFor at) _ " pixels per sec ond", vbOKOnly, "Time Calibration Successful!")
Cnd Sub
Private Sub mnuImageCalιbVeloc_Clιck ( ) If C( e.tag) - 0 Then
Dim NeedCalib As String
NeedCalib = MsgBoxC'You need to use the line selection tool to draw a line between at le ast two velocity markers.", vblnformation, "Velocity Calibration") Exit Sub End If
If GraphNow(Me. tag) - False Then
NeedCalib = MsgBoxC'You need to use the line selection tool to draw a line between at le ast two velocity markers.", vblnformation, "Velocity Calibration")
Exit Sub End If
Dim GetVel As String
GetVel - InputBox ("How many m/sec does this line represent? (mm = 0)", "Velocity Calibratio n")
If GetVel - "" Then
Figure imgf000017_0001
Dim sngVel As Single sngVel - Val (GetVel) velcalιb(Me.tag) = C(Me.tag) / sngVel
Dim CalibOK As String
CalibOK - MsgBox( "Velocity calibration: " & Forma (velcalιb(Me. tag) , SFormat) & " pixels per m/sec", vbOKOnly, "Calibration Successful1")
I ii Sub
I'ublic Sub mnuImageConvertColor_Clιck ( )
ChangeColor End Sub
Public Sub RemoveColor ( ) Dim 3 As Integer Dim red As Integer Dim grn As Integer Dim blu As Integer Dim pal As OUR_PALETTE rcode - NO_ERROR
If vimage (Me. ag) .colors ■= 0 Then rcode = BAD_BPP uetVicPalette pal, vimage (Me. tag)
' Normal muscle tissue
For ] = 0 To 255 red - pal.palentr (3) . rgbRed grn ■» pal .palentry (3 ) . rgbGreen bin » pal.palentry (_ ) .rgbBlue red " 3 grn ■ _ blu » 3 pal . palentry ( ] ) . rgbRed = red pal .palentry (3 ) . rgbGreen - grn
1 4 / 1 pal .palentry (_ ) . rgbBlue = blu Next 3
' Now get the filename and file info from this window
If GraphNow(Me.tag) = True Then D m bm As BITMAPINFOHEADER
Getbmhfromimage bm, vimage (Me. tag) vimage (Me. tag) .stx » 0 vimage (Me. tag) .sty ■» 0 vimage (Me. tag) . EndX - bm.bi idth - 1 vιmage(Me. tag) .EndY » bm.biHeight - 1 End If
Dim bmh As BITMAPINFOHEADER Dim bitcount As Long Dim width As Long Dim height As Long
'Get bitcount, width, and height values
Getbmhfromimage bmh, vimage (Me. tag)
'Convert to long variable forms lutcount = bmh.biBitCount widlh = bmh.biWidth height = bmh.biHeight
' Get info for new image based on current Filename _ extension
Dim fileType As String nleType = LCase$ (rιght$ (Me. Caption, 3))
' Get new index for new buffer and window
Dim fmdex As Integer r index = FmdFreelndex ()
Document (fmdex) . tag = findex
Document (findex) .Caption - "Untιtled(" _ findex _ ") " _ fileType
' Allocate new buffer based on abs value differences ' between X1/X2 and Y1/Y2.
If CropNow(Me.tag) = True Then rcode « Modulel. reallocimage (vimage ( findex) , (Abs (X2 (Me. tag) - Xl(Me.tag)) + 1), (Abs(Y2(Me. tag) - Yl(Me.tag)) + 1), bitcount, findex) Lud If
' Or, allocate new buffer based on dimensions of original image
If CropNow(Me.tag) = False Then rcode = Modulel . reallocimage (vimage ( findex) , width, height, bitcount, findex) I.IKI If
1 f rcode <> NO_ERROR Then frmImage.error_handler rcode, "" End If
Si-ieen.MousePointer = 11
' Copy image from old to new buffer i ode = copyimage (vimage (Me. tag) , vimage ( findex) ) 1 t rcode <> NO_ERROR Then frmImage.error_handler rcode, "" nd If
14/2 'Set new palette to the new image, update its palette
SetVicPalette pal, vimage (findex) rcode = updatebitmapcolortable (vimage ( findex) )
If rcode <> NO_ERROR Then frmImage.error_handler rcode, "" End If ' Housekeeping stuff; set-up revert and undo buffers for new window rcode = copyimage (vimage (findex) , zimage (findex) ) i i o e = copyimage (vimage ( findex) , revi age (findex) ) rcode «■ copyimage (vimage (findex) , uimagel (findex) )
'Set new calibration values to old ones (same image') lincalib (findex) - lιncalιb(Me. tag) velcalιb( findex) - velcalιb(Me. tag) tιmcalιb( findex) = tιmcalιb(Me. tag)
' Set Dirty state of new window to True
FState (findex) .Dirty = True
' Paint and refresh this new window EnableToolbar
Document (findex) .Form_Resιze Document (findex) .Show FState (findex) .Open = True Document (findex) . form_paιnt
Document (findex) .Refresh
GetRecentFiles
Screen. ousePointer » 0
nd Sub
Public Sub ChangeColor ( )
Dim j As Integer Dun red As Integer Dim grn As Integer Dim blu As Integer Dim pal As OUR_PALETTE .code = NO ERROR
If vιmage(Me. tag) .colors = 0 Then rcode » BAD_BPP
GetVicPalette pal, vimage (Me. tag)
' Normal muscle tissue
For 3 = 0 To 15 red » pal.palentry (3 ) .rgbRed grn - pal.palentry (3 ). rgbGreen blu » pal.palentry (3 ) .rgbBlue red *= 0 grn « 0 blu - 0 pal.palentry (3 ) .rgbRed - red pal .palentry (3 ) .rgbGreen - grn pal.palentry (3) .rgbBlue » blu
I or = 16 To 31
14/3 red = pal.palentry (3 ). rgbRed grn - pal.palentry (3 ). rgbGreen blu = pal.palentr ( ) .rgbBlue red - 64 grn - 64 blu - 64 pal .palentry (3 ). rgbRed = red pal.palentry (3 ). rgbGreen - grn pal .palentry (3 ). rgbBlue - blu Nex 3
For 3 = 32 To 47 red = pal.palentry (3 ). rgbRed grn - pal.palentr (3 ). rgbGreen blu = pal.palentry (3 ). rgbBlue red - 0 grn = 0 blu = 128 pal.palentry (3 ). gbRed = red pal.palentry (3 ). rgbGreen =■ grn pal.palentry (3 ). rgbBlue - blu Next 3 tor 3 = 48 To 63 red = pal.palentry {3 ). rgbRed grn = pal.palentry (3 ). rgbGreen blu - pal.palentry (3 ). rgbBlue red - 0 grn = 128 blu = 0 pal.palentry (3 ). rgbRed = red pal .palentry (3 ) .rgbGreen - grn pal.palentry (3 ). rgbBlue •» blu Next 3
For 3 = 64 To 69 red = pal.palentry (3 ) .rgbRed grn = pal.palentr (3 ) .rgbGreen blu - pal.palentr (3) . rgbBlue red - 0 grn = 128 blu - 128 pal.palentry (3) .rgbRed » red pal. alentry (3) .rgbGreen » grn pal.palentry (3) .rgbBlue - blu Next 3
' Fibrous Tissue
For 3 = 70 To 199 red » pal.palentry (3) .rgbRed grn - pal.palentry (3 ) .rgbGreen blu - pal.palentry (3) .rgbBlue red 128 grn 0 blu 0 pal.palentry (3) .rgbRed - red pal.palentry (3) .rgbGreen •> grn pal. palentry (3) .rgbBlue - blu
14/4 Next 3
' Calcium
For 3 = 200 To 255 red •» pal.palentry (3 ). rgbRed grn » pal.palentry (3 ). rgbGreen blu - pal.palentry (3 ) .rgbBlue red - 255 grn - 255 blu = 255 pal.palentry (3 ). rgbRed - red pal .palentry (3 ). rgbGreen - grn pal.palentry (3 ). rgbBlue - blu Next 3
' Now get the filename and file info from this window
If GraphNow(Me.tag) = True Then Dim bm As BITMAPINFOHEADER
Getb hfromimage bm, vimage (Me. tag) vimage (Me. tag) .stx ■ 0 vimage (Me. tag) .sty - 0 vimage (Me. tag) .EndX ■= b .biWidth - 1 vimage (Me. tag) .EndY = bm.biHeight - 1 End If
Dim bmh As BITMAPINFOHEADER Dim bitcount As Long Dim width As Long Dim height As Long
'Get bitcount, width, and height values
Getbmhfromimage bmh, vimage (Me. tag)
'Convert to long variable forms bitcount - bmh.biBitCount width = bmh.biWidth height «■ bmh.biHeight
' Get info for new image based on current Filename _ extension
Dim fileType As String fileType = LCase$ (rights (Me.Caption, 3))
' Get new index for new buffer and window
D m findex As Integer findex = FindFreelndex ( )
Document (findex) . tag = findex
Document (findex) .Caption = "Ontitledf" £, findex 4 ")." _ fileType
' Allocate new buffer based on abs value differences ' between X1/X2 and Y1/Y2.
If CropNow(Me.tag) = True Then rcode » Modulel . reallocimage (vimage (findex) , (Abs (X2 (Me. ag) - Xl(Me.tag)) + 1), (Abs(Y2(Me. tag) - Yl(Me.tag)) + 1), bitcount, findex) End If
' Or, allocate new buffer based on dimensions of original image
I CropNow(Me.tag) = False Then
14/5 rcode = Modulel . reallocimage (vimage (findex) , width, height, bitcount, findex) End If
If rcode <> NO_ERROR Then frmImage.error_handler rcode, "" End If
Screen.MousePointer = 11
' Copy image from old to new buffer rcode «• copyimage (vimage (Me. tag) , vimage (findex) ) 1 f rcode <> NO_ERROR Then frmImage.error_handler rcode, "" End If 'Set new palette to the new image, update its palette
SetVicPalette pal, vimage (findex) rcode = updatebitmapcolortable (vimage (findex) )
If rcode <> NO_ERROR Then frmImage.error_handler rcode, "" End If ' Housekeeping stuff; set-up revert and undo buffers for new window rcode = copyimage (vimage (findex) , zimage (findex) ) rcode = copyimage (vimage (findex) , revimage (findex) ) rcode = copyimage (vimage (findex) , uimagel (findex) )
'Set new calibration values to old ones (same image1) lιncalιb(fmdex) » lιncalιb(Me. tag) velcalιb(fιndex) - velcalιb(Me. tag)
' Set Dirty state of new window to True
. latelfindex) .Dirty = True
' Paint and refresh this new window EnableToolbar
Document (findex) .Form_Resιze Document (findex) .Show FState (findex) .Open = True Document (findex) . form_paιnt
Document (findex) .Refresh
GetRecentFiles
Screen. ousePointer - 0
End Sub
Private Sub GetVicPalette (palette As OUR_PALETTE, image As imgdes)
Dim palbyts As Long
Static tmppaKO To 255) As RGBQUAD
Dim 3 As Integer palbyts » image. colors * 4 getbmhfmemcpy_ tmppaKO), image. palette, palbyts
For 3 = 0 To image. colors - 1 palette.palentry(3) .rgbRed » Asc (tmppal (3 ). rgbRed) palette.palentry (3 ) .rgbGreen = Asc (tmppal (3 ) .rgbGreen) palette.palentry (3) .rgbBlue = Asc (tmppal (3) .rgbBlue)
Next 3 End Sub
14/6 Private Sub SetVicPalette (palette As OUR_PALETTE, image As imgdes) Dim palbyts As Long Static tmppaKO To 255) As RGBQUAD Dim 3 As Integer palbyts = image. colors * 4
For 3 = 0 To image. colors - 1 tmppal (j) .rgbRed ■* (palette. palentry (3 ). rgbRed) tmppaKj) .rgbGreen - (palette. alentry (3 ) .rgbGreen) tmppal(3) .rgbBlue - (palette. palentr (3) . rgbBlue)
Next 3 setbmhfmemcpy_ image .palette, tmppal (0), palbyts End Sub
Private Sub mnuImageConvertGray_Click( )
' vimage (Me. Tag) .lmgtype - 1 frmMDI .ActiveForm. UpdateUndo rcode = colortogray( vimage (Me. tag) , vimage (Me. tag) ) frmMDI .ActiveForm. form_paιnt frmMDI.ActiveForm. Refresh
FState(Me. tag) .Dirty = True
End Sub
Private Sub mnuImageEdge_Clιck ( ) UpdateUndo Dim redavg, grnavg, bluavg As Long rcode = calcavglevel (vimage (Me. tag) , redavg, grnavg, bluavg) rcode = kodalith (redavg, vimage (Me. tag) , vimage (Me. tag) ) rcode - outline (vimage (Me. tag) , vimage (Me. tag) )
Me. form_paιnt
Me. Refresh
FState(Me. tag) .Dirty - True
Knd Sub
Private Sub mnuImageFibrous_Click( )
UpdateUndo rcode - exchangeleveKO, 69, 0, vimage (Me. tag) , vimage (Me. tag) ) rcode » exchangelevel (200, 255, 0, vimage (Me. tag) , vimage (Me. tag) )
Me. form_paιnt
Me. Refresh
FState (Me. tag) .Dirty = True
End Sub
Private Sub mnuImageInfo_Click ()
InfofMe. tag) .lblTag.Caption = Me. tag Info(Me.tag) .Calclnfo Info (Me. tag) .Show
End Sub
Public Sub mnuImageMeas_Click()
' set proper panel and item
'Set frmMDI.tabCaseData.Selectedltem. Index = 4 rmMDI. abCaseData.Tabs (4) .Selected «* True I rmMDI . raCase (mmtCurFrame) .Visible = False frmMDI.fraCase(4) .Visible - True
1 4 /7

Claims

1. A process for displaying images on a screen comprising the steps of: providing an original image on the screen generated from a matrix of intensity values and an original bitmap color table comprising grayscale RGB values; copying the original bitmap color table into a temporary bitmap color array; replacing the grayscale RGB values in the temporary bitmap color array with assigned RGB values; and refreshing the image on the screen to generate a colorized image without pixel saturation from the matrix of intensity values and the assigned RGB values in the temporary bitmap color array.
2. The process of Claim 1 , further comprising the step of creating a temporary bitmap color array in a computer memory prior to the copying step.
3. The process of Claim 1 , further comprising the step of analyzing at least a portion of the refreshed image by performing calculations that are functions of at least a portion of the matrix of intensity values that are associated with the portion of the refreshed image.
4. The process of Claim 1 , wherein the providing step further comprises the steps of: determining property characteristics of an object; and translating the object property characteristics into the matrix of intensity values.
5. The process of Claim 4, further comprising the step of analyzing at least a portion of the object property characteristics by performing calculations that
-15- are functions of at least a portion of the matrix of intensity values that are associated with the object property characteristics portion.
6. The process of Claim 1 , wherein the providing step further comprises the step of using a device to measure property characteristics of an object and produce the matrix of intensity values from the measured property characteristics.
7. The process of Claim 1 , wherein the providing step further comprises the step of using a digital imaging process to produce the matrix of intensity values.
8. The process of Claim 1 , wherein the providing step further comprises the steps of: using an analog imaging process to produce analog signals representing property characteristics of an object; and translating the analog signals into the matrix of intensity values.
9. The process of Claim 8, wherein the analog imaging process is echocardiography, the object is a part of a patient, and the property characteristics are densities of portions of the patient part.
10. The process of Claim 1 , further comprising the steps of: replacing the assigned RGB values in the temporary bitmap color array with other assigned RGB values; and refreshing the colorized image on the screen from the matrix of intensity values and the other assigned RGB values in the temporary bitmap color array to provide another image on the screen.
11. The process of Claim 10, wherein the replacing the assigned RGB value step further comprises the step of replacing the assigned RGB values in the temporary bitmap color array with the other assigned RGB values that are grayscale
-16- RGB values.
12. A process for displaying images on a screen comprising the steps of: generating on the screen a black and white image from a matrix of intensity values in a CPU and a first permanent data storage device comprising data representing a grayscale bitmap color table; and refreshing the image on the screen to generate a colorized image without pixel saturation from the matrix of intensity values and a second permanent data storage device comprising data representing an other-than grayscale bitmap color table.
13. The process of Claim 12, wherein the first permanent data storage device is a computer chip comprising the grayscale bitmap color table data in read only memory and the second permanent storage device is another computer chip comprising the other-than grayscale bitmap color table data in read only memory.
14. The process of Claim 12, wherein the first and second permanent data storage device is a computer chip comprising the grayscale bitmap color table data and the other-than grayscale bitmap color table data in read only memory.
15. Machine readable instructions adapted to direct the displaying of images on a screen comprising: an assignment portion adapted to assign an original bitmap color table array of grayscale values of a black and white digital image into the temporary bitmap color table array, wherein the black and white digital image further comprises a matrix of intensity values; a replacement portion adapted to replace the grayscale values in the temporary bitmap color table array to assigned RGB values; and
-17- a refreshing portion adapted to refresh an image on a screen with a colorized image without pixel saturation from the matrix of intensity values and the assigned RGB values in the temporary bitmap color table array.
16. The instructions of Claim 15, further comprising an array creation portion adapted to create a temporary bitmap color array in a computer memory.
17. The instructions of Claim 15, wherein the instructions are in the form of computer software and/or computer hardware.
18. A method for colorization of a digital image without pixel saturation, said method comprising the steps of: a) providing a digital image that includes an original bitmap color table as well as a matrix of intensity values; b) copying the original bitmap color table into memory so as to create a Temporary Bitmap Color Table; c) copying the original bitmap color table into the Temporary Bitmap Color Table to create a Temporary Palette Array; d) replacing ranges of values on the Temporary Bitmap Color Table with assigned color values to create a Color-Modified Palette Array; e) overwriting the original bitmap color table with the Color-Modified Palette Array while allowing the Original Matrix of Intensity Values to remain unmodified, and, f) refreshing the image to generate a colorized image without pixel saturation.
19. A method for de-colorizing the colorized image obtained by the method of Claim 18, said method for decolorizing comprising the steps of; g) replacing the color values assigned in step d with the grey-scale values of the original black and white image provided in step a.
-18-
PCT/US1999/026218 1998-11-07 1999-11-05 Methods and software for color encoding and decoding grayscale images without pixel saturation WO2000028472A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU17142/00A AU1714200A (en) 1998-11-07 1999-11-05 Methods and software for color encoding and decoding grayscale images without pixel saturation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10752398P 1998-11-07 1998-11-07
US60/107,523 1998-11-07

Publications (1)

Publication Number Publication Date
WO2000028472A1 true WO2000028472A1 (en) 2000-05-18

Family

ID=22317051

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/026218 WO2000028472A1 (en) 1998-11-07 1999-11-05 Methods and software for color encoding and decoding grayscale images without pixel saturation

Country Status (2)

Country Link
AU (1) AU1714200A (en)
WO (1) WO2000028472A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002054349A1 (en) * 2000-12-15 2002-07-11 Instrumentarium Corporation Method and arrangement for processing a digital image matrix
WO2004008970A1 (en) * 2002-07-20 2004-01-29 The University Of Surrey Image colouring
WO2005057499A1 (en) * 2003-12-05 2005-06-23 Vistaprint Technologies Limited System and method for custom color design

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USH1506H (en) * 1991-12-11 1995-12-05 Xerox Corporation Graphical user interface for editing a palette of colors
US5874988A (en) * 1996-07-08 1999-02-23 Da Vinci Systems, Inc. System and methods for automated color correction
US6014464A (en) * 1997-10-21 2000-01-11 Kurzweil Educational Systems, Inc. Compression/ decompression algorithm for image documents having text graphical and color content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USH1506H (en) * 1991-12-11 1995-12-05 Xerox Corporation Graphical user interface for editing a palette of colors
US5874988A (en) * 1996-07-08 1999-02-23 Da Vinci Systems, Inc. System and methods for automated color correction
US6014464A (en) * 1997-10-21 2000-01-11 Kurzweil Educational Systems, Inc. Compression/ decompression algorithm for image documents having text graphical and color content

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002054349A1 (en) * 2000-12-15 2002-07-11 Instrumentarium Corporation Method and arrangement for processing a digital image matrix
WO2004008970A1 (en) * 2002-07-20 2004-01-29 The University Of Surrey Image colouring
WO2005057499A1 (en) * 2003-12-05 2005-06-23 Vistaprint Technologies Limited System and method for custom color design

Also Published As

Publication number Publication date
AU1714200A (en) 2000-05-29

Similar Documents

Publication Publication Date Title
US5590215A (en) Method for providing medical images
JP5203605B2 (en) Ultrasonic diagnostic equipment
EP1614387B1 (en) Ultrasonic diagnostic apparatus, image processing apparatus and image processing method
Collins et al. Computer-assisted edge detection in two-dimensional echocardiography: comparison with anatomic data
Hughes et al. Automatic attenuation compensation for ultrasonic imaging
US20060241487A1 (en) System and method of characterizing vascular tissue
US5860929A (en) Fractional moving blood volume estimation with power doppler ultrasound
JP2004174241A (en) Image forming method
JP6564075B2 (en) Selection of transfer function for displaying medical images
JP4347860B2 (en) Ultrasonic diagnostic equipment
WO2000028472A1 (en) Methods and software for color encoding and decoding grayscale images without pixel saturation
US7285095B2 (en) Method of analyzing and displaying blood volume using myocardial blood volume map
US20060173318A1 (en) Systems and methods for detecting and presenting textural information from medical images
JP2004041617A (en) Ultrasonographic system
Crivianu-Gaita et al. 3D reconstruction of prostate from ultrasound images
WO2006019705A1 (en) System for detecting and presenting textural information from medical images
GB2210533A (en) Highlighting subtle contrast in graphical images
Itoh et al. A computer-aided three-dimensional display system for ultrasonic diagnosis of a breast tumour
US20060036147A1 (en) Systems and methods for detecting and presenting textural information from medical images
JP2009028431A (en) Gray-scale image display system
Schuster et al. An interactive processing system for ultrasonic compound imaging, real-time image processing and texture analysis
Jones et al. An analysis of the parameters affecting texture in a B-mode ultrasonogram
Vega-Higuera et al. Interactive tissue separation and visualization with dual-energy data on the GPU
Boote Quantitative ultrasound imaging using acoustic backscatter coefficients.
McPherson The Image Processing Laboratory

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref country code: AU

Ref document number: 2000 17142

Kind code of ref document: A

Format of ref document f/p: F

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase