System and method for digital image compression
By dynamically scaling industrial radiography images based on image characteristics, the problems of large image file size and slow reconstruction speed are solved, and more efficient storage and rapid reconstruction effects are achieved.
Patent Information
- Application Number
- CN202380071505.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-22
- Filing Date
- 2023-08-23
- Publication Date
- 2025-05-13
AI Technical Summary
The prior art when compressing and storing industrial radiograph images, the file size is large and difficult to reconstruct, and the image storage and reconstruction process cannot be effectively improved.
Scaling image data to different depths (such as 32-bit to 8-bit or 16-bit) based on image characteristics (such as grayscale value range, grayscale value distribution, noise, contrast, density, etc.) and using these scaling values when storing and transmitting, then rescaling during decompression to reconstruct the original image.
Significantly reduce image quantization, lower storage requirements, improve reconstruction speed, and achieve higher dynamic range.
Smart Images

Figure CN119999199A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is a non-provisional patent application of U.S. Provisional Patent Application No. 63 / 406,827, filed on September 15, 2022, and entitled “Systems And Methods For Digital Image Compression,” which is incorporated herein by reference in its entirety. Technical Field
[0003] The present disclosure relates generally to digital image processing and, more particularly, to systems and methods for digital image compression and / or decompression processes. Background Art
[0004] Industrial radiographic imaging systems are used to acquire two-dimensional (2D) and / or three-dimensional (3D) radiographic images of parts used in industrial applications. Such industrial applications may include, for example, aerospace, automotive, electronics, medical, pharmaceutical, military and / or defense applications. Radiographic images may be stored for later access and / or use. However, the file size of these images may be large and may not be easily reconstructed.
[0005] Therefore, it is desirable to improve systems and methods for image storage and reconstruction.
[0006] By comparing conventional systems and methods with the present disclosure set forth in the remainder of this application with reference to the accompanying drawings, the limitations and disadvantages of conventional and traditional methods will become clear to those skilled in the art. Summary of the invention
[0007] The present disclosure is directed to a high resolution imaging process, including compression, storage and / or reconstruction of digital images, substantially as shown in and / or described in conjunction with at least one of the accompanying drawings and as more fully set forth in the claims.
[0008] These and other advantages, aspects and novel features of the present disclosure will be more fully understood from the following detailed description and drawings, as well as details of illustrated examples of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 An example of an imaging machine according to aspects of the present disclosure is shown.
[0010] Figure 2 It is a diagram showing the use of various aspects of the present disclosure. Figure 1 A block diagram of an example system of an imaging machine.
[0011] Figure 3A and Figure 3B The invention shows the various aspects of the present disclosure. Figure 1 and Figure 2 Example images represented by image data processed by an imaging machine.
[0012] Figure 4A and Figure 4B The invention shows the various aspects of the present disclosure. Figure 1 and Figure 2 Another example image represented by image data processed by an imaging machine.
[0013] Figure 5A and Figure 5B It is to show various aspects according to the present disclosure Figure 1 and Figure 2 A flow chart of example operations of an imaging process of an imaging system.
[0014] The drawings are not necessarily drawn to scale. Where appropriate, the same or similar reference numbers are used in the drawings to refer to like or identical elements. DETAILED DESCRIPTION
[0015] The present disclosure relates to systems and methods for digital image processing. For example, techniques for compressing individual regions of pixels and / or voxels representing high-resolution digital images are disclosed. In some examples, the images are obtained through an industrial radiography imaging process.
[0016] Image compression techniques aim to compress and reconstruct digital images to facilitate storage and / or transmission of large digital files. This can include a variety of digital image types and formats, including 2D images composed of pixels and 3D images composed of voxels. In conventional compression systems, the raw volume data corresponding to the image is scaled to smaller units for storage or transmission, such as scaling each voxel of the image from a 32-bit floating point voxel (e.g., single-precision floating point format) to an 8-bit or 16-bit volume, thereby reducing the file size.
[0017] In conventional systems, the above-described scaling and exporting methods (e.g., from 32-bit to 8-bit or from 32-bit to 16-bit) can result in undesirable quantization effects. For example, if the image volume has a wide range of densities (e.g., voxel grayscale values), scaling may result in loss of data / image quality and slow image reconstruction.
[0018] The disclosed systems and methods present an advanced technique by scaling image data from an initial value, depth, volume, or size (e.g., 32 bits) to one or more secondary values, depths, volumes, or sizes (e.g., 8 bits or 16 bits) based on one or more characteristics (i.e., minimum and / or maximum volume values). Specifically, for a three-dimensional image, the total volume of the image can be defined as the total volume containing multiple independent regions. In some examples, one or more regions correspond to voxels with a defined value, depth, size, or volume (e.g., 32×32×32 32-bit voxel "bricks"). In some examples, each region or brick has a common value, while in other examples, two regions or bricks may be defined by different values.
[0019] During compression of image data (e.g., for storage and / or transmission of the image data), an initial value for each region (e.g., a range of values, which may include 32-bit minimum / maximum volume values) is scaled to one or more secondary values (e.g., a range of values, such as 8 or 16-bit minimum / maximum volume values). Specifically, a first region in a plurality of regions may be scaled from a 32-bit volume to an 8-bit volume, and a second region in a plurality of regions may be scaled from a 32-bit volume to a 16-bit volume. The identification of the region and the assignment of one of the different compression ratios (e.g., within a certain range of values, such as 8-bit or 16-bit values) may be implemented based on one or more characteristics of the image (e.g., a grayscale value range, a grayscale value distribution (e.g., quantization), noise in the image, contrast, density, position within the image, or other suitable characteristics). For example, these characteristics may correspond to a range of grayscale chromaticity values and / or a range of values in a particular pixel or voxel. Thus, the compression or scaling value may be any suitable numerical value, for example, within a range of 0-32-bit values.
[0020] The compressed and stored image data may be decompressed for reconstruction (e.g., in response to a user command) such that each region (e.g., 8-bit or 16-bit) is read from a storage device and rescaled according to one or more values (e.g., 32-bit floating point values). In some examples, each region is rescaled to a single value regardless of the compression value. Thus, a region having an 8-bit or 16-bit compressed value will be rescaled to a 32-bit value for presentation.
[0021] Advantageously, images stored in accordance with the disclosed systems and methods exhibit a significant reduction in image quantization, lowering storage requirements (e.g., from a total of original 32-bit values to scaled 8-bit or 16-bit values), and faster reconstruction due to standardized read / write and efficient data management of scaled image data.
[0022] Thus, as disclosed herein, local scaling / re-scaling of image data (based on dynamic scaling of the initial image data) produces a higher dynamic range than conventional 8-bit or 16-bit conversion techniques.
[0023] In the disclosed example, a method for compressing digital image data of an object includes: identifying multiple regions in a digital image of the object; assigning a first bit value to a first region among the multiple regions; compressing the digital image data associated with the first region based on the assigned first bit value; assigning a second bit value to a second region among the multiple regions; compressing the digital image data associated with the second region based on the assigned second bit value; and storing the compressed digital image data associated with the first region and the second region on a storage medium.
[0024] In some examples, the method further includes accessing a storage medium; assigning a third bit value to a first region and a second region of the plurality of regions; decompressing compressed digital image data associated with the first region and the second region based on the assigned third bit value; and reconstructing a digital image of the object based on the third bit value.
[0025] In some examples, the method further includes presenting the digital image to a user via one or more output devices.
[0026] In some examples, the first bit value is 8 bits. In some examples, the second bit value is 16 bits. In some examples, the third bit value is 32 bits. In some examples, the digital image is composed of a plurality of voxels or pixels. In some examples, each voxel or pixel in the plurality of voxels corresponds to one region in the plurality of regions. In some examples, the size of each voxel or pixel ranges from tens to hundreds of microns. In some examples, each region in the plurality of regions corresponds to one voxel or pixel in the plurality of voxels or pixels.
[0027] In some examples, the method further includes scanning the object with the radiation emitting source to generate a digital image of the object.
[0028] In some examples, the first bit value and the second bit value are the same bit value.
[0029] In some examples, the method further includes assigning a fourth bit value to a third region of the plurality of regions; compressing digital image data associated with the third region based on the assigned fourth bit value; and storing the compressed digital image data associated with the third region.
[0030] In some disclosed examples, an industrial imaging system includes: an adjustable fixture configured to position an object; a detector configured to capture radiation from the object; and an image acquisition system configured to generate an image of the object based on the detected radiation, the image acquisition system including: a user interface, the user interface including an input device, a processing circuit system, and a memory circuit system, the memory circuit system including machine-readable instructions that, when executed by the processing circuit system, cause the processing circuit system to: receive digital image data corresponding to the object via the detector; identify multiple regions in the digital image; receive a selection of a first bit depth for a first region of the multiple regions via the input device; receive a selection of a second bit depth for a second region of the multiple regions via the input device; compress the digital image data associated with the first region based on the assigned first bit depth; compress the digital image data associated with the second region based on the assigned second bit depth; and store the compressed digital image data associated with the first region and the second region on the memory circuit system.
[0031] In some examples, the processing circuitry is further operable to store the compressed digital image data associated with the second region on a storage medium.
[0032] In some examples, a radiation emitter emits radiation toward an object for receipt by a detector.
[0033] In some examples, the detector is a sensor panel including one or more of a charge coupled device (CCD) panel or a complementary metal oxide semiconductor (CMOS) panel.
[0034] In some disclosed examples, a method for compressing digital image data of an object includes: identifying multiple regions in a digital image of the object; determining one or more characteristics of each identified region in the multiple regions; assigning a bit value to each identified region in the multiple regions based on the one or more characteristics; compressing the digital image data associated with each identified region based on the assigned bit value; and storing the compressed digital image data associated with each identified region on a storage medium.
[0035] In some disclosed examples, the method further includes comparing the determined one or more characteristics to a list that associates characteristic data with expected place values; and determining the assigned place value based on the comparison.
[0036] Figure 1An example imaging machine 100 is shown. In some examples, the imaging machine 100 may be an X-ray radiography machine 100 that may be used to perform nondestructive testing (NDT), digital radiography (DR) scanning, computed tomography (CT), and / or other applications on an object 102. Although some examples are provided with respect to imaging systems, such as industrial imaging systems 100, the compression and / or decompression systems and methods disclosed herein are generally applicable to image data, regardless of the source of the image data or the technology used to acquire the image data.
[0037] In some examples, the object 102 may be an industrial component and / or an assembly of components (e.g., an engine casting, a microchip, a bolt, etc.). In some examples, the object 102 may be relatively small, such that a finer, more detailed, higher resolution radiographic imaging process may be useful. Although some examples are discussed with X-rays for simplicity, in some examples, the industrial X-ray radiography machine 100 discussed herein may use radiation of other wavelengths (e.g., gamma rays, neutrons, etc.).
[0038] exist Figure 1 In the example of , the imaging machine 100 directs radiation 104 (e.g., X-rays) from an emitter 106 through an object 102 to a detector 108. In some examples, a two-dimensional (2D) digital image (e.g., a radiographic image, an X-ray image, etc.) can be generated based on the radiation 104 incident on the detector 108. In some examples, the 2D image can be generated by the detector 108 itself. In some examples, the 2D image can be generated by the detector 108 in conjunction with a computing system in communication with the detector 108.
[0039] In some examples, detector 108 (e.g., in free-running mode) may continuously capture / acquire 2D images at a given frame rate as long as detector 108 is powered on. However, in some examples, 2D images may be generated entirely by detector 108 (and / or associated computing system(s)) when a scanning / imaging process has been selected and / or is running. Likewise, in some examples, 2D images may be saved in permanent (i.e., non-volatile) memory when a scanning / imaging process has been selected and / or is running.
[0040] In some examples, 2D images generated by detector 108 (and / or associated computing system(s)) may be combined to form a three-dimensional (3D) volume and / or image comprising voxels. In some examples, 2D image slices of a 3D volume / image may also be formed. Although the term "image" is used herein as a shorthand, it should be understood that an "image" may include representative data 102 until the data is visually presented by one or more appropriate components (e.g., a display screen, a graphics processing unit, a detector 108, etc.).
[0041] In some examples, the detector 108 may include a flat panel detector (FDA), a linear diode array (LDA), and / or a lens-coupled scintillation detector. In some examples, the detector 108 may include a fluoroscopic detection system and / or a digital image sensor configured to indirectly receive images via scintillation. In some examples, the detector 108 may be implemented using a sensor panel (e.g., a charge coupled device (CCD) panel, a complementary metal oxide semiconductor (CMOS) panel, etc.) that is configured to directly receive X-rays and generate a digital image. In some examples, the detector 108 may include a scintillation layer / screen that absorbs radiation and emits visible light photons, which are in turn detected by a solid-state detector panel (e.g., a CMOS panel and / or a CCD panel) coupled to the scintillation screen.
[0042] In some examples, the detector 108 (eg, a solid-state detector panel) may include pixels 404 (eg, see Figure 4A , Figure 4B ). In some examples, the pixels 404 may correspond to portions of a scintillating screen. In some examples, the size of each pixel 404 may be in the range of tens to hundreds of microns. In some examples, the pixel size (and therefore the voxel size) of the detector 108 may be in the range of 25 microns to 250 microns (e.g., 200 microns), although nanoscale or greater pixel and / or voxel sizes are possible.
[0043] In some examples, the 2D images captured by detector 108 (and / or an associated computing system) may contain features that are finer (e.g., smaller, denser, etc.) than the pixel size of detector 108. For example, a computer microchip may have very fine features that are smaller than pixel 404. In such examples, it may be useful to use sub-pixel sampling to achieve a higher, more detailed resolution than would otherwise be possible.
[0044] For example, multiple 2D images of the object 102 may be captured when the object 102 is in the same orientation and the detector 108 is in two (or more) different positions. In some examples, the different positions of the detector 108 may be offset from each other by less than the size of the pixel 404 (i.e., sub-pixels). The 2D images that are shifted by multiple sub-pixels may then be combined together (e.g., via an interleaving technique) to form a single higher resolution 2D image of the object 102 at that orientation. Thus, when the term "high resolution imaging process" is used herein, it may refer to an imaging process (e.g., radiography, computed tomography, etc.) in which sub-pixel sampling is used to ensure that the resolution (and / or pixel density) of the final image is greater than the resolution (and / or pixel density) of the detector 108 (and / or a portion of the detector 108 and / or a virtual detector) used to capture the image. While the object 102 may alternatively be translated rather than the detector 108 for sub-pixel sampling, moving the object 102 may also change the imaging geometry, which may negatively impact the combination of the resulting images.
[0045] exist Figure 1 In an example of the imaging machine 100, the detector positioner 150 is configured to move the detector 108 to different detector positions (e.g., for sub-pixel sampling). As shown, the detector positioner 150 includes two parallel posts 152 connected by two parallel rails 154. As shown, the detector 108 is held on the rails 154. In some examples, the detector 108 can be held on (and / or attached to) the rails 154 by one or more intermediate supports.
[0046] Because detector 108 may be moved by detector positioner 150, object 102 may be moved by object positioner 110 in some examples. Figure 1 In the example of , the object positioner 110 includes a rotatable fixture 112 on which the object 102 is positioned. As shown, the rotatable fixture 112 is a circular plate. As shown, the rotatable fixture 112 is attached to a motorized spindle 116 by which the rotatable fixture 112 can be rotated about an axis defined by the spindle 116. Figure 1 In some examples, rotatable mount 112 is supported by support structure 118. In some examples, support structure 118 can be configured to translate rotatable mount 112 (and / or object 102) toward and / or away from emitter 106 and / or detector 108. In some examples, support structure 118 can include one or more actuators configured to impart the translation(s).
[0047] Figure 2 The invention shows an imaging machine (such as Figure 1200) is an example of an imaging system 200 of the example imaging machine 100 shown in FIG. As shown, the imaging system 200 also includes a computing system 202, a user interface (UI) 204, and a remote computing system 299. Figure 2 Only one imaging machine 100 , computing system 202 , UI 204 , and remote computing system 299 is shown in the example of FIG. 2 , but in some examples, system 200 may include several imaging machines 100 , computing systems 202 , UI 204 , and / or remote computing systems 299 .
[0048] exist Figure 2 In the example of , the imaging machine 100 has an emitter 106, a detector 108, a detector positioner 150, and an object positioner 110 enclosed in a housing 199. As shown, the imaging machine 100 is connected to and / or communicates with (multiple) computing systems 202 and (multiple) UIs 204. In some examples, the imaging system 100 can also be in electrical communication with (multiple) remote computing systems 299. In some examples, the communication and / or connection can be electrical, electromagnetic, wired, and / or wireless.
[0049] exist Figure 2 In some examples, the UI 204 includes one or more input devices 206 and / or output devices 208. In some examples, the one or more input devices 206 may include one or more touch screens, mice, keyboards, buttons, switches, sliders, knobs, microphones, dials, and / or other electromechanical input devices. In some examples, the one or more output devices 208 may include one or more display screens, speakers, lights, tactile devices, and / or other devices. In some examples, a user can provide input to and / or receive output from the imaging machine(s) 100, the computing system(s) 202, and / or the remote computing system(s) 299 via the UI(s) 204.
[0050] In some examples, UI(s) 204 can be part of computing system 202. In some examples, computing system 202 can implement one or more controllers of imaging machine(s) 100. In some examples, computing system 202 can constitute an image acquisition system of imaging system 200 together with UI(s) 204. In some examples, remote computing system(s) 299 can be similar or identical to computing system 202.
[0051] exist Figure 2In the example of , computing system 202 communicates (e.g., electrically) with imaging machine(s) 100, UI(s) 204, and remote computing system(s) 299. In some examples, the communication may be direct communication (e.g., via a wired and / or wireless medium) or indirect communication, e.g., via one or more wired and / or wireless networks (e.g., a local area network and / or a wide area network). As shown, computing system 202 includes processing circuitry 210 (which may include a graphics processing unit (GPU)), memory circuitry 212, and communication circuitry 214 interconnected to one another via a common electrical bus.
[0052] In some examples, processing circuit system 210 may include one or more processors. In some examples, communication circuit system 214 may include one or more wireless adapters, wireless cards, cable adapters, line adapters, radio frequency (RF) devices, wireless communication devices, Bluetooth devices, devices compliant with IEEE 802.11, WiFi devices, cellular devices, GPS devices, Ethernet ports, network ports, Lightning cable ports, cable ports, etc. In some examples, communication circuit system 214 may be configured to facilitate communication via one or more wired media and / or protocols (e.g., (multiple) Ethernet cables, (multiple) Universal Serial Bus cables, etc.) and / or wireless media and / or protocols (e.g., near field communication (NFC), ultra-high frequency radio waves (commonly known as Bluetooth), IEEE 802.11x, Zigbee, HART, LTE, Z-Wave, Wireless HD, WiGig, etc.).
[0053] exist Figure 2 In the example of FIG. 1 , the memory circuit system 212 includes and / or stores the image data scaling process 500 / 530 (e.g., as Figure 5A and Figure 5B In some examples, image data scaling process 500 / 530 may be implemented via machine-readable (and / or processor-executable) instructions stored in memory circuitry 212 and / or executed by processing circuitry 210. In some examples, image data scaling process 500 / 530 may be performed as part of a larger scanning and / or imaging process of imaging system 200.
[0054] Figure 3A and Figure 3B The concept of identifying multiple regions 304 (or voxels) within an image 302 (e.g., a three-dimensional image) and assigning dynamic scaling values to different regions is shown. Specifically, the multiple regions 304 can correspond to voxels that represent values on a cubic grid arranged in a three-dimensional space, such as Figure 3A and Figure 3B The image data 302 is shown.
[0055] As shown, the figure depicts the image data as a cuboid having a first area grid 304a, a second area grid 304b, and a third area grid 304c. Figure 3A and Figure 3B In the example of , each region corresponds to a voxel having a defined size value of 300. Although the image data is depicted as a cuboid, image data of any geometric shape of varying complexity may employ the compression / reconstruction techniques disclosed herein.
[0056] like Figure 3B As shown, one or more regions or voxels 304 can be identified as presenting one or more characteristics corresponding to the scaling value. As shown, first regions 304a, 304b, and 304c have been identified as presenting a first characteristic (e.g., a first density value, a first contrast value, etc.), while second regions 304a1, 304b1, and 304c1 (shown as shaded for clarity) have been identified as presenting a second characteristic (e.g., a second density value, a second contrast value, etc.). A first scaling value (e.g., an 8-bit depth or value) can then be assigned to the first region (e.g., via processing circuit system 210), while a second scaling value (e.g., a 16-bit depth or value) can be assigned to the second region.
[0057] Although several examples are provided with respect to three-dimensional images (corresponding to models of three-dimensional objects), the principles and techniques disclosed herein are also applicable to two-dimensional images. Figure 4A and Figure 4B As shown, the disclosed compression / reconstruction techniques described herein are applied to pixels within image data.
[0058] exist Figure 4A In the example of , there are multiple regions 404 (or pixels) within an image 402 (e.g., a two-dimensional image), and dynamic scaling values are assigned to different regions. Specifically, the multiple regions 304 can correspond to pixels that represent values on a square grid arranged in a two-dimensional space, such as Figure 4A and Figure 4B The image data 302 is shown.
[0059] As shown, the diagram depicts image data as squares within a region grid 404, each square having a defined size value 400. Figure 4BAs shown, one or more regions or pixels 404 may be identified as exhibiting one or more characteristics corresponding to the scaling value. As shown, a first region 404 has been identified as exhibiting a first characteristic (e.g., a first density value, a first contrast value, etc.), while a second region 404a (shown as shaded for clarity) has been identified as exhibiting a second characteristic (e.g., a second density value, a second contrast value, etc.). A first scaling value (e.g., an 8-bit depth or value) may then be assigned to the first region (e.g., via processing circuitry 210), while a second scaling value (e.g., a 16-bit depth or value) may be assigned to the second region(s).
[0060] Figure 5A is a flow chart illustrating an example operation of a digital image data scaling process 500. Figure 5A In the example of , the digital image data scaling process 500 (e.g., compression, decompression and / or reconstruction) starts at block 502. At block 504, the process 500 identifies a plurality of regions in the digital image of the object. For example, each region may correspond to a voxel or a pixel, and each region may have an equal size.
[0061] At block 506, one or more characteristics of each identified region are determined. For example, data corresponding to a given region may be compared to a characteristics list that associates characteristic data with a desired zoom value, depth, volume, or size (e.g., a desired compression value) at block 508. In some examples, the list is stored on memory circuitry 212, but may additionally or alternatively be stored on remote computing system 299.
[0062] Based on the comparison, a scaling value, depth, volume, or size corresponding to each region is identified at block 510. For example, a first scaling value, depth, volume, or size may be identified for a region having a first characteristic, and a second value, depth, volume, or size may be identified for a region having a second characteristic. In some examples, the scaling value is a bit value or bit depth of a voxel and / or pixel in the image data.
[0063] At block 512, a first scaling value, depth, volume, or size (e.g., a bit value) is assigned to a first region of the plurality of regions, and at block 514, a second scaling value, depth, volume, or size (e.g., a bit value) is assigned to a second region of the plurality of regions. Although certain examples are provided that describe that a plurality of regions within image data may be divided into a first region and a second region, the image data is not limited to two regions or two types of regions. For example, there may be three, four, or more regions (e.g., an unlimited number of regions), each of which may be assigned a common scaling value or any of a plurality of scaling values (e.g., based on one or more characteristics of each region).
[0064] At block 516, the digital image data associated with the first region and the second region is scaled / compressed based on the corresponding scaling values. At block 518, the scaled / compressed digital image data associated with the first region and the second region is written to a storage medium (e.g., memory circuit 212, remote computing system 299).
[0065] Figure 5A Image data scaled and stored in Figure 5B decompress and reconstruct in the flowchart of Figure 5B An example digital image data scaling process 530 is shown. Figure 5B In an example of the present invention, a digital image data scaling process 530 (e.g., decompression and / or reconstruction) begins at block 532, where the system receives a command to reconstruct compressed and stored image data, such as via UI 204 or remote computing system 299. At block 534, a storage medium is accessed to scale the image data. At block 536, a third scaling value is assigned to the first region and the second region, so that the image data associated with the two regions is decompressed at block 538. After the image data has been scaled to the third scaling value (e.g., from an 8 or 16-bit value to a 32-bit value), a digital image of the object is reconstructed at block 540. In some examples, the reconstructed digital image is presented at block 542, such as to a display. The process ends at block 544.
[0066] The method and / or system can be implemented with hardware, software, or a combination of hardware and software. The method and / or system can be implemented in a centralized manner in at least one computing system, or in a distributed manner with different elements spread over several interconnected computing systems and / or remote computing systems. Any type of computing system or other device adapted to perform the method described herein is suitable. A typical combination of hardware and software can be a general computing system with a program or other code, which controls the computing system when loaded and executed so that the computing system performs the method described herein. Another typical implementation may include a dedicated integrated circuit or chip. Some implementations may include a non-transient machine-readable (e.g., computer-readable) medium (e.g., a flash drive, an optical disk, a magnetic storage disk, etc.), which stores one or more instructions (multiple lines of code) on the non-transient machine-readable medium, which can be executed by a machine so that the machine performs the process described herein.
[0067] Although the present method and / or system has been described with reference to certain embodiments, it will be appreciated by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present method and / or system. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present disclosure without departing from the scope of the present disclosure. Therefore, the present method and / or system is not intended to be limited to the specific embodiments disclosed, but rather the present method and / or system will include all embodiments falling within the scope of the appended claims.
[0068] As used herein, "and / or" refers to any one or more of the items connected by "and / or" in a list. As an example, "x and / or y" refers to any element in the three-element set {(x), (y), (x, y)}. In other words, "x and / or y" means "one or both of x and y". As another example, "x, y and / or z" refers to any element in the seven-element set {(x), (y), (z), (x, y), (x, z), (y, z), (x, y, z)}. In other words, "x, y and / or z" means "one or more of x, y and z".
[0069] As used herein, the terms "eg," and "for example," introduce a list of one or more non-limiting examples, instances, or illustrations.
[0070] As used herein, the terms "coupled," "coupled to," and "coupled with" refer to structural and / or electrical connections, respectively, whether attached, attached, connected, linked, fastened, associated, and / or otherwise secured. As used herein, the term "attached" refers to attached, coupled, connected, linked, fastened, associated, and / or otherwise secured. As used herein, the term "connected" refers to attached, attached, coupled, linked, fastened, associated, and / or otherwise secured.
[0071] As used herein, the terms "circuit" and "circuitry" refer to physical electronic components (i.e., hardware) and any software and / or firmware ("code") that may configure, be executed by, and / or otherwise be associated with the hardware. As used herein, for example, a particular processor and memory may constitute a first "circuit" when executing a first one or more lines of code, and may constitute a second "circuit" when executing a second one or more lines of code. As used herein, a circuitry is "operable" and / or "configured" to perform a function when the circuitry includes the necessary hardware and / or code (if necessary) to perform the function, regardless of whether performance of the function is disabled or enabled (e.g., by a user-configurable setting, a factory adjustment, etc.).
[0072] As used herein, control circuitry may include digital circuit systems and / or analog circuit systems, discrete circuit systems and / or integrated circuit systems, microprocessors, DSPs, etc., located on one or more circuit boards forming part or all of a controller and / or software, hardware and / or firmware for controlling a welding process and / or devices such as a power supply or a wire feeder.
[0073] As used herein, the term "processor" refers to a processing device, apparatus, program, circuit, component, system and subsystem, whether implemented in hardware, software in tangible form or both, and whether or not it is programmable. As used herein, the term "processor" includes, but is not limited to, one or more computing devices, hard-wired circuits, signal modification devices and systems, devices and machines for controlling systems, central processing units, programmable devices and systems, field programmable gate arrays, application-specific integrated circuits, systems on chips, systems including discrete components and / or circuits, state machines, virtual machines, data processors, processing facilities, and any combination of the above components. The processor may be, for example, any type of general-purpose microprocessor or microcontroller, a digital signal processing (DSP) processor, an application-specific integrated circuit (ASIC), a graphics processing unit (GPU), a reduced instruction set computer (RISC) processor with an advanced RISC machine (ARM) core, etc. The processor may be coupled to a memory device and / or integrated with the memory device.
[0074] As used herein, the terms "memory" and / or "memory device" refer to computer hardware or circuitry for storing information for use by a processor and / or other digital device. The memory and / or memory device may be any suitable type of computer memory or any other type of electronic storage medium, such as read-only memory (ROM), random access memory (RAM), cache memory, compact disk read-only memory (CDROM), electro-optical memory, magneto-optical memory, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), computer-readable media, etc. The memory may include, for example, non-transitory memory, non-transitory processor-readable medium, non-transitory computer-readable medium, non-volatile memory, dynamic RAM (DRAM), volatile memory, ferroelectric RAM (FRAM), first-in-first-out (FIFO) memory, last-in-first-out (LIFO) memory, stack memory, non-volatile RAM (NVRAM), static RAM (SRAM), cache, buffer, semiconductor memory, magnetic memory, optical memory, flash memory, flash memory card, compact flash memory card, memory card, secure digital memory card, micro card, mini card, expansion card, smart card, memory stick, multimedia card, picture card, flash memory device, subscriber identity module (SIM) card, hardware drive (HDD), solid state drive (SSD), etc. The memory may be configured to store code, instructions, applications, software, firmware and / or data, and may be external to the processor, internal to the processor, or both internal and external to the processor.
Claims
1. A method for compressing digital image data of an object, the method comprising: identifying a plurality of regions in the digital image of the object; assigning a first value to a first region of the plurality of regions; compressing digital image data associated with the first region based on the assigned first bit value; assigning a second bit value to a second region of the plurality of regions; compressing digital image data associated with the second region based on the assigned second bit value; as well as Compressed digital image data associated with the first region and the second region are stored on a storage medium.
2. The method of claim 1, further comprising: accessing the storage medium; assigning a third bit value to the first region and the second region of the plurality of regions; decompressing compressed digital image data associated with the first region and the second region based on the assigned third bit value; as well as The digital image of the object is reconstructed based on the third bit value.
3. The method of claim 1, further comprising presenting the digital image to a user via one or more output devices.
4. The method of claim 1, wherein: The first bit value is 8 bits.
5. The method of claim 1, wherein: The second bit value is 16 bits.
6. The method of claim 1, wherein: The third bit value is 32 bits.
7. The method of claim 1, wherein: The digital image is composed of a plurality of voxels or pixels.
8. The method of claim 7, wherein: Each voxel or pixel in the plurality of voxels corresponds to one region in the plurality of regions.
9. The method of claim 7, wherein: The size of each voxel, or pixel, ranges from tens to hundreds of micrometers.
10. The method of claim 7, wherein: Each region of the plurality of regions corresponds to one voxel or pixel of the plurality of voxels or pixels.
11. The method of claim 1 , further comprising scanning the object with a radiation emitting source to generate a digital image of the object.
12. The method of claim 1, wherein: The first bit value and the second bit value are the same bit value.
13. The method of claim 1, further comprising: assigning a fourth bit value to a third region of the plurality of regions; compressing digital image data associated with the third region based on the assigned fourth bit value; as well as Compressed digital image data associated with the third region is stored.
14. An industrial imaging system comprising: an adjustable fixture configured to position an object; a detector configured to capture radiation from the object; as well as An image acquisition system configured to generate an image of the object based on the detected radiation, the image acquisition system comprising: a user interface, the user interface comprising an input device, processing circuitry, and memory circuitry comprising machine-readable instructions that, when executed by the processing circuitry, cause the processing circuitry to: receiving, via the detector, digital image data corresponding to the object; identifying a plurality of regions in the digital image; receiving, via the input device, a selection of a first bit depth for a first region of the plurality of regions; receiving, via the input device, a selection of a second bit depth for a second region of the plurality of regions; compressing digital image data associated with the first region based on the assigned first bit depth; compressing digital image data associated with the second region based on the assigned second bit depth; and Compressed digital image data associated with the first region and the second region is stored on the memory circuitry.
15. The system of claim 14, wherein: The processing circuitry is further operable to store compressed digital image data associated with the second region on a storage medium.
16. The system of claim 14, further comprising a radiation emitter for emitting radiation toward the object for receipt by the detector.
17. The system of claim 14, wherein: The detector is a sensor panel including one or more of a charge coupled device (CCD) panel or a complementary metal oxide semiconductor (CMOS) panel.
18. A method for compressing digital image data of an object, the method comprising: identifying a plurality of regions in the digital image of the object; determining one or more characteristics of each identified region of the plurality of regions; assigning a bit value to each identified region of the plurality of regions based on the one or more characteristics; compressing digital image data associated with each identified region based on the assigned bit values; as well as Compressed digital image data associated with each identified region is stored on a storage medium.
19. The method of claim 18, further comprising: comparing the determined one or more characteristics to a list associating characteristic data with expected bit values; as well as The assigned bit value is determined based on the comparison.
20. The method of claim 19, wherein: One of the assigned bit value or the expected bit value is 8 bits, 16 bits, or 32 bits.