Specialized dental laboratories typically use computer-aided design (CAD) and computer-aided manufacturing (CAM) milling systems to manufacture dental prostheses based on patient-specific instructions provided by dentists.
In a typical work flow, the dental laboratories receive information about a patient's oral situation from a dentist. Using this information, the dental laboratory designs a dental prosthesis on the CAD system and manufactures the prosthesis on the CAM system with a mill or other fabrication system. To use the CAD/CAM system, a digital model of the patient's dentition is required as an input to the process. Several techniques may be used to produce a digital model.
Despite the rise of intraoral scanning technology, the prevalent method of generating digital model data still relies on scanning a stone model cast from an impression. Even in more technically advanced markets, it is estimated that only 25% of clinicians own an intraoral scanner.
Scanning and digitizing physical dental impressions directly into a digital model can be faster and more accurate than traditional techniques and systems. However, conventional techniques for generating a digital model can create an inaccurate digital surface topology and consume time and resources. A digital model can include a digital surface and a digital surface mesh each representing the digital surface topology of a physical impression. Conventional techniques typically generate the digital surface mesh from a volumetric image file by producing a large number of triangles. Due to the large number of triangles created, conventional techniques typically can require removing and modifying triangles by employing digital surface mesh simplification and smoothing in post-processing. The digital surface mesh simplification and smoothing in post-processing can result in a large number of degenerate triangles, resulting in a distorted and/or inaccurate digital surface mesh. Generation of the digital surface and digital surface mesh and its post-processing can also consume both time and valuable computing resources. For example, conventional digital surface and digital surface mesh generation techniques can take up to and including 10 minutes to generate a single digital model, thereby slowing production and tying up resources. Selecting the digital surface and generating the digital surface mesh from a volumetric image file of voxels can require setting an arbitrary iso-value. Since the iso-value can also influence position and shape of the digital surface selected from the volumetric image file, its arbitrary selection can lead to an inaccurate surface position, shape, and topology. For dental impressions, the iso-value of density can be selected from a wide range of values between air density and impression material density.
Due to the emerging need for processing digital models, any improvements to the conventional process are likely to remain relevant and benefit patients and clinicians alike for some time. Accordingly, improvements to systems and methods of generating digital models of patients' dentition are desirable.
A computer-implemented method of determining a material surface from a volumetric density file is disclosed. The computer-implemented method includes generating a density frequency distribution of a volumetric density file of a dental impression and determining an iso-value of density between air and a particular material in the density frequency distribution.
A computer-implemented system of automatic detection of iso-value of density is disclosed. The system includes a processor, a computer-readable storage medium including instructions executable by the processor to perform steps, including: generating a density frequency distribution of a volumetric density file of a dental impression and determining an iso-value of density between air and a particular material in the density frequency distribution.
A computer-implemented method of creating a digital model from a CT scan of a physical dental impression is disclosed. An iso-value of density is selected for a digital volumetric density file having one or more voxels. One or more digital surface points in virtual 3D space for each of one or more voxels is generated. A subset of digital surface points from the one or more digital surface points is selected.
A digital impression processing system for creating a digital model from a CT scan of a physical dental impression, is disclosed. The system includes a processor, computer-readable storage medium having instructions executable by the processor to perform steps including selecting an iso-value of density for a digital volumetric density file including one or more voxels, generating one or more digital surface points in virtual 3D space for each of one or more voxels, and selecting a subset of digital surface points from the one or more digital surface points.
A non-transitory computer readable medium storing executable computer program instructions for creating a digital model from a CT scan of a physical dental impression is disclosed. The computer program instructions can include instructions for selecting an iso-value of density for a digital volumetric density file including one or more voxels, generating one or more digital surface points in virtual 3D space for each of one or more voxels and selecting a subset of digital surface points from the one or more digital surface points.
Also disclosed is a computer-implemented method of determining a material surface from a volumetric density file, including: generating a density frequency distribution of a volumetric density file of a dental impression and determining an iso-value of density between air and a particular material in the density frequency distribution is disclosed.
A computer-implemented system of automatic detection of iso-value of density, including a processor, a computer-readable storage medium comprising instructions executable by the processor to perform steps including: generating a density frequency distribution of a volumetric density file of a dental impression, and determining an iso-value of density between air and a particular material in the density frequency distribution is disclosed.
A computer-implemented system of automatic detection of iso-value of density, including: a processor, a computer-readable storage medium comprising instructions executable by the processor to perform steps including: generating a density frequency distribution of a volumetric density file of a dental impression, and determining an iso-value of density between air and a particular material in the density frequency distribution is disclosed.
A non-transitory computer readable medium storing executable computer program instructions for automatic detection of iso-value of density, the computer program instructions including instructions for: generating a density frequency distribution of a volumetric density file of a dental impression, and determining an iso-value of density between air and a particular material in the density frequency distribution is also disclosed.
A computer-implemented method of optimizing a digital surface, including: receiving a digital surface comprising a plurality of digital surface points, selecting a criteria of digital surface optimization on the digital surface points, and moving one or more digital surface points to satisfy the criteria of optimum digital surface selection is also disclosed.
A computer-implemented system of optimizing a digital surface, including: a processor, a computer-readable storage medium comprising instructions executable by the processor to perform steps including: receiving a digital surface comprising a plurality of digital surface points, selecting a criteria of digital surface optimization on the digital surface points, and moving one or more digital surface points to satisfy the criteria of optimum digital surface selection is also disclosed.
A non-transitory computer readable medium storing executable computer program instructions for optimizing a digital surface, the computer program instructions including instructions for: receiving a digital surface comprising a plurality of digital surface points, selecting a criteria of digital surface optimization on the digital surface points, and moving one or more digital surface points to satisfy the criteria of optimum digital surface selection.
For purposes of this description, certain aspects, advantages, and novel features of the embodiments of this disclosure are described herein. The disclosed methods, apparatus, and systems should not be construed as being limiting in any way. Instead, the present disclosure is directed toward all novel and nonobvious features and aspects of the various disclosed embodiments, alone and in various combinations and sub-combinations with one another. The methods, apparatus, and systems are not limited to any specific aspect or feature or combination thereof, nor do the disclosed embodiments require that any one or more specific advantages be present or problems be solved.
Although the operations of some of the disclosed embodiments are described in a particular, sequential order for convenient presentation, it should be understood that this manner of description encompasses rearrangement, unless a particular ordering is required by specific language set forth below. For example, operations described sequentially may in some cases be rearranged or performed concurrently. Moreover, for the sake of simplicity, the attached figures may not show the various ways in which the disclosed methods can be used in conjunction with other methods. Additionally, the description sometimes uses terms like “provide” or “achieve” to describe the disclosed methods. The actual operations that correspond to these terms may vary depending on the particular implementation and are readily discernible by one of ordinary skill in the art.
As used in this application and in the claims, the singular forms “a,” “an,” and “the” include the plural forms unless the context clearly dictates otherwise. Additionally, the term “includes” means “comprises.” Further, the terms “coupled” and “associated” generally mean electrically, electromagnetically, and/or physically (e.g., mechanically or chemically) coupled or linked and does not exclude the presence of intermediate elements between the coupled or associated items absent specific contrary language.
In some examples, values, procedures, or apparatus may be referred to as “lowest,” “best,” “minimum,” or the like. It will be appreciated that such descriptions are intended to indicate that a selection among many alternatives can be made, and such selections need not be better, smaller, or otherwise preferable to other selections.
In the following description, certain terms may be used such as “up,” “down,” “upper,” “lower,” “horizontal,” “vertical,” “left,” “right,” and the like. These terms are used, where applicable, to provide some clarity of description when dealing with relative relationships. But, these terms are not intended to imply absolute relationships, positions, and/or orientations. For example, with respect to an object, an “upper” surface can become a “lower” surface simply by turning the object over. Nevertheless, it is still the same object.
As noted above, in a typical work flow, information about the oral situation of a patient is received from a dentist, the dental laboratory designs the dental prosthesis, and the prosthesis is manufactured using a mill or other fabrication system. When making use of CAD design and CAM manufacturing in dentistry, a digital model of the patient's dentition is required as an input to the process. Despite the rise of intraoral scanning technology, the prevalent method of acquisition of digital model data is still scanning a stone model cast from a physical negative impression of the patient's dentition.
A physical negative impression of the patient's dentition is typically obtained by the use of a dental impression tray containing impression material. One example is described in U.S. Patent Application No. US20180132982A1 to Nikolskiy et al., which is hereby incorporated in its entirety by reference.
An example of an impression tray is shown in
For example, in
As noted above, in a conventional workflow, a physical dental impression formed in the manner described above would be used to cast a model of the patient's dentition formed of stone, polymeric, or other suitable material. The cast model would then be scanned using an optical scanner in order to obtain a digital model. The digital model would then be used to design one or more restorations, or for other purposes. This conventional workflow creates potential sources of error or inaccuracy that would be avoided by alternative methods or alternative workflows that avoided the step of forming the cast model and, instead, proceeded directly from the physical impression to a digital model.
In one embodiment of the present method, a computed tomography (CT) scanner uses x-rays to make a detailed image of a physical impression. A plurality of such images are then combined to form a 3D model of the patient's dentition. A schematic diagram of an example of a CT scanning system 140 is shown in
An example of a suitable scanning system 140 includes a Nikon Model XTH 255 CT (Metrology) Scanner which is commercially available from Nikon Corporation. The example scanning system includes a 225 kV microfocus x-ray source with a 3 μm focal spot size to provide high performance image acquisition and volume processing. The processor 150 may include a storage medium that is configured with instructions to manage the data collected by the scanning system.
As noted above, during operation of the scanning system 140, the impression 146 is located between the x-ray source 142 and the x-ray detector 148. A series of images of the impression 146 are collected by the processor 150 as the impression 146 is rotated in place between the source 142 and the detector 146. An example of a single image 160 is shown in
The plurality of images 160 of the impression 146 are generated by and stored within a storage medium contained within the processor 150 of the scanning system 140, where they may be used by software contained within the processor to perform additional operations. For example, in an embodiment, the plurality of images 160 undergo tomographic reconstruction in order to generate a 3D virtual image 170 (see
In one embodiment, the volumetric image 170 is converted into a surface image 180 (see, e.g.,
In one embodiment, the surface imaging algorithm used to convert the volumetric image 170 into a surface image 180 is configured to construct the surface image of the dentition 180 directly from the volumetric image 170 without including an intermediate step of constructing a surface image of the impression. For example,
In the embodiment shown, as described above, a dental impression is collected using a triple tray 100 dental impression tray, thereby collecting an upper impression 122, a lower impression 124, and a bite registration in a single step. As a result, after scanning, reconstruction, and generation of a volumetric image of the triple tray and impression 146 (see
In some embodiments, a scan of a dental impression such as physical triple tray impression 2000 illustrated in
Exemplary embodiments of methods and systems are described herein. The computer-implemented executable methods of generating a digital model described herein can use the digital volumetric density file to generate the digital model. In some embodiments, the digital volumetric density file can be received. In some embodiments, the digital volumetric density file can be generated as described herein, or by any CT scanning system known in the art.
Iso-Value of Density
In some embodiments, the computer-implemented system determines an iso-value of density of a digital surface of a particular material from a volumetric density file. In some embodiments, the iso-value(s) can be determined automatically. In some embodiments, the volumetric file can be received by the computer-implemented system.
Since the isosurface 194 represents a collection of points within the volumetric image 190 that have the same volumetric density value, determining the isosurface 194 requires determining the volumetric density value (“density”) value of the material of the digital surface. Creating a digital surface from the volumetric density file thus requires determining an iso-value of density of the digital surface material.
The volumetric density file contains voxels having density information of one or more materials and surrounding air in a CT scan volume of a physical dental impression. The number of voxels at a particular density value can represent the amount of the material/air having that particular density. In some scans, air occupies most of the CT scan volume. This can occur, for example, in CT scans of triple tray impressions or other dental impressions that occupy a smaller volume of the CT scan volume than air. In such scans, since air has the highest volume, the number of voxels with a density value falling within the density range of air is highest. In some embodiments, the impression material occupies the second highest volume in the CT scan volume next to air. The number of voxels having a density falling within the density range of the impression material can therefore be the second highest. Similarly, other materials such as the handle can constitute the least amount of material and therefore occupy the least volume in the CT scan volume. The number of voxels having a density falling within the density range of the handle material can therefore have the lowest voxel count.
In another example, the dental impression material can occupy most of the CT scan volume. This can occur in CT scans of full arch impressions, for example, or other dental impressions that occupy more of the CT scan volume than air. In such scans, the impression material of the dental impression can occupy the most volume in the CT scan volume. The number of voxels having a density value falling within the density range of the impression material can therefore be the highest voxel count. The air in such a scan can occupy the second highest volume in the CT scan volume. The number of voxels having a density falling within the density range of air can therefore be the second highest voxel count. Similarly, other materials such as the handle can constitute the least amount of material in the CT scan so that the number of voxels having a density falling within the density range of the handle material can have the lowest voxel count.
As illustrated in the histogram 211 of
In some embodiments, the computer-implemented method uses the density frequency distribution to determine an iso-value of density of a digital surface of a particular material. In some embodiments, since the physical surface of the particular material is typically adjacent to air, the digital surface of the particular material can be between an air density range and a particular material density range in the density frequency distribution. The digital surface of the particular material can be found by determining an iso-value of density between air and the particular material in the density frequency distribution. In some embodiments, the computer-implemented method can determine the iso-value of density between the air density range and the particular material density range. In some embodiments, the particular material can be an impression material, for example, in which case the digital surface is that of the impression material. In some embodiments, the digital surface of the particular material can be found by determining an iso-value of density just below the density of the particular material in the density frequency distribution.
In some embodiments, the computer-implemented method can determine the air density range and the particular material density range based on voxel counts in the density frequency distribution. In some embodiments, the computer-implemented method can use voxel counts to determine one or more voxel count peaks as the highest voxel counts in the density frequency distribution. For example, the computer-implemented method can compare the voxel counts at each scan density subrange and determine which scan density subrange the voxel count either switches from increasing to decreasing, or begins decreasing. In some embodiments, a voxel count peak can span one or more scan density subranges. Other techniques can be used to determine voxel count peaks in the density frequency distribution. In some embodiments, the computer-implemented method can determine valleys by determining the scan density subranges the voxel count either switches from decreasing to increasing, or starts increasing. Other techniques can be used to determine valleys in the density frequency distribution. In some embodiments, a voxel count peak can span one or more scan density subranges. In some embodiments, the number of peaks in the density frequency distribution is proportional to the number of materials plus air in the CT scan volume, for example. In some embodiments, the valleys are arranged between two voxel count peaks.
For example, as illustrated in
In some embodiments, the computer-implemented method can determine one or more material/air density ranges based on the type of impression scanned. In some cases, most of the CT scan volume can be air, followed by the volume of a particular material whose digital surface is desired, such as impression material, for example, followed by the volume other materials, such as the handle material in some embodiments, for example. In such cases, the air density range can correspond to the highest peak density range and the particular material density range can correspond to the second highest peak density range, for example. In other cases, most of the CT scan volume can be the particular material whose digital surface is desired, followed by air, followed by other materials, such as the handle material, for example. In such cases, the particular material density range can correspond to the highest peak density range and the air density range can correspond to the second highest peak density range, for example.
Some embodiments can also include additional materials such as implant coping material. This can include, for example, Titanium, which can correspond to the highest density in the density frequency distribution.
In some embodiments, the computer-implemented method can determine an iso-value of density between the air density range and the particular material density range. The computer-implemented method receives a volumetric density file and generates a density frequency distribution. The computer-implemented method receives information regarding a type of impression scanned including the presence of any implant coping material. The computer-implemented method determines whether air or the particular material occupies the most volume of the CT scan volume based on the type of impression scanned. In some embodiments, the computer-implemented method determines air occupies the most volume if the impression type is a triple tray impression, for example. In some embodiments, the computer-implemented method determines the particular material occupies the most volume if the impression type is a full arch impression, for example. The computer-implemented method determines voxel count peaks in the density frequency distribution. If the computer-implemented method determines that air occupies most of the CT scan volume and the particular material occupies the second highest volume based on the type of impression scanned, the computer-implemented method determines the air density range as the one or more density subranges of the highest voxel count peak and the particular material density range as the one or more density subranges of second highest voxel count peak. If the computer-implemented method determines that a particular material occupies most of the CT scan volume and air occupies the second most based on the type of impression scanned, the computer-implemented method determines the particular material density range as the one or more density subranges of the highest voxel count peak and the air density range as the one or more density subranges of the second highest peak. The computer-implemented method chooses an iso-value of density between the air density range and the particular material density range. In some embodiments, the computer-implemented method outputs an iso-value of density between the one or more density subranges of the highest voxel count peak and one or more density subranges of the second highest peak, for example. Optionally, in some embodiments, if the computer-implemented method has received information that implant coping material is present, the computer-implemented method determines the last peak by order (or the highest density peak) as the implant coping material and also outputs the iso-value of density at or in some embodiments just below the density of the implant coping material. In some embodiments, the implant coping material can be Titanium.
In the example of
In some embodiments, total voxel counts in the density ranges can be used instead of voxel count peaks to determine an iso-value of density between the air density range and the particular material density range. For example, in some embodiments, the computer-implemented method receives a volumetric density file and generates a density frequency distribution. The computer-implemented method receives information regarding a type of impression scanned including the presence of any implant coping material. The computer-implemented method determines whether air or the particular material occupies the most volume of the CT scan volume based on the type of impression scanned. In some embodiments, the computer-implemented determines air occupies the most volume if the impression type is a triple tray impression. In some embodiments, the computer-implemented determines the particular material occupies the most volume if the impression type is a full arch impression. The computer-implemented method determines voxel count peaks in the density frequency distribution. The computer-implemented method determines one or more voxel count valleys between the voxel count peaks. The computer-implemented method determines one or more density ranges between the valleys, between 0.0 or the minimum density value of the normalized density range and a first valley, and between the last valley and the maximum density value of the normalized density range. The computer-implemented method calculates a density range voxel count for each of the one or more density ranges. In some embodiments, the computer-implemented method can count the total number of voxels in each of the one or more density ranges. In some embodiments, the computer-implemented method can perform an integration on a curve that connects the voxel count peaks within each of the one or more density ranges. If the computer-implemented method determines air occupies most of the CT scan volume and the particular material occupies the second highest volume based on the type of impression scanned, the computer-implemented method determines the air density range as the highest voxel count density range and the particular material density range as the second highest voxel count density range. If the computer-implemented method determines that a particular material occupies most of the CT scan volume and air occupies the second most based on the type of impression scanned, the computer-implemented method determines the air density range as the second highest voxel count density range and the particular material density range as the highest highest voxel count density range. The computer-implemented method chooses an iso-value of density between the air density range and the particular material density range. In some embodiments, the computer-implemented method outputs an iso-value of density between the highest voxel count density range and the second density range voxel count, for example. Optionally, in some embodiments, if the computer-implemented method has received information that implant coping material is present, the computer-implemented method determines the last density range by order or highest density range as the implant coping material and also outputs the iso-value of density of the implant coping material. In some embodiments, the implant coping material can be Titanium.
For example, the computer-implemented method generates a density frequency distribution illustrated as histogram 211 in
Similarly, as illustrated in the example of
In some embodiments as illustrated in the examples, the computer-implemented method determines density range voxel counts by calculating an area beneath the voxel count curve extending between the particular density range endpoints. For the example of
Contaminant Material Detection
In some embodiments, contaminant materials can be present in the physical dental impression and can distort the density frequency distribution. Contaminant materials can include, for example, dental cement, or materials other than impression, handle, tray, or implant coping materials, for example. The contaminant materials can have much higher density than the density of the dental impression material, handle, or tray.
In some embodiments, the computer-implemented method detects the presence of contaminant materials based on the density frequency distribution of a volumetric density file. The computer-implemented method can detect contaminant materials after CT scanning and reject a contaminated CT scan entirely from automatic iso-surface generation. In some embodiments, the computer-implemented method determines the presence of contaminant materials automatically. In some embodiments, the computer-implemented method can receive the volumetric density file.
In some embodiments, the computer-implemented method receives a volumetric density file and generates an initial density frequency distribution as illustrated by histogram 300 illustrated in
If the trimmed scan density range 308 f has a first scan density 305 a and a last scan density 315 z, then the trimmed scan density range 308 where any scan density 309 x is a density value in between a and z is f′=(x−a)/(z−a). The trimmed scan density range 308 can be between 0.0 and 1.0, in some embodiments, for example.
As illustrated in
To detect contaminants in the scan, the computer-implemented method can then determine a density subrange of a second valley 310 in the trimmed density frequency distribution illustrated in histogram 325. If the density subrange value 313 of the second valley 310 is below a user-selectable contaminant density threshold 311, then the computer-implemented method rejects the CT scan from isosurface generation and the CT scan is not further processed. As an example, in some embodiments, the user-selectable contaminant density threshold 311 can be set to 0.3.
In the example illustrated in the histogram
If, on the other hand, the second valley 310 has a density value greater than the user-selectable contaminant density threshold such as threshold 311, for example, the computer-implemented method classifies the CT scan as not contaminated and allows the trimmed density frequency distribution illustrated by histogram 325 to be further processed to determine the iso-value and extract the isosurface as described in the present disclosure
In some embodiments the computer-implemented method can detect contaminated dental impression scans by comparing the density subrange count between the highest and second highest voxel count peaks. For example, the computer-implemented method can receive a volumetric density file of a dental impression scan, generate an initial density frequency distribution, determine a trimmed density frequency distribution from the initial density frequency distribution, and renormalize voxels as described previously. The computer-implemented method can determine the air density range and the particular material density range based on voxel count peaks and the type of dental impression scanned as described previously. The computer-implemented method can determine the density subrange count between the air density range and the particular material density range. In some embodiments, the computer-implemented method can determine the density subrange count between the highest voxel count peak and the second-highest voxel count peak. In some embodiments if the density subrange count is less than a threshold parameter, the computer-implemented method determines the scan is contaminated and notifies an operator and/or removes the CT scan from further processing. If the density subrange count is greater than the threshold parameter, then the computer-implemented method determines the dental impression is not contaminated and allows the trimmed density frequency distribution illustrated by histogram 325 to be further processed to determine the iso-value and extract the isosurface as described in the present disclosure. In some embodiments, the threshold parameter can be 0.2, for example.
Once the iso-value of density of the particular material is determined, it can be provided/made available to other systems/computer-implemented methods used, for example, to extract an iso-surface. Both determining the iso-value of density and extracting an iso-surface can occur automatically without user information/input. The terms “peaks” and “valleys” can, in some embodiments, represent maximums and minimums, or ranges of maximums and minimums, respectively, for example. For example, a “peak” can refer to one or more maximum data points and a valley can represent one or more data points between two maximum data points.
One or more of the features described in the present disclosure can be performed automatically by the computer-implemented method, without user interaction.
Some advantages of the features described in this disclosure include, but are not limited to, for example, determining the iso-value of density value rather than setting it randomly or based on previous or other scans. Another advantage is, for example, avoiding subjective manual guessing/setting of the iso-value of density by user. Instead, for example, the system empirically itself automatically can calculate the iso-value of density from the scan itself. This can, for example, advantageously improve accuracy and reduce processing time in determining iso-value of density, and thus allow extraction of the proper iso-surface of the impression material in some embodiments.
One advantage of automatically detecting contaminated CT scans is to improve the accuracy of the iso-density value and the isosurface extracted from the voxel file. This can provide an improved and more accurate digital representation of the physical dental impression's surface topology, for example.
Point Cloud Generation
In some embodiments, the computer-implemented method can generate a point cloud based on a selected iso-value of density for a volumetric density file. The point cloud can be generated by the computer-implemented method in some embodiments by comparing a selected iso-value of density to densities of one or more voxels in a volumetric density file and generating digital surface points at the selected iso-value of density in a point cloud. The iso-value of density can be a selectable value that can be chosen by a user and/or can be automatically determined in some embodiments and provided to the computer-implemented method. In some embodiments, the volumetric density file can be received by the computer-implemented method.
For example, if the selected iso-value of density corresponds to the density of one or more voxels in the volumetric density file, then zero or more digital surface points can be generated and arranged in virtual 3D space at position(s) in the point cloud corresponding to position(s) of one or more voxels in the volumetric density file by the computer-implemented method. In some embodiments, as discussed below, if the selected iso-value of density is between two voxel density values, then zero or more digital surface points can be generated and arranged in virtual 3D space in position(s) corresponding to position(s) between two voxel positions along a voxel edge by the computer-implemented method. In some embodiments, the computer-implemented method generates the point cloud automatically using a selected iso-value of density.
In some embodiments of a computer-implemented method, the volumetric density file containing voxels is loaded, and each voxel is evaluated against a selectable iso-value of density. If the selected iso-value of density matches the density value at a voxel, then the computer-implemented method can generate one or more digital surface points and arrange the one or more digital surface points in the point cloud at a position that corresponds to or is in the neighborhood of the position of the voxel in the volumetric density file. In some embodiments of the computer-implemented method, if the selected iso-value of density falls between the density value of voxels, then the computer-implemented method can generate one or more digital surface points in the point cloud at position(s) corresponding to position(s) between the voxels along an edge connecting the voxels as further discussed below.
In the example figure, a selected iso-value of density of 0.3, for example, would fall between voxel 18002, which has a density of 0, and voxel 18004, which has a density of 0.5. One or more digital surface points can be generated at a position in the point cloud corresponding to a position 18010 in the volumetric density file between voxel 18002 and voxel 18004 along a voxel edge 18003. One or more digital surface points can also be generated and placed at a position in the point cloud corresponding to a position 18014 in the volumetric density file between voxel 18002 and voxel 18006 along their voxel edge 18005 since the selected iso-value of density (0.3) in the example also falls between the densities at voxels 18002 and 18006. In the example, no digital surface points are generated and placed at a position in the point cloud corresponding to the position in the volumetric density file between voxels 18004 and 18011 because the selected iso-value of density 0.3 does not fall between the values of voxel 18004 (0.5) and 18011 (1.0). One or more digital surface points can also be generated and placed at a position in the point cloud corresponding to a position 18016 in the volumetric density file between voxel 18004 and voxel 18008 along their voxel edge 18013 since the selected iso-value of density (0.3) in the example also falls between the densities at voxels 18004 and 18008. Since voxel 18012 has a density value matching the selected iso-value of density of 0.3, a digital surface point can be generated in the point cloud at the same corresponding position 18020 of the voxel 18012.
In some embodiments of the computer-implemented method, digital surface points that are generated for an iso-density value falling between voxels can be proportionately spaced in the point cloud between corresponding positions of voxels for which they are generated. For example, a selected iso-value of density of 0.3 is closer to density 0.5 of voxel 18006 than to density 0 of voxel 18002. The computer-implemented system can, for example, generate a digital surface point at position 18014 in the point cloud since position 18014 is proportionately closer to the corresponding position of voxel 18006 than to the position of voxel 18002 in the volumetric density file. A digital surface point is generated at position 18018 in the point cloud for an iso-density value of 0.3 since position 18018 is proportionally closer to the corresponding position of voxel 18006 with density 0.5 than the position of voxel 18008 with density 0. A digital surface point is generated at position 18010 in the point cloud for a selected iso-density value of 0.3 since position 18010 is proportionally closer to the corresponding position of voxel 18004 with density 0.5 than the position of voxel 18002 with density 0. A digital surface point is generated at position 18016 in the point cloud for a selected iso-density value of 0.3 since position 18016 is proportionally closer to the corresponding position of voxel 18004 with density 0.5 than the position of voxel 18008 with density 0, for example
In some embodiments, the computer-implemented method can evaluate every voxel in the volumetric density file against the user-selected iso-value of density and generate one or more digital surface points in the point cloud as disclosed herein until no more voxels remain for evaluation in the volumetric density file.
Point Cloud Sampling/Reduction
In some embodiments the computer-implemented method reduces the number of digital surface points in the point cloud 7000 from
In some embodiments of the computer-implemented method, point cloud 7000 can be reduced by selecting a desired level of distance between two or more digital surface points. In some embodiments, of the computer-implemented method, point cloud 7000 can be reduced by setting a minimum distance between digital surface points in the point cloud 7000. For example, during reduction of point cloud 7000, digital surface points can be specified not to be closer than a user-selectable distance. In some embodiments of the computer-implemented method, a minimum distance between points can be between 100 microns to 200 microns or less, for example. The minimum distance between points can be a user selectable value. The minimum distance between points can be initially set and then automatically applied during every surface selection thereafter, or can be selected on a per scan basis.
In some embodiments of the computer-implemented method, the minimum distance can optionally be specified by a user to be a continuous function of surface curvature as illustrated in
In some embodiments, a computer-implemented method can alternatively determine curvature by loading a generated point cloud and for each digital surface point, finding all the points in the neighborhood of the radius around the digital surface point. The computer-implemented method can then determine a 3×3 covariance matrix for the coordinates of the points in the neighborhood. Next, the computer-implemented method can find all 3 eigenvalues of the covariance matrix, and finally approximate the curvature from the eigenvalues in some embodiments, e.g. minimal eigenvalue divided by the sum of eigenvalues or a monotone function of that fraction. This computer-implemented embodiment can account for zero mean curvatures for non-planar regions and can therefore be preferable in some embodiments, for example. The computer-implemented method can be repeated for all points in the point cloud in some embodiments, for example.
In some embodiments, the radius of either method of determining curvature can be up to and including 60 digital surface points on average in the neighborhood of the digital surface point in the point cloud being evaluated, and can be a user selectable value. In some embodiments, the number of digital surface points can be greater or less than 60. A selection of a smaller number of points and smaller radius can lead to faster computations, while selecting a larger number of points and larger radius can provide a more precise curvature estimation. The computer-implemented method can be repeated for all points in the point cloud, for example.
Once surface curvature is determined, the computer-implemented method can determine the minimum distance based on the particular amount of surface curvature. For example,
In some embodiments of the computer-implemented method, minimum distance between points can be defined discretely rather than as a continuous function of surface curvature. For example, the minimum distance between digital surface points can be specified based on a curvature threshold of the digital surface. For example, curved digital surfaces having a surface curvature above a particular user-selectable value can have a user-selectable minimum distance between digital surface points that is lower than that of digital surface regions having a surface curvature below the threshold user-selectable curvature value.
In some embodiments of the computer-implemented method, the minimum distance between points can be reduced up to ¼ of the original distance, for example, based on curvature. For example, where the distance between digital surface points may be set to 100 microns, it can be reduced by the user to 25 microns between digital surface points, thereby increasing the number of digital surface points on the surface curvature. In some embodiments of the computer-implemented method, the minimum distance between digital surface points on a digital surface curvature can be a user selectable value, the distance can be initially set and then automatically applied during surface selection, and/or the minimum distance between digital surface points along one or more curvature surfaces may be set independently with respect to other surfaces.
In some embodiments, if the digital surface point does not fall within the sampling/reduction criterion, then the digital surface point is eliminated from the point cloud. For example, if a minimum distance between digital points in the cloud is set and one or more neighboring digital surface point(s) fall within the minimum distance between digital surface points, then the computer-implemented method can eliminate the one or more digital surface points from the point cloud. If, however, one or more neighboring digital surface points fall outside of the minimum distance, then the one or more neighboring digital surface points are retained in the point cloud.
As an example, the computer-implemented method can load a point cloud and for each digital surface point determine one or more neighboring digital surface points within a radius from a generated point cloud. In some embodiments, the radius in some embodiments can be up to and including 60 digital surface points in the neighborhood of the digital surface point in the point cloud being evaluated, and can be a user selectable value. In some embodiments, the number of digital surface points can be greater or less than 60. An amount of curvature for the first and one or more neighboring digital surface points can be determined by the computer-implemented method as discussed previously. In some embodiments, the amount of surface curvature can be zero, or close to zero, indicating a flatter digital surface. In some embodiments, the amount of curvature can be greater than zero. In some embodiments, the computer-implemented method can determine a minimum distance between each digital surface point and the one or more neighboring digital surface points based on the amount of curvature between them. If the minimum distance between digital surface points is specified, then the computer-implemented method can determine whether the neighboring digital surface point(s) fall(s) within the specified minimum distance between digital surface points. If any of the one or more neighboring digital surface point falls within the minimum distance specified, then those neighboring digital surface points can be eliminated from the point cloud by the computer-implemented method. If the neighboring digital surface point falls outside of the minimum distance specified for surface curvature or no minimum distance is specified, then the one or more neighboring digital surface point(s) is/are retained in the point cloud.
In some embodiments of the computer-implemented method, if the first and neighboring digital surface point are on a curved digital surface based on a threshold curvature value, then the computer-implemented method can determine whether a minimum distance between digital surface points is specified. If the minimum distance between digital surface points is specified, then the computer-implemented method can determine whether the neighboring digital surface point falls within the specified minimum distance between digital surface points. If the neighboring digital surface point falls within the minimum distance specified, then the computer-implemented method can eliminate it from the point cloud. If the neighboring digital surface point falls outside of the minimum distance or the minimum distance is not specified for curved surfaces, then the computer-implemented method can retain it in the point cloud. If the computer-implemented method determines that the first and neighboring digital surface points are not on a surface curvature, then the computer-implemented method can determine whether the minimum distance between digital surface points for non-curved surfaces (i.e. flatter surfaces or surfaces whose curvature is below the threshold value for curvature) is specified. If the minimum distance between digital surface points is specified, then the computer-implemented method compares whether the neighboring digital surface point falls within the minimum distance between digital surface points for flatter surfaces. If the neighboring digital surface point falls within the minimum distance, then the computer-implemented method eliminates it from the point cloud. If the neighboring digital surface point falls outside of the minimum distance or a minimum distance between digital surface points for flatter surfaces is not specified, then the computer-implemented method retains the neighboring digital surface point in the point cloud.
One advantage of sampling the point cloud prior to generating the digital surface mesh is to improve speed and reduce the data set and data structure complexity of any subsequent triangulation step by reducing the number of digital surface points to be triangulated. This can, for example, improve processing speed and reduce the amount of storage necessary to process CT scans. This can improve the accuracy and efficiency of generating the digital surface mesh, as described below.
Triangulation
In some embodiments, the computer-implemented method performs triangulation on a point cloud to generate a digital surface mesh. In some embodiments of the computer-implemented method, triangulation can be performed on the reduced point cloud 8000 to create digital surface mesh 2012 shown in
In some embodiments of the computer-implemented method, as illustrated in
Noisy Regions
In some embodiments, the computer-implemented method excludes noisy regions of the point cloud from triangulation. The point cloud can be received by the computer-implemented system in some embodiments. Some CT scans have regions with surfaces having significant topological variation/fluctuation/oscillation within a small area. This can occur, for example, when a selected iso-value of density is close to the density of another material, such as an impression tray handle material. For example, if an iso-value selected is close to that of a handle, the surface near the handle may include significant topological variation due to its adjacency to the handle. These surfaces can produce one or more noisy areas/regions such as noisy region 6004 illustrated in
In some embodiments of the computer-implemented method, noisy areas can be determined as digital surface points whose normals vary by a user selectable value. This value may be initially set and then automatically applied during surface selection by the computer-implemented method. In some embodiments of the computer-implemented method, for example, if normals between adjacent or neighborhood digital surface points vary by 75 degrees, then the variation can signify rapid normal oscillation and therefore a noisy region and the digital surface points whose normals vary by more than the user-selected value of normal fluctuation can be excluded by the computer-implemented method from triangulation. For example, normal 10010 and normal 10012 vary by more than 75 degrees. Therefore digital surface points 10014 and 10016 belonging to those normals, respectively, can be excluded from triangulation by the computer-implemented method. Although 75 degrees is provided as an example of a threshold indicating a “noisy” region, any value can be selected and set by a user, computer program, or other input. In some embodiments, the computer-implemented method automatically eliminates noisy regions from the point cloud.
In some embodiments of the computer-implemented method, the noisy region 6004 can be excluded from triangulation of the point cloud. For example,
One advantage of excluding triangulation of one or more noisy regions is a reduced dataset and therefore improved processing speed and reduced complexity. One advantage of generating a point cloud from the CT scan, sampling the cloud, and performing triangulation is improved speed. For example, a digital surface mesh using the point cloud method disclosed herein can take 15 seconds to render, compared to 10 minutes using conventional surface selection techniques.
In some embodiments, selecting the iso density level, selecting the subset of digital surface points from the plurality of digital surface points, or setting the threshold for noisy region exclusion occur automatically for one or more CT scanned images. In some embodiments, one or more operators can manually select(s) the iso density level, select(s) the subset of digital surface points from the plurality of digital surface points for one or more CT scanned images, and/or set the threshold for noisy region exclusion.
Surface Optimization
In some embodiments, the computer-implemented method performs surface optimization on zero or more digital surface points of a digital surface to generate an optimized digital surface. The digital surface can be generated as described in the present disclosure, or by any digital surface technique known in the art, including but not limited to marching cubes, etc. In some embodiments, the computer-implemented method receives the digital surface or a digital surface mesh. The digital surface mesh can include digital surface triangles connecting the digital surface points to form a digital surface mesh. In some embodiments, the digital surface points of the digital surface mesh are vertices of digital surface triangles.
For the digital surface generated as described in the present disclosure, some embodiments of the computer-implemented method include selecting a criteria of digital surface optimization on the subset of digital surface points and moving one or more digital surface points to satisfy the criteria of optimum digital surface selection. In some embodiments, this can include the computer-implemented method moving one or more digital surface points to a maximum density derivative along the normal of the digital surface point in the generated point cloud, the sampled/reduced point cloud, the triangulated/surface meshed point cloud, and/or the hole patched point cloud. In some embodiments, surface optimization by the computer-implemented method will not move one or more digital surface points if the one or more digital surface points are already positioned at the maximum of density derivative. In some embodiments, the computer-implemented method automatically performs surface optimization.
In some embodiments of the computer-implemented method, one or more portions of the digital surface or digital surface mesh that have “holes” or missing digital surface mesh areas can optionally be filled or patched using a variety of techniques known in the art. Digital surface mesh holes or tunnels can arise where dental impression material is thin or nonexistent, or as an artifact of surface selection. The digital surface mesh holes can be optionally initially “filled” with a digital surface patch. As illustrated in the example of
In some embodiments of the computer-implemented method, holes can be optionally patched by first identifying regions where no digital surface exists. Next, holes can be optionally patched using any hole filler technique known in the art.
In some embodiments of the computer-implemented method, the criteria of optimum digital surface selection includes a maximum of density derivative along a normal of each digital surface point of the digital surface points. The computer-implemented method can load one or more digital surface points from the point cloud or digital surface mesh and move the one or more digital surface points to a maximum of density derivative along the normal of the digital surface point.
In some embodiments the computer-implemented method calculates the density derivative curve 730 by taking a first derivative of the density curve 728. Some embodiments of the computer-implemented method can determine the first derivative of density curve 728 from at least two or more density points on the density curve 728 in a direction along the normal of the digital surface point 722. In some embodiments, the computer-implemented method can determine the first derivative of density curve 728 from up to 5 density points on the density curve 728, for example, in a direction along the normal of the digital surface point 722. When an iso-value of density 732 is initially set, the digital surface point 722 at the iso-value of density is located at iso-surface position 734, for example, based on point 760 of the density curve 728. The derivative density curve 730 for digital surface point 722 can indicate that its maximum density derivative 736 has a density value of 738 and is located at maximum density derivative position 740 based on point 762, for example. As shown in
In some embodiments, the computer-implemented method can, for example, first determine the density of density curve 728 f(x,y,z) as a function of one argument only f(x)=f(x,y=fixed, z=fixed). Secondly, the computer-implemented method can find the derivative f(x) of f(x) approximating it by finite differences in all grid points, e.g. f′(x)=(f(x+dx)−f(x))/dx, where dx can in some embodiments represent a distance to the next density point. Thirdly, the computer-implemented method can find all local maxima of f′(x) for every y=fixed and z=fixed. The computer-implemented method can do this for up to and including 5 density points in some embodiments, for example. Fourthly, the computer-implemented method can repeat the second and third steps for f(x,y,z) considered as a function of one arguments f(y)=f(y,x=fixed,z=fixed) and f(z)=f(z,x=fixed,y=fixed).
Other digital surface points in the point cloud can also be moved to their maximum density derivative position in some embodiments by the computer-implemented method. For example, digital surface point 742 can be moved along its normal to its maximum density derivative position as digital surface point 744, digital surface point 746 can be moved along its normal to its maximum derivate density position as digital surface point 748, digital surface point 750 can be moved along its normal to its maximum derivate density position as digital surface point 752, and digital surface point 754 can be moved along its normal to its maximum derivate density position as digital surface point 756 by the computer-implemented method. Each of the digital surface points can have its own unique density curve reflecting density values for positions along its respective normal. Each of the digital surface points can therefore have its own unique density derivative curve as well as its own unique maximum density derivative value. This can be seen, for example, by the different final positions of digital surface points 744, 748, 740, 752, and 756 of the respective digital surface points based on their individual maximum density derivative value to form an optimized surface 758 that can be different from iso-surface 720.
In some embodiments of the computer-implemented method, every digital surface point is evaluated by the computer-implemented method and can be moved by the computer-implemented method based on its maximum density derivative value to generate the optimized surface 758. In some embodiments of the computer-implemented method, a subset of digital surface points is evaluated by the computer-implemented method and one or more digital surface points are moved by the computer-implemented method based on each of the subset's points' maximum density derivative value to generate the optimized surface 758. In some embodiments, one or more digital surface points may not be moved by the computer-implemented method and remain at their original position after evaluation with respect to their maximum density derivative value to generate the optimized surface 758. This can occur, for example, in some cases where the iso-value selected coincides with the maximum density derivative value of the digital surface point. In some embodiments, the computer-implemented method can move only those digital surface points not at their maximum density derivative.
As illustrated in the example of
In some embodiments, the computer-implemented method can as described and detailed in the present disclosure load a point cloud and for each point in the cloud, determine the point's normal, determine one or more density points along the normal in the volumetric density file as one or more intersection points between the point's normal and either voxels or voxel edges (i.e. between the voxels), determine a density curve from the density points, determine the maximum density derivative as disclosed herein, and move the digital surface point in the point cloud to the position of maximum density derivative along the normal of the digital surface point. The computer-implemented method can be repeated for each point in the point cloud, thereby generating an optimized digital surface.
In one embodiment of the computer-implemented method, the optimized surface 758 can optionally be displayed on a screen as a virtual three dimensional object image. The screen can be a computer or device display. This can allow, for example, a user to view the optimized surface 758 and perform additional operations. The user can also manipulate the 3D image of the optimized surface 758 by rotating, zooming the image, and performing other manipulations common to three dimensional virtual objects. In one embodiment of the computer-implemented method, the optimized surface 758 can be triangulated to generate a digital surface mesh.
Example Methods
As illustrated in
Some embodiments of the computer-implemented method can include selecting a criteria of digital surface optimization on the subset of digital surface points and moving one or more digital surface points to satisfy the criteria of optimum digital surface selection at 12022. Some embodiments of the computer-implemented method optionally provide that the criteria of optimum digital surface selection includes a maximum of density derivative along a normal of each digital surface point of the digital surface points at 12020. In some embodiments, moving the one or more digital surface points can optionally include moving one or more digital surface points to the maximum density derivative at 12026.
In one embodiment a computer-implemented method of generating a digital model from a CT scan is disclosed as illustrated in
Some embodiments of the computer-implemented method optionally include generating one or more digital surface points in virtual 3D space for each of the digital surface points at 710. In one embodiment of the computer-implemented method, the digital iso-surface can optionally be selected from the volumetric image by receiving a digital volumetric density file including one or more voxels at 707, selecting an iso value of density at 708, selecting a digital surface at the selected iso-value at 721, generating one or more digital surface points in virtual 3D space for each of one or more voxels at 710, selecting a subset of digital surface points from the one or more digital surface points at 712, and performing triangulation on the subset of digital surface points at 714. In one embodiment of the computer-implemented method, the criteria of optimum digital surface selection optionally includes a maximum of density derivative along a normal of each digital surface point of the digital surface points at 716. In one embodiment of the computer-implemented method, moving the one or more digital surface points includes moving one or more digital surface points to the maximum density derivative. One embodiment of the computer-implemented method can include scanning a physical impression in a CT scanner at 720.
Some embodiments include a computer-implemented method of optimizing a digital surface, including receiving a digital surface having a plurality of digital surface points, selecting a criteria of digital surface optimization on the digital surface points and moving one or more digital surface points to satisfy the criteria of optimum digital surface selection. Some embodiments optionally include that the criteria of optimum digital surface selection includes a maximum of density derivative along a normal of each digital surface point of the digital surface points. Moving the one or more digital surface points can include moving one or more digital surface points to the maximum of density derivative.
One advantage of high precision surface selection from a CT scan as described in this disclosure can be certainty regarding surface position and improved accuracy regarding the surface position, shape, and topology, for example. Another advantage can be, for example, creating a surface with improved accuracy independently of the arbitrarily chosen iso-value.
Example System
In some embodiments, the instructions executable by the processor to perform steps further includes performing triangulation on the subset of digital surface points. In some embodiments, the selecting the subset of digital surface points from the plurality of digital surface points includes selecting a desired level of distance between two or more of the subset of digital surface points. In some embodiments, the minimum distance can be between 100 microns to 200 microns. In some embodiments, the selecting the subset of digital surface points from the plurality of digital surface points comprises selecting to a desired level based on curvature. In some embodiments, the selecting a subset of digital surface points from the one or more digital surface points comprises excluding one or more noisy regions. In some embodiments the instructions executable by the processor to perform steps further include scanning a physical dental impression in a CT scanner to generate volumetric density file. In some embodiments, the instructions executable by the processor to perform steps further comprising receiving the volumetric density file.
Some embodiments of the digital impression processing system 14000 can include optional features. For example, the system 14000 can include the instructions executable by the processor to perform steps that further include selecting a criteria of digital surface optimization on the subset of digital surface points and moving one or more digital surface points to satisfy the criteria of optimum digital surface selection. The criteria of optimum digital surface selection can include a maximum of density derivative along a normal of each digital surface point of the digital surface points. Moving the one or more digital surface points can include moving one or more digital surface points to the maximum density derivative.
Some embodiments include a non-transitory computer readable medium 14034 storing executable computer program instructions for creating a digital model from a CT scan of a physical dental impression is disclosed. The computer program instructions can include instructions for selecting an iso-value of density for a digital volumetric density file comprising one or more voxels, generating one or more digital surface points in virtual 3D space for each of one or more voxels and selecting a subset of digital surface points from the one or more digital surface points.
Some embodiments of the non-transitory computer readable medium 14034 can include optional features. For example, the non-transitory computer readable medium 14034 can include the instructions that further include selecting a criteria of digital surface optimization on the subset of digital surface points and moving one or more digital surface points to satisfy the criteria of optimum digital surface selection. The criteria of optimum digital surface selection can include a maximum of density derivative along a normal of each digital surface point of the digital surface points. Moving the one or more digital surface points can include moving one or more digital surface points to the maximum density derivative.
Also disclosed is a computer-implemented system of automatic detection of iso-value of density.
Some embodiments include a non-transitory computer readable medium 14034 storing executable computer program instructions for automatic detection of iso-value of density. The computer program instructions can include instructions for generating a density frequency distribution of a volumetric density file of a dental impression and determining an iso-value of density between air and a particular material in the density frequency distribution. The particular material can be an impression material. The density frequency distribution can include voxel count peaks separated by valleys. Determining the iso-value of density can include selecting an iso-value of density value between a highest voxel count density range and a second highest voxel count density range. Determining the iso-value of density can include selecting an iso-value of density value between one or more density subranges of a highest voxel count peak and one or more density subranges of a second highest voxel count peak. The dental impression can include Titanium and the computer program instructions can output an iso-value of density of the Titanium. Generating the density frequency distribution further can further include detecting contaminants in the dental impression.
Some embodiments include a non-transitory computer readable medium storing executable computer program instructions for automatic detection of iso-value of density, the computer program instructions including instructions for: generating a density frequency distribution of a volumetric density file of a dental impression, and determining an iso-value of density between air and a particular material in the density frequency distribution. Some embodiments can include optional features. For example, the particular material can be an impression material. The density frequency distribution can include voxel count peaks separated by valleys. Determining the iso-value of density can include selecting an iso-value of density value between a highest voxel count density range and a second highest voxel count density range. Determining the iso-value of density can include selecting an iso-value of density value between one or more density subranges of a highest voxel count peak and one or more density subranges of a second highest voxel count peak. The dental impression can include Titanium and the computer-implemented method can output an iso-value of density of the Titanium. Generating the density frequency distribution further can further include detecting contaminants in the dental impression.
Also disclosed is a computer-implemented system of optimizing a digital surface, including a processor, a computer-readable storage medium comprising instructions executable by the processor to perform steps comprising: receiving a digital surface comprising a plurality of digital surface points, selecting a criteria of digital surface optimization on the digital surface points, and moving one or more digital surface points to satisfy the criteria of optimum digital surface selection. Moving the one or more digital surface points can include moving one or more digital surface points to the maximum of density derivative.
Also disclosed is a non-transitory computer readable medium storing executable computer program instructions for optimizing a digital surface, the computer program instructions comprising instructions for: receiving a digital surface comprising a plurality of digital surface points, selecting a criteria of digital surface optimization on the digital surface points, and moving one or more digital surface points to satisfy the criteria of optimum digital surface selection. Moving the one or more digital surface points can include moving one or more digital surface points to the maximum of density derivative.
One advantage of one or more features in embodiments, method(s), and system(s) of the present disclosure can include, for example, improved creation of an improved digital model of a physical impression with an improved digital surface that more accurately represents the physical attributes of the physical impression than digital models generated by conventional techniques.
As an example, in some embodiments, selecting an iso-value of density for a digital volumetric density file comprising one or more voxels, generating one or more digital surface points in virtual 3D space for each of one or more voxels, and selecting a subset of digital surface points from the one or more digital surface points can avoid and/or reduce subsequent digital surface mesh simplification and smoothing and generate a digital surface mesh with fewer degenerate triangles than conventional techniques, thereby improving the digital surface accuracy.
As another example, optional features such as performing triangulation on the subset of digital surface points, selecting a desired level of distance between two or more of the subset of digital surface points, selecting to a desired level based on curvature, and/or excluding one or more noisy regions can also provide an improved digital surface and a digital surface mesh with fewer degenerate triangles over conventional techniques.
As another example, optional features such as selecting a criteria of digital surface optimization on the subset of digital surface points and moving one or more digital surface points to satisfy the criteria of optimum digital surface selection, the criteria of optimum digital surface selection including a maximum of density derivative along a normal of each digital surface point of the digital surface points, and/or moving the one or more digital surface points includes moving one or more digital surface points to the maximum density derivative can improve the accuracy of the desired digital surface position, shape, and topology over conventional technology. Another advantage can be, for example, generating a hole-patched surface with a more accurate topology.
Similarly, as an example, a digital impression processing system that includes a processor and a computer-readable storage medium including instructions executable by the processor to perform any of the features in this disclosure can also provide an improved and more accurate digital surface and digital surface mesh with fewer degenerate triangles over conventional techniques as discussed in the disclosure.
Another advantage of one or more features of the present disclosure can include, for example, an improved digital model generation time. For example, whereas conventional techniques can take up to and including 10 minutes to generate a digital model from a physical impression, one or more features in the present disclosure can reduce the time to generate the digital model to 15 seconds due to the improved digital processing of the physical impression.
One advantage of one or more features of the present disclosure can include, for example, accurate surface representation independent of the iso-selected value and regardless of the thinness of the physical impression scanned.
One or more of the features disclosed herein can be performed and/or attained automatically, without manual or user intervention. One or more of the features disclosed herein are performed by a computer-implemented method. The features—including but not limited to any methods and systems—disclosed may be implemented in computing systems. For example, the computing environment 14042 used to perform these functions can be any of a variety of computing devices (e.g., desktop computer, laptop computer, server computer, tablet computer, gaming system, mobile device, programmable automation controller, video card, etc.) that can be incorporated into a computing system comprising one or more computing devices. In some embodiments, the computing system may be a cloud-based computing system.
For example, a computing environment 14042 may include one or more processing units 14030 and memory 14032. The processing units execute computer-executable instructions. A processing unit 14030 can be a central processing unit (CPU), a processor in an application-specific integrated circuit (ASIC), or any other type of processor. In some embodiments, the one or more processing units 14030 can execute multiple computer-executable instructions in parallel, for example. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power. For example, a representative computing environment may include a central processing unit as well as a graphics processing unit or co-processing unit. The tangible memory 14032 may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two, accessible by the processing unit(s). The memory stores software implementing one or more innovations described herein, in the form of computer-executable instructions suitable for execution by the processing unit(s).
A computing system may have additional features. For example, in some embodiments, the computing environment includes storage 14034, one or more input devices 14036, one or more output devices 14038, and one or more communication connections 14037. An interconnection mechanism such as a bus, controller, or network, interconnects the components of the computing environment. Typically, operating system software provides an operating environment for other software executing in the computing environment, and coordinates activities of the components of the computing environment.
The tangible storage 14034 may be removable or non-removable, and includes magnetic or optical media such as magnetic disks, magnetic tapes or cassettes, CD-ROMs, DVDs, or any other medium that can be used to store information in a non-transitory way and can be accessed within the computing environment. The storage 14034 stores instructions for the software implementing one or more innovations described herein.
The input device(s) may be, for example: a touch input device, such as a keyboard, mouse, pen, or trackball; a voice input device; a scanning device; any of various sensors; another device that provides input to the computing environment; or combinations thereof. For video encoding, the input device(s) may be a camera, video card, TV tuner card, or similar device that accepts video input in analog or digital form, or a CD-ROM or CD-RW that reads video samples into the computing environment. The output device(s) may be a display, printer, speaker, CD-writer, or another device that provides output from the computing environment.
The communication connection(s) enable communication over a communication medium to another computing entity. The communication medium conveys information, such as computer-executable instructions, audio or video input or output, or other data in a modulated data signal. A modulated data signal is a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media can use an electrical, optical, RF, or other carrier.
Any of the disclosed methods can be implemented as computer-executable instructions stored on one or more computer-readable storage media 14034 (e.g., one or more optical media discs, volatile memory components (such as DRAM or SRAM), or nonvolatile memory components (such as flash memory or hard drives)) and executed on a computer (e.g., any commercially available computer, including smart phones, other mobile devices that include computing hardware, or programmable automation controllers) (e.g., the computer-executable instructions cause one or more processors of a computer system to perform the method). The term computer-readable storage media does not include communication connections, such as signals and carrier waves. Any of the computer-executable instructions for implementing the disclosed techniques as well as any data created and used during implementation of the disclosed embodiments can be stored on one or more computer-readable storage media 14034. The computer-executable instructions can be part of, for example, a dedicated software application or a software application that is accessed or downloaded via a web browser or other software application (such as a remote computing application). Such software can be executed, for example, on a single local computer (e.g., any suitable commercially available computer) or in a network environment (e.g., via the Internet, a wide-area network, a local-area network, a client-server network (such as a cloud computing network), or other such network) using one or more network computers.
For clarity, only certain selected aspects of the software-based implementations are described. Other details that are well known in the art are omitted. For example, it should be understood that the disclosed technology is not limited to any specific computer language or program. For instance, the disclosed technology can be implemented by software written in C++, Java, Perl, Python, JavaScript, Adobe Flash, or any other suitable programming language. Likewise, the disclosed technology is not limited to any particular computer or type of hardware. Certain details of suitable computers and hardware are well known and need not be set forth in detail in this disclosure.
It should also be well understood that any functionality described herein can be performed, at least in part, by one or more hardware logic components, instead of software. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
Furthermore, any of the software-based embodiments (comprising, for example, computer-executable instructions for causing a computer to perform any of the disclosed methods) can be uploaded, downloaded, or remotely accessed through a suitable communication means. Such suitable communication means include, for example, the Internet, the World Wide Web, an intranet, software applications, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communication means.
In view of the many possible embodiments to which the principles of the disclosure may be applied, it should be recognized that the illustrated embodiments are only examples and should not be taken as limiting the scope of the disclosure. Rather, the scope of the invention is defined by all that comes within the scope and spirit of the following claims.
This application is a continuation of, and claims the benefit and priority to, U.S. patent application Ser. No. 16/451,315, filed Jun. 25, 2019, now U.S. Pat. No. 11,534,271, which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4710876 | Cline et al. | Dec 1987 | A |
D302683 | Iwasaki et al. | Aug 1989 | S |
5023895 | McCroskey et al. | Jun 1991 | A |
5270827 | Kobyayashi et al. | Dec 1993 | A |
5368478 | Andreiko et al. | Nov 1994 | A |
5431562 | Andreiko et al. | Jul 1995 | A |
5447432 | Andreiko et al. | Sep 1995 | A |
5454717 | Andreiko et al. | Oct 1995 | A |
5605459 | Kuroda et al. | Feb 1997 | A |
D394316 | Kodama et al. | May 1998 | S |
5879158 | Doyle et al. | Mar 1999 | A |
6068482 | Snow | May 2000 | A |
6081739 | Lemchen | Jun 2000 | A |
6091412 | Simonoff | Jul 2000 | A |
6152731 | Jordan et al. | Nov 2000 | A |
6198552 | Nagae | Mar 2001 | B1 |
6217334 | Hultgren | Apr 2001 | B1 |
6227850 | Chishti et al. | May 2001 | B1 |
6244861 | Andreiko et al. | Jun 2001 | B1 |
6318994 | Chishti et al. | Nov 2001 | B1 |
6322359 | Jordan et al. | Nov 2001 | B1 |
6350120 | Sachdeva et al. | Feb 2002 | B1 |
6371761 | Cheang et al. | Apr 2002 | B1 |
6386867 | Durbin et al. | May 2002 | B1 |
6386878 | Pavlovskaia et al. | May 2002 | B1 |
6406292 | Chishti et al. | Jun 2002 | B1 |
6409504 | Jones et al. | Jun 2002 | B1 |
6450807 | Chishti et al. | Sep 2002 | B1 |
6463344 | Pavloskaia et al. | Oct 2002 | B1 |
6512994 | Sachdeva | Jan 2003 | B1 |
6554611 | Chishti et al. | Apr 2003 | B2 |
6582225 | Bergersen | Jun 2003 | B1 |
D476658 | Adachi et al. | Jul 2003 | S |
6602070 | Miller et al. | Aug 2003 | B2 |
6621491 | Baumrind et al. | Sep 2003 | B1 |
6632089 | Rubbert et al. | Oct 2003 | B2 |
6633789 | Nikolskiy et al. | Oct 2003 | B1 |
6648640 | Rubbert et al. | Nov 2003 | B2 |
6688886 | Hughes et al. | Feb 2004 | B2 |
6726478 | Isiderio et al. | Apr 2004 | B1 |
6767208 | Kaza | Jul 2004 | B2 |
6783360 | Chishti | Aug 2004 | B2 |
7013191 | Rubbert et al. | Mar 2006 | B2 |
7027642 | Rubbert et al. | Apr 2006 | B2 |
7029275 | Rubbert et al. | Apr 2006 | B2 |
7040896 | Pavlovskaia et al. | May 2006 | B2 |
7068825 | Rubbert et al. | Jun 2006 | B2 |
7080979 | Rubbert et al. | Jul 2006 | B2 |
7110594 | Jones et al. | Sep 2006 | B2 |
7134874 | Chishti et al. | Nov 2006 | B2 |
7140877 | Kaza | Nov 2006 | B2 |
D533555 | Odhe et al. | Dec 2006 | S |
7156655 | Sachdeva et al. | Jan 2007 | B2 |
7234937 | Sachdeva et al. | Jun 2007 | B2 |
7292716 | Kim | Nov 2007 | B2 |
7361018 | Imgrund et al. | Apr 2008 | B2 |
7361020 | Abolfathi et al. | Apr 2008 | B2 |
7373286 | Nikolskiy et al. | May 2008 | B2 |
D573146 | Sukenari et al. | Jul 2008 | S |
D580962 | Sukenari et al. | Nov 2008 | S |
7476100 | Kuo | Jan 2009 | B2 |
7545372 | Kopelman et al. | Jun 2009 | B2 |
7609875 | Liu | Oct 2009 | B2 |
D612851 | Maruyama et al. | Mar 2010 | S |
7717708 | Sachdeva et al. | May 2010 | B2 |
7740476 | Rubbert et al. | Jun 2010 | B2 |
7805003 | Cohen et al. | Sep 2010 | B1 |
8013853 | Douglas et al. | Sep 2011 | B1 |
8045180 | Friemel | Oct 2011 | B2 |
8075306 | Kitching et al. | Dec 2011 | B2 |
8229180 | Baloch et al. | Jul 2012 | B2 |
8308481 | DiAngelo et al. | Nov 2012 | B2 |
8332061 | Baloch et al. | Dec 2012 | B2 |
8342843 | Perot et al. | Jan 2013 | B2 |
8380644 | Zouhar et al. | Feb 2013 | B2 |
D678383 | Park et al. | Mar 2013 | S |
D714940 | Kim | Oct 2014 | S |
8855375 | Macciola | Oct 2014 | B2 |
8995732 | Kaza et al. | Mar 2015 | B2 |
9055988 | Galgut et al. | Jun 2015 | B2 |
9135498 | Andreiko et al. | Sep 2015 | B2 |
D742010 | Metcalf | Oct 2015 | S |
9421074 | Sachdeva et al. | Aug 2016 | B2 |
D776818 | Metcalf | Jan 2017 | S |
9626462 | Somasundaram et al. | Apr 2017 | B2 |
9629698 | Lior et al. | Apr 2017 | B2 |
9737381 | Lee | Aug 2017 | B2 |
9888983 | Sachdeva et al. | Feb 2018 | B2 |
10149744 | Lior et al. | Dec 2018 | B2 |
10624717 | Wen | Apr 2020 | B2 |
10945812 | Raslambekov | Mar 2021 | B1 |
11534271 | Nikolskiy et al. | Dec 2022 | B2 |
11540906 | Nikolskiy et al. | Jan 2023 | B2 |
11559378 | Nikolskiy et al. | Jan 2023 | B2 |
11622843 | Nikolskiy et al. | Apr 2023 | B2 |
20010002310 | Chishti et al. | May 2001 | A1 |
20020006217 | Rubbert et al. | Jan 2002 | A1 |
20020028418 | Farag et al. | Mar 2002 | A1 |
20020141626 | Caspi | Oct 2002 | A1 |
20020150859 | Imgrund et al. | Oct 2002 | A1 |
20020180760 | Rubbert | Dec 2002 | A1 |
20030198377 | Ng | Oct 2003 | A1 |
20030198378 | Ng | Oct 2003 | A1 |
20030207227 | Abolfathi | Nov 2003 | A1 |
20030207235 | der Zel | Nov 2003 | A1 |
20030224314 | Bergersen | Dec 2003 | A1 |
20040072120 | Lauren | Apr 2004 | A1 |
20040146198 | Herley | Jul 2004 | A1 |
20040152036 | Abolfathi | Aug 2004 | A1 |
20040175671 | Jones et al. | Sep 2004 | A1 |
20040197728 | Abolfathi et al. | Oct 2004 | A1 |
20040214128 | Sachdeva et al. | Oct 2004 | A1 |
20050018901 | Kaufmann et al. | Jan 2005 | A1 |
20050019732 | Kaufmann et al. | Jan 2005 | A1 |
20050030368 | Morrison | Feb 2005 | A1 |
20050043837 | Rubbert et al. | Feb 2005 | A1 |
20050055118 | Nikolskiy et al. | Mar 2005 | A1 |
20050089213 | Geng | Apr 2005 | A1 |
20050089822 | Geng | Apr 2005 | A1 |
20050191593 | Knopp | Sep 2005 | A1 |
20050192835 | Kuo et al. | Sep 2005 | A1 |
20050208449 | Abolfathi et al. | Sep 2005 | A1 |
20050271996 | Sporbert et al. | Dec 2005 | A1 |
20060127859 | Wen | Jun 2006 | A1 |
20060147872 | Andreiko | Jul 2006 | A1 |
20060154198 | Durbin et al. | Jul 2006 | A1 |
20060173541 | Friel | Aug 2006 | A1 |
20060263739 | Sporbert et al. | Nov 2006 | A1 |
20060263741 | Imgrund et al. | Nov 2006 | A1 |
20060275736 | Wen et al. | Dec 2006 | A1 |
20070003900 | Miller | Jan 2007 | A1 |
20070031790 | Raby et al. | Feb 2007 | A1 |
20070031791 | Cinader et al. | Feb 2007 | A1 |
20070065768 | Nadav | Mar 2007 | A1 |
20070128573 | Kuo | Jun 2007 | A1 |
20070128574 | Kuo et al. | Jun 2007 | A1 |
20070129991 | Kuo | Jun 2007 | A1 |
20070134613 | Kuo et al. | Jun 2007 | A1 |
20070141527 | Kuo et al. | Jun 2007 | A1 |
20070167784 | Shekhar et al. | Jul 2007 | A1 |
20070168152 | Matov et al. | Jul 2007 | A1 |
20070190481 | Schmitt | Aug 2007 | A1 |
20070207441 | Lauren | Sep 2007 | A1 |
20070238065 | Sherwood et al. | Oct 2007 | A1 |
20080020350 | Matov et al. | Jan 2008 | A1 |
20080048979 | Ruttenberg | Feb 2008 | A1 |
20080057466 | Jordan et al. | Mar 2008 | A1 |
20080064008 | Schmitt | Mar 2008 | A1 |
20080176182 | Hultgren et al. | Jul 2008 | A1 |
20080182220 | Chisti | Jul 2008 | A1 |
20080248443 | Chishti et al. | Oct 2008 | A1 |
20080261165 | Steingart et al. | Oct 2008 | A1 |
20080305458 | Lemchen | Dec 2008 | A1 |
20080311537 | Minagi et al. | Dec 2008 | A1 |
20090080746 | Xu et al. | Mar 2009 | A1 |
20090087817 | Jansen et al. | Apr 2009 | A1 |
20090162813 | Glor et al. | Jun 2009 | A1 |
20090191503 | Matov et al. | Jul 2009 | A1 |
20090220916 | Fisker et al. | Sep 2009 | A1 |
20090246726 | Chelnokov et al. | Oct 2009 | A1 |
20090248184 | Steingart et al. | Oct 2009 | A1 |
20090298017 | Boerjes et al. | Dec 2009 | A1 |
20090311647 | Fang et al. | Dec 2009 | A1 |
20090316966 | Marshall et al. | Dec 2009 | A1 |
20100009308 | Wen et al. | Jan 2010 | A1 |
20100100362 | Zouhar et al. | Apr 2010 | A1 |
20100105009 | Karkar et al. | Apr 2010 | A1 |
20100111386 | El-Baz | May 2010 | A1 |
20100138025 | Morton et al. | Jun 2010 | A1 |
20100145898 | Malfliet et al. | Jun 2010 | A1 |
20100151417 | Nilsson et al. | Jun 2010 | A1 |
20100217567 | Marshall | Aug 2010 | A1 |
20100260405 | Cinader, Jr. | Oct 2010 | A1 |
20100297572 | Kim | Nov 2010 | A1 |
20110004331 | Cinader, Jr. et al. | Jan 2011 | A1 |
20110045428 | Boltunov et al. | Feb 2011 | A1 |
20110059413 | Schutyser et al. | Mar 2011 | A1 |
20110060438 | Stoddard et al. | Mar 2011 | A1 |
20110090513 | Seidl et al. | Apr 2011 | A1 |
20110184762 | Chishti et al. | Jul 2011 | A1 |
20110206247 | Dachille et al. | Aug 2011 | A1 |
20110207072 | Schiemann | Aug 2011 | A1 |
20110244415 | Batesole | Oct 2011 | A1 |
20110268326 | Kuo et al. | Nov 2011 | A1 |
20110292047 | Chang et al. | Dec 2011 | A1 |
20120015316 | Sachdeva et al. | Jan 2012 | A1 |
20120065756 | Rubbert et al. | Mar 2012 | A1 |
20120088208 | Schulter et al. | Apr 2012 | A1 |
20120139142 | Van der Zel | Jun 2012 | A1 |
20120214121 | Greenberg | Aug 2012 | A1 |
20130172731 | Gole | Jul 2013 | A1 |
20130218531 | Deichmann et al. | Aug 2013 | A1 |
20130226534 | Fisker et al. | Aug 2013 | A1 |
20130275107 | Alpern et al. | Oct 2013 | A1 |
20130325431 | See et al. | Dec 2013 | A1 |
20130329020 | Kriveshko et al. | Dec 2013 | A1 |
20130335417 | McQueston et al. | Dec 2013 | A1 |
20140003695 | Dean et al. | Jan 2014 | A1 |
20140055135 | Nielsen et al. | Feb 2014 | A1 |
20140067334 | Kuo | Mar 2014 | A1 |
20140067337 | Kopleman | Mar 2014 | A1 |
20140185742 | Chen et al. | Jul 2014 | A1 |
20140272772 | Andreiko et al. | Sep 2014 | A1 |
20140278278 | Nikolskiy et al. | Sep 2014 | A1 |
20140278279 | Azernikov et al. | Sep 2014 | A1 |
20140308624 | Lee et al. | Oct 2014 | A1 |
20140329194 | Sachdeva et al. | Nov 2014 | A1 |
20140379356 | Sachdeva et al. | Dec 2014 | A1 |
20150007830 | Remmers et al. | Jan 2015 | A1 |
20150049081 | Coffey et al. | Feb 2015 | A1 |
20150056576 | Nikolskiy et al. | Feb 2015 | A1 |
20150111168 | Vogel | Apr 2015 | A1 |
20150154678 | Fonte et al. | Jun 2015 | A1 |
20150182316 | Morales et al. | Jul 2015 | A1 |
20150320320 | Kopelman et al. | Nov 2015 | A1 |
20150347682 | Chen et al. | Dec 2015 | A1 |
20160135924 | Choi et al. | May 2016 | A1 |
20160148370 | Maury et al. | May 2016 | A1 |
20160239631 | Wu et al. | Aug 2016 | A1 |
20160256035 | Kopelman et al. | Aug 2016 | A1 |
20160256246 | Stapleton et al. | Sep 2016 | A1 |
20160367336 | Peijun et al. | Dec 2016 | A1 |
20170100214 | Wen | Apr 2017 | A1 |
20170135655 | Wang et al. | May 2017 | A1 |
20170231721 | Akeel et al. | Aug 2017 | A1 |
20170340418 | Raanan | Nov 2017 | A1 |
20180028063 | Elbaz et al. | Feb 2018 | A1 |
20180028064 | Elbaz et al. | Feb 2018 | A1 |
20180028065 | Elbaz et al. | Feb 2018 | A1 |
20180055600 | Matov et al. | Mar 2018 | A1 |
20180132982 | Nikolskiy et al. | May 2018 | A1 |
20180146934 | Ripoche et al. | May 2018 | A1 |
20180165818 | Tsai et al. | Jun 2018 | A1 |
20180184795 | Pai | Jul 2018 | A1 |
20180189420 | Fisker | Jul 2018 | A1 |
20180206958 | Ohtake et al. | Jul 2018 | A1 |
20180206959 | Ohtake et al. | Jul 2018 | A1 |
20180303581 | Martz et al. | Oct 2018 | A1 |
20190259219 | Lancelle et al. | Aug 2019 | A1 |
20190269485 | Elbaz | Sep 2019 | A1 |
20190290408 | Fisker et al. | Sep 2019 | A1 |
20190374318 | Jesenko | Dec 2019 | A1 |
20200060612 | Shen | Feb 2020 | A1 |
20200121429 | Pesach et al. | Apr 2020 | A1 |
20200170755 | Kumamoto et al. | Jun 2020 | A1 |
20200306012 | Roschin et al. | Oct 2020 | A1 |
20210169611 | Feng et al. | Jun 2021 | A1 |
20230127167 | Nikolskiy et al. | Apr 2023 | A1 |
20230130573 | Nikolskiy et al. | Apr 2023 | A1 |
Number | Date | Country |
---|---|---|
108024841 | May 2018 | CN |
108665533 | Oct 2018 | CN |
2345387 | Jul 2011 | EP |
WO2001080761 | Nov 2001 | WO |
WO2001080763 | Nov 2001 | WO |
WO2003053274 | Jul 2003 | WO |
WO2013180423 | May 2013 | WO |
WOEP2886077 | Jun 2015 | WO |
WO2016097033 | Jun 2016 | WO |
WO2017178908 | Oct 2017 | WO |
WO2018022054 | Feb 2018 | WO |
WO2018038748 | Mar 2018 | WO |
WO2018101923 | Jun 2018 | WO |
WO2018167616 | Sep 2018 | WO |
WO2020263950 | Dec 2020 | WO |
WO2020263997 | Dec 2020 | WO |
WO2020363987 | Dec 2020 | WO |
Entry |
---|
Amberg et al., Optimal Step Nonrigid ICP Algorithms for Surface Registration, Proceedings/CVPR, IEEE Computer Society Conference on Computer Vision and Pattern Recognition, IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Jun. 2007, 9 pages. |
Aho et al., The Design and Analysis of Computer Algorithms, Addison-Wesley Publishing Company, Jun. 1974, pp. 124-155. |
Arikan et al., “O-Snap: OptimizatonBased Snapping for Modeling Architecture”, ACM Transactions on Graphics, vol. 32, No. 1, Article 6, Jan. 2013, 15 pages. |
Bribiesca, E. “3D-Curve Representation by Means of a Binary Chain Code”, Mathematical and computer modelling 40.3(2004):285-295; p. 292, paragraph 2; p. 293, paragraph 1. |
Cajaraville, Four Ways to Create a Mesh for a Sphere, Medium.com, Dec. 7, 2015, in 9 pages. |
Cui et al. “Curve Matching for Open 2D Curves”, Pattern Recognition Letters 30 (2009): pp. 1-10. |
Fan et al. “Virtual adjustment of the occlusal surface for complete denture tooth arrangement.” 2015 International Symposium on Bioelectronics and Bioinformatics (ISBB). IEEE, 2015. (Year: 2015). |
Fitzgibbon et al., Direct Least Squares Fitting of Ellipses, The University of Edinburgh, Department of Artificial Intelligence, Jan. 4, 1996, in 15 pages. |
Flugge et al., “Precision of Intraoral Digital Dental Impressions with iTero and Extraoral Digitization with the iTero and a Model Scanner”, Am. Journal of Ortho. and Dentofacial Orthopedics, vol. 144, Iss. 3, pp. 471-478, Sep. 2014. |
Gumhold, et al. “Feature Extraction From Point Clouds”, Scientific Computing and Imaging Institute: pp. 1-13 Proceedings, 10th International Meshing Roundtable, Sandia National Laboratores, pp. 293-305, October Jul. 10, 2001. |
Hollt et al., GPU-Based Direct Volume Rendering of Industrial CT Data, 2007, VR Vis Research Center, in 84 pages. |
Ibraheem, Reduction of artifacts in dental cone beam CT images to improve the three dimensional image reconstruction, Research Gate, Article in Journal of Biomedical Science and Engineering, Jan. 20212, in. |
Kiattisin, S. et al. “A Match of X-Ray Teeth Films Using Image Processing Based on Special Features of Teeth”, SICE Annual Conference, 2008. IEEE: Aug. 22, 2008; p. 97; col. 2, paragraph 2; a 98. |
Kilic et al., GPU Supported Haptic Device Integrated Dental Simulation Environment, in 6 pages. |
Kim et al., “Efficient digitalization method for dental restorations using micro-CT data”, Scientific Reports, vol. 7, No. 1, p. 44577, Mar. 15, 2017. |
Kozen, The Design and Analysis of Algorithms, Texts and Monographs in Computer Science, (c) 1992, See Whole book. |
Kumar et al. “Improved segmentation of teeth in dental models.” Computer-Aided Design and Applications 8.2 (2011): 211-224. ( Year: 2011). |
Kumar et al., Automatic Feature Identification in Dental Meshes, Research Gate, Article in computer-Aided Design and Applications, Aug. 2013, in 24 pages. |
Liao et al., Automatic Tooth Segmentation of Dental Mesh Based on Harmonic Fields, Hindawi Publishing Corporation, BioMed Research International, vol. 2015, Article ID 187173, in 11 pages. |
Lorensen et al., Marching Cubes: A High Resolution 3D Surface Construction Algorithm, Computer Graphics, vol. 21, No. 4, Jul. 1987 in 7 pages. |
Pages et al., Generation of Computational Meshes from MRI and CT-Scan data, ResearchGate, ESAIM: Proceedings, Sep. 2005, vol. 14, 213-223 in 12 pages. |
Perez et al., “A Comparison of Hole-Flling Methods in 3D”, Int. J. Appl. Math. Comput. Sci., vol. 26, No. 4, pp. 885-903, 2016. |
Rabbani et al., “Segmentation of Point Clouds Using Smoothness Constraint”, ISPRS vol. XXXVI, Part 5, Dresden, Sep. 25-27, 2006, 6 pages. |
Rietzel et al., “Moving targets: detection and tracking of internal organ motion for treatment planning and patient set up”, Radiotherapy and Oncology, vol. 73, supplement 2, Dec. 2004, pp. S68-S72. |
Sedgewick et al., Algorithms and Data Structures Fall 2007, Department of Computer Science, Princeton University, https://www.cs.princeton.edu/˜rs/AlgsDS07/, downloaded Oct. 28, 2021, in 41 pages. |
Wolfson, “On Curve Matching”, Robotics Research Technical Report, Technical Report No. 256, Robotic Report No. 86 (Nov. 1986) New York University, Dept. of Computer Science, New York, New York 10012. |
Yang, Interactive Tooth Segmentation Method of Dental Model based on Geodesic, Research Gate, Jan. 2017, in 6 pages. |
Zheng et al., Finite Difference Error Analysis of Geometry Properties of Implicit Surfaces, 2011, IEEE Symposium on Computers & Informatics, in 6 pages. |
International Search Report and Written Opinion in International PCT Application No. PCT/US2020/039383 dated Sep. 25, 2020. |
International Search Report and Written Opinion in International PCT application No. PCT/US2020/039324 dated Oct. 19, 2020. |
Number | Date | Country | |
---|---|---|---|
20230130573 A1 | Apr 2023 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16451315 | Jun 2019 | US |
Child | 18069473 | US |