Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
AUTOMATED PROCESS FOR INTERMEDIATE ORTHODONTIC DIGITAL SETUP REUSE DUE TO TREATMENT PLAN MODIFICATIONS
Document Type and Number:
WIPO Patent Application WO/2020/202009
Kind Code:
A1
Abstract:
A method for generating and reusing digital setups for an orthodontic treatment path. The method receives a digital 3D model of teeth, optionally performs interproximal reduction on the model, and generates an initial treatment path with stages including an initial, final, and intermediate setups. The method divides the initial treatment path into initial steps of feasible motion of the teeth resulting in a final treatment path with setups corresponding with the initial steps. For a treatment redesign, the method computes new steps of feasible motion for only a portion of the initial treatment path and based upon the initial steps, and generates the final treatment path with new setups corresponding with the new steps. The setups can be used to make orthodontic appliances, such as clear tray aligners.

Inventors:
CUNLIFFE ALEXANDRA R (US)
SOMASUNDARAM GURUPRASAD (US)
ZIMMER BENJAMIN D (US)
BEN-GAL NGUYEN NITSAN (US)
SHUMAN VERA (US)
AMATO NANCY M (US)
THOMAS SHAWNA L (US)
Application Number:
PCT/IB2020/053060
Publication Date:
October 08, 2020
Filing Date:
March 31, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
3M INNOVATIVE PROPERTIES CO (US)
International Classes:
A61C9/00; A61C7/00
Domestic Patent References:
WO2019069191A22019-04-11
Foreign References:
US20150351871A12015-12-10
US20080057461A12008-03-06
US20080306724A12008-12-11
US6602070B22003-08-05
Other References:
See also references of EP 3946140A4
Attorney, Agent or Firm:
VIETZKE, Lance L., et al. (US)
Download PDF:
Claims:
The invention claimed is: 1. A computer-implemented method for generating and reusing setups for an orthodontic treatment path, comprising steps of:

receiving a digital 3D model of teeth;

generating an initial treatment path with stages including an initial setup, a final setup, and a plurality of intermediate setups;

dividing the initial treatment path into initial steps of feasible motion of the teeth resulting in a final treatment path with setups corresponding with the initial steps;

computing new steps of feasible motion of the teeth for only a portion of the initial treatment path and based upon the initial steps; and

generating the final treatment path with new setups corresponding with the new steps. 2. The method of claim 1, wherein the generating the initial treatment path step comprises generating the initial treatment path with key intermediate setups. 3. The method of claim 1, wherein the dividing step comprises performing a trajectory refinement of the initial treatment path based upon a particular resolution, where the resolution comprises a number of steps in the treatment path. 4. The method of claim 3, wherein the dividing step comprises performing the trajectory refinement of the initial treatment path based upon an evaluation criteria that assigns scores to the setups. 5. The method of any of claims 3-4, wherein the performing the trajectory refinement comprises adjusting the resolution of the treatment path. 6. The method of any of claims 3-5, wherein the performing the trajectory refinement comprises, if the treatment path does not satisfy the evaluation criteria, generating a new treatment path. 7. The method of claim 6, wherein the generating the new treatment path comprises applying a smoothing algorithm to the treatment path. 8. The method of any of claims 6-7, wherein the generating the new treatment path comprises applying a region refinement algorithm to the treatment path.

9. The method of any of claims 6-8, wherein the generating the new treatment path comprises finding a shortest treatment path that satisfies the evaluation criteria. 10. The method of claim 1, wherein the dividing step comprises generating the final treatment path based in part upon user input. 11. The method of claim 10, wherein the user input comprises key setups. 12. The method of any of claims 10-11, wherein the user input comprises intermediate setups. 13. The method of any of claims 10-12, wherein the user input comprises approximate setups. 14. The method of any of claims 11-13, wherein the user input comprises identification of regions for refinement. 15. The method of claim 1, wherein the dividing step comprises dividing the final treatment path based upon key frames. 16. The method of claim 1, wherein the dividing step comprises generating multiple final treatment paths. 17. The method of claim 16, further comprising reporting one or more scores for each of the multiple treatment paths. 18. The method of any of claims 16-17, further comprising selecting the final treatment path among the multiple final treatment paths based upon user input. 19. The method of claim 1, further comprising:

performing interproximal reduction (IPR) on the model;

computing IPR accessibility for each tooth at each stage of the initial treatment path; and applying IPR throughout the initial treatment path based upon the computed IPR accessibility. 20. The method of claim 19, wherein the applying step comprises applying an IPR batching algorithm to the treatment path.

21. The method of claim 20, wherein the applying the IPR batching algorithm comprises applying IPR as soon as possible during the treatment. 22. The method of claim 20, wherein the applying the IPR batching algorithm comprises minimizing a number of IPR sessions. 23. The method of any of claims 21-22, wherein the applying the IPR batching algorithm comprises selecting a batching algorithm based upon user input. 24. The method of claim 1, wherein the computing new steps comprises computing the new steps based upon the initial steps and a new final setup. 25. The method of claim 24, wherein the computing new steps comprises attempting a shortest path between the initial steps and the new final setup. 26. The method of claim 15, wherein the computing new steps comprises computing the new steps based upon the initial steps and a change in the key frames.

Description:
AUTOMATED PROCESS FOR INTERMEDIATE

ORTHODONTIC DIGITAL SETUP REUSE DUE TO TREATMENT PLAN MODIFICATIONS BACKGROUND

Intermediate staging of teeth from a malocclusion stage to a final stage requires determining accurate individual teeth motions in a way that teeth are not colliding with each other, the teeth move toward their final state, and the teeth follow optimal (preferably short) trajectories. Since each tooth has 6 degrees-of-freedom and an average arch has about 14 teeth, finding the optimal teeth trajectory from initial to final stage has a large and complex search space. A need exists to simplify this optimization problem by dividing the trajectory to several shorter and easier- to-find trajectories and by reusing previous trajectories for treatment plan redesign. SUMMARY

An embodiment includes a method for generating and reusing setups for an orthodontic treatment path to accommodate treatment path redesigns. The method includes receiving a digital 3D model of teeth and generating an initial treatment path with stages including an initial setup, a final setup, and a plurality of intermediate setups. The method also includes dividing the initial treatment path into initial steps of feasible motion of the teeth resulting in a final treatment path with setups corresponding with the initial steps. For a treatment redesign, the method further includes computing new steps of feasible motion of the teeth for only a portion of the initial treatment path and based upon the initial steps, and generating the final treatment path with new setups corresponding with the new steps. BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are incorporated in and constitute a part of this specification and, together with the description, explain the advantages and principles of the invention. In the drawings,

FIG.1 is a diagram of a system for generating digital setups for orthodontic appliances; FIG.2 is a flow chart of a method for generating digital setups for orthodontic appliances; FIG.3 is a graph illustrating an initial sequence of digital setups;

FIGS.4A-4D are graphs illustrating trajectory refinement for a sequence of digital setups; FIGS.5A and 5B are diagrams illustrating accessible and inaccessible contacts for IPR application;

FIGS.6A and 6B are diagrams illustrating IPR regions for accessible contact points; FIG.7 is a diagram illustrating an IPR region for accessible contact points; and

FIG.8 is a graph of an accessibility matrix for IPR. DETAILED DESCRIPTION

Embodiments of this invention include a possibly partially to fully automated system to generate a set of intermediate orthodontic setups that allow a set of teeth to move from the maloccluded to the final setup state or allow for a partial treatment from one state to another state (e.g., an initial state to a particular intermediate state). Each arrangement of teeth (“state” or “setup”) is represented as a node in a graph, and robotic motion planning is used to expand the graph and search for a path of valid states. These states or setups can be a digital representation of the arrangement of teeth at a particular stage of treatment, where the representation is a digital 3D model. The digital setups can be used, for example, to make orthodontic appliances such as clear tray aligners to move teeth along a treatment path. The clear tray aligners can be made by, for example, converting the digital setup into a corresponding physical model and thermoforming a sheet of material over the physical model or by 3D printing the aligner from the digital setup. Other orthodontic appliances, such as brackets and archwires, can also be configured based upon the digital setups.

The system and method can take into consideration interproximal reduction (IPR), which is the removal of some of the outer tooth surface, called enamel. IPR is also known as, and the term IPR includes, slenderizing, stripping, enamel reduction, reproximation, and selective reduction. IPR can be used, for example, between teeth that touch in order to make room to move teeth in orthodontic procedures. The system and method apply IPR to a digital 3D model of teeth to simulate application of IPR to actual teeth represented by the model. In other embodiments, the system and method do not require consideration of IPR. In other embodiments, the system and method can model the opposite of IPR using the same or similar techniques, for example as applied to bridges or implants.

In one embodiment, the method: 1) performs IPR up-front on a digital 3D model of teeth and generates an initial treatment path with digital setups; 2) computes IPR accessibility for each tooth at each stage of the initial treatment path and possibly determines when to apply IPR; and 3) applies IPR throughout the treatment path and divides the treatment path into steps of biologically feasible motion, a trajectory with points for the digital setups to make appliances corresponding with each setup. In other embodiments, the method can proceed without IPR or with IPR when possible to perform IPR.

FIG.1 is a diagram of a system 10 for generating digital setups for orthodontic appliances (21). System 10 includes a processor 20 receiving digital 3D models of teeth (12) from intra-oral 3D scans or scans of impressions of teeth, or in other embodiments the system receives user manual input. System 10 can also include an electronic display device 16, such as a liquid crystal display (LCD) device, and an input device 18 for receiving user commands or other information. Systems to generate digital 3D images or models based upon image sets from multiple views are disclosed in U.S. Patent Nos.7,956,862 and 7,605,817, both of which are incorporated herein by reference as if fully set forth. These systems can use an intra-oral scanner to obtain digital images from multiple views of teeth or other intra-oral structures, and those digital images are processed to generate a digital 3D model representing the scanned teeth and gingiva. System 10 can be implemented with, for example, a desktop, notebook, or tablet computer. System 10 can receive the 3D scans locally or remotely via a network.

The 3D scans addressed herein are represented as triangular meshes. The triangular mesh is a common representation of 3D surfaces and has two components. The first component, referred to as the vertices of the mesh, are simply the coordinates of the 3D points that have been reconstructed on the surface– i.e., a point cloud. The second component, the mesh faces, encodes the connections between points on the object and is an efficient way of interpolating between the discrete sample points on the continuous surface. Each face is a triangle defined by three vertices, resulting in a surface that can be represented as a set of small triangular planar patches. A. Algorithm Overview

Embodiments include a motion planning-based approach to generate intermediate setups (staging) given an initial maloccluded setup and a final proposed setup. The goal is to produce a series of setups that bring the maloccluded setup into the final proposed setup that also meet some evaluation criteria while satisfying per-stage tooth movement limits. Evaluation criteria may require collision-free setups, minimal gingiva displacement, permitted motion, how motion can be related, or other conditions.

The flow chart shown in FIG.2 provides an overview of the system and method. A sequence of key setups is provided as input, where the first is the maloccluded state, the last is the final proposed setup, and the others are additional setups (“key setups”) that will help guide the motion. Key setups are a way to guide the search for intermediate setups, but key setups are not required for intermediates. For example with key setups, when creating space to reduce the crowding of teeth, trajectories often should move and tip the teeth outward, apply IPR, and then retract/upright the teeth. In this case, one key setup could be added in addition to the first and last that specifies this flared-out configuration. Intermediate key setups may be generated manually by a technician or through an automated approach. One potential method for intermediate key setup generation is to encode a rule for coordinated tooth motion (e.g., flare out) that can be applied to a set of teeth. Another possible method uses a logic controller to create key intermediate setups based upon inputs, outputs, and rules as specified below.

The input variables of this logic controller are:

• The difference between the current and the target position (i.e. position error vector) for each tooth

• The Euler angles error vector for each tooth

• The penetration depth for tooth collision (Pd), and

• The direction of a possible penetration for tooth collision

The output variables or the control commands of this logic controller are:

• The Euler angles vector of the rotation command for each tooth and

• The translation vector command for each tooth

In one embodiment, there are two sets of control rules that govern the key frame generation system: to control each tooth to converge to the tooth’s final state or an intermediate state (Table 1), and to avoid collisions by moving in the opposite direction of the penetration depth (Table 2).

All IPR is pre-applied to the maloccluded state (step 22). This means that the total IPR prescribed to be performed by the end of treatment is applied to the geometry that will be used throughout the region refinement step. After IPR is applied, a graph is formed including the key setups, S 1 , S 2 , S 3 , and S 4 (step 24) as shown in FIG.3, where S 1 is the initial maloccluded state, S 4 is the final setup at the end of treatment, and S 2 and S 3 are intermediate setups at different stages of treatment. Once a sequence of states has been created, multi-resolution trajectory refinement is performed (steps 26, 28, 30, 32, 34, and 36 explained below).

This trajectory refinement process is described for a single resolution in FIGS 4A-4D. First, the shortest path through the graph is linearly interpolated at a resolution d (FIG.4A), where d changes at each resolution in the multi-resolution approach. Once interpolated, each setup in the sequence is evaluated to see if the setup meets the given criteria (FIG.4B). If the evaluation criteria are not met, the refinement process repeats until the shortest path meets the criteria. Invalid states are targeted for refinement (the setup in region 44 in FIG.4C), and a search commences from these states and their neighbors. Here the search is at the same resolution d for the linear interpolation. Additional edges are generated during the search (the dashed lines in FIGS.4C and 4D) to allow for multiple paths in the graph between the initial and final setups. Edges are weighted by the node that they proceed from. After many new edges are added, a search is performed to find the new shortest path. If a path is found (region 46 in FIG.4D), path smoothing can be performed. Path smoothing interpolates new edges between nearby states in the path and finds a new shortest path; edges are only added if the edges meet the given criteria at the resolution d. In other embodiments, smoothing is not required. The refinement process repeats until all setups in the sequence meet the given criteria.

Once the sequence meets the evaluation criteria, the sequence is smoothed again (step 38), and a final path is returned (steps 40 and 42). The path is subsequently input into an IPR application step, which identifies where in the trajectory IPR application should occur. Staging then returns a series of setups at resolution l which may be larger than d.

This process also incorporates treatment re-design features (steps 25 and 27).

Algorithm 1 details this entire process, except the treatment re-design features which are detailed below. Specific sub-algorithm designs are discussed afterward.

B. Sub-Algorithm Design

Algorithm 1 is modular in that different implementations of the algorithm’s sub- algorithms will give different behavior. Presented herein are specific implementations of each module that have proved successful for the given task. B1. Pre-apply IPR (22)

In one embodiment using IPR, two methods are possible for pre-applying IPR. In the first method, the modifications described by the IPR planes and amounts are applied to the tooth geometry upfront, and this tooth geometry is used for the duration of the trajectory refinement. Alternatively, IPR-aware evaluation methods may be used during the trajectory refinement process. These evaluation methods can correctly evaluate states that describe not only tooth positions and rotations but mesial and distal IPR amounts (the“IPR configuration” portion of the state). In this case, the IPR configuration of the setup state is copied over the IPR configuration of the maloccluded state. The methods will produce identical behavior. B2. Multi-resolution trajectory refinement

The algorithm performs refinement of the path P at multiple resolutions, beginning at low resolution (large d) and subsequently moving to higher resolutions (small d). In the preferred mode, the algorithm uses the following array of ds: [8.0, 4.0, 2.0, 1.0]. Each step of multi- resolution adjustment is discussed individually below. B2a. Resolution adjustment (26)

This step modifies a path in a graph to enforce a given resolution. Algorithm 2 describes the implementation.

This algorithm 2 uses an interpolate subroutine with two options: same finish where all teeth complete their motion at the same (last) stage; and fast finish where teeth complete their motion as fast as possible and may not all finish at the same stage. The preferred mode uses same finish. B2b. Refinement region identification (32)

This identifies a subset of the trajectory P that needs further refinement according to some evaluation criteria E. Some options for the output of this algorithm could include returning all portions of P that violate E, or the first offender in P, or the worst offender in P. The following approaches are possible implementations for this refinement:

● IdRefinementRegionFirst: Returns the first location along P where the score computed using the evaluation criteria exceeds a threshold score.

● IdRefinementRegionAll: Returns all locations along P where the score computed using the evaluation criteria exceeds a threshold score.

● IdRefinementRegionWorst: Returns the worst offender in P, defined as the element that received the worst score using the evaluation criteria. In the case of a tie (i.e., multiple worst offenders), the last worst offender in P is returned.

● IdRefinementRegionWorstAll: Returns all worst offenders in P.

● IdRefinementRegionWorstNeighbors: Returns the worst offender in P and its N neighbors in P. In the case of a tie (i.e., multiple worst offenders), the last worst offender in P is returned.

The preferred mode of the system uses IdRefinementRegionAll.

Refinement region identification uses an evaluation criterion that is defined by an evaluator subroutine. Other scoring criteria, such as tooth displacement from gingiva or number of vertices of overlap between teeth in the arch, can also be used in place of or in addition to these described metrics. The preferred mode uses collision contact points count.

This algorithm 3 uses a SelectCandidate subroutine to identify a candidate from the list of Candidates. Two approaches have been identified for this subroutine:

1. Random selection: Chose the candidate randomly from the list of Candidates. 2. A* graph search: Select the candidate node based on the calculation of a heuristic. A heuristic is a quantity that estimates the“remaining cost” of a node (i.e., the quantified effort to travel from that node to the end state of the graph). The A* algorithm uses heuristics to efficiently search graphs, choosing the next node to explore using a heuristic to predict which node is most promising. A single node is selected for exploration from the list of Candidates using a heuristic. The following heuristics are possible:

Euclidean distance between the candidate state and the setup state: For each candidate state, compute the Euclidean distance between all tooth positions in the candidate state and the setup state; then compute the heuristic as the sum or average of these distances; and choose the candidate node by minimizing the heuristic.

Extent of collision: The extent of collision can be quantified by counting the number of points from one tooth that lie within the bounds of another tooth, or alternatively by computing the number of contact points between two meshes. Compute the heuristic as the count of these points of overlap between teeth in the arch. The next node can be chosen by maximizing the count of collisions (in order to force early exploration of problematic states) or minimizing the count of collisions (for an algorithmic approach that attempts to solve the problem by identifying locally optimal (i.e., easy-to-resolve) nodes before progressing to more difficult-to-resolve locations).

In the preferred mode, the candidate is chosen randomly for all iterations except for the first iteration, where instead the candidate with the worst score according to a heuristic is selected. The heuristic is the number of contact points.

Additionally, Algorithm 3 uses an IterativePerturb subroutine, which iteratively perturbs the state according to a Perturb function, ultimately choosing the state c’ that achieves the best score according to an evaluator. In the preferred mode, IterativePerturb is called 50 times, and the evaluator computes the number of collision points. The preferred mode uses propagated directional perturbation, which perturbs teeth that are in collision as well as and neighboring teeth in the direction roughly opposite to the directional penetration vector.

Algorithm 3 uses a ScorePath subroutine to compute s P , the score of the shortest path, P, along graph G. The path score can be computed using the function:

s P = sum([(number of collisions at location i + 1) 1.25 for location i in P])

An ExtractValidSubset subroutine is used to extract the subset of an interpolated path, C, that is valid according to some evaluator function. The preferred mode uses number of collision points as the evaluator, considering only nodes with 0 collision points to be valid.

The preferred mode for the Smooth function is the iterative smoother described in“B2d. Trajectory smoothing” below. B2d. Trajectory smoothing (30, 38)

There are many possible smoothing algorithms. One possibility (Algorithm 5) attempts all possible edges between any two nodes in P, only retaining those that meet E at resolution d.

However, this approach is computationally expensive, especially for long paths. Instead, smoothing can be attempted only for nodes that are within a distance threshold of each other. Another implementation includes an iterative smoother that applies this smoothing process repeatedly until a score is no longer improved through smoothing. This iterative smoother is the preferred mode.

B3. IPR batching (40)

Because IPR was pre-applied (Section B1), automated intermediate trajectory finding is performed initially with all IPR performed up front when teeth are in the maloccluded state.

However, it is often impossible or not practical to do this in practice, as teeth need to be accessible in order to perform IPR and may not become accessible until a later point during treatment. This section provides a strategy for incorporating IPR batching into planning. The method takes as input the graph and path generated by the algorithm when IPR is applied up front (the output from Section 2). This path is then refined based on IPR application.

The method for IPR incorporation is described below. First, how to determine IPR accessibility is discussed. Then, different ways to apply IPR batching for a given trajectory are provided. In other embodiments, IPR batching is not required. B3a. IPR Accessibility

For realistic IPR application, the mesial or distal surface of the tooth must be accessible, meaning that the tooth cannot be situated behind another tooth or intersect with the labial/lingual surface of another tooth (see FIGS.5A and 5B). IPR accessibility is thus determined by taking a weighted sum of tooth distance behind its neighboring tooth and tooth intersection with its neighboring tooth.

To measure tooth distance in front of or behind another tooth, the mesial/distal region of each tooth is identified, as represented by the shaded regions 52 of FIGS 6A (occlusal view) and 6B (frontal view). The distance between the mesial/distal points of neighboring teeth in the direction normal to the arch form is then computed. To measure tooth intersection with its neighbor, a ray is drawn along the tooth incisal edge, and the closest intersection point with the neighboring tooth is identified. The distance between the intersection point and the mesial or distal region of the neighboring tooth is computed. The following are several other approaches of determining if a contact between two neighboring teeth is approved for IPR application: by distance along the incisal edge from the mesial/distal surface, and by outward normal orientation, and a hybrid method that combines those two ways. These approaches are discussed in turn below.

By Contact Point Projection to Incisal Edge. The algorithm defines the mesial/distal region as the area near the endpoints of the incisal edge, see the shaded regions 52 of FIGS.6A (occlusal view) and 6B (frontal view). The incisal edge may be defined as: a line segment connecting incisal edge DSL/ABO landmarks (if landmarks are provided); and a line segment connecting the minimum and maximum tooth vertices along the tooth’s local x-axis projected to the local z=0 plane (if no landmarks are provided). To determine accessibility, the contact point is first projected to the z=0 plane and then projected to the incisal edge line segment. If this projected point is within an absolute distance or distance percentage threshold to the nearest incisal edge endpoint, the point is accessible for IPR. Otherwise the point is not accessible. Likely an absolute distance would be sufficient as the maximum IPR to apply is given as input when the final setup is provided. A contact point is in the IPR region 52 if it lies nears the incisal endpoints 54, as shown in FIGS.6A and 6B.

By Contact Point Outward Normal Orientation. The algorithm can also define the mesial/distal region as the area where outward normals are approximately oriented along the arch form (see the shaded region 56 of FIG.7). IPR accessibility is determined by comparing the outward contact point normal to the local tooth x-axis.

Hybrid Approach. A hybrid approach combines the approaches presented above. If one approach is indeterminate, then the other approach can be used. B3b. IPR Application

Once there is a model for determining if IPR is accessible, that model can be used to decide when IPR is possible. This allows for relaxing the assumption that IPR is always immediately applied. RefineTrajectoryWithIPR is similar to the trajectory refinement approach presented in Section B2 when only a single resolution level is used.

First, all applied IPR is reset back to 0, except for vf. Then IPR is applied to P according to an IPR strategy (see Section B3c: IPR Strategy). Refinement proceeds as before to remove any remaining invalid portions of the trajectory.

The ApplyIPR subroutine examines the path P, applying IPR up to the limits given in v ƒ only when accessible and based on an application policy. (IPRisAccessible in Algorithms 2 and 3 implements the desired access model from Section B3a. IPR Accessibility). When IPR is applied to a particular vertex, it is propagated to all of its children (i.e., IPR values only increase along the trajectory, meaning tooth material is not added back). B3c. IPR Strategy

The following are two possible IPR batching policies: as soon as possible and batching to minimize the number of IPR sessions.

As soon as possible: Algorithm 2 below simply iterates through P, applying the full IPR value from v ƒ to neighboring pairs of teeth that do not have the full value yet applied and are accessible as reported by IPRisAccessible (see Section B3a. IPR Accessibility).

Batching to minimize number of IPR sessions: IPR batching can be considered as an optimization problem where one wants to minimize the number of times that IPR is applied. Thus, IPR should be fully applied when accessible. There is also a preference for applying IPR as early in treatment as possible.

To optimize for batching, the algorithm can examine when every IPR application point is accessible along P. The algorithm can use an accessibility matrix for this feature (FIG.8). IPR application points lie along the x-axis in the matrix. Note that teeth that do not need any IPR applied (e.g., molars or teeth with the same IPR in v 0 as in v ƒ ) are excluded from this matrix as they are not actionable IPR application points. The y-axis represents the path steps along P, going from v 0 to v ƒ . Each cell is shaded if that IPR application point is accessible at that path step (determined using IPRisAccessible from Section B6a). A horizontal cut, represented by lines 58 and 60, along this matrix represents applying IPR to the shaded set of teeth collectively. Thus, the algorithm seeks to minimize the number of cuts required to cover all IPR application points. For a given cut, IPR is applied at the first path step where the maximum number of teeth are accessible.

Algorithm 3 below outlines how this accessibility matrix may be used to apply batched IPR. In Algorithm 3, IPRisAccessible is not explicitly called before applying IPR, as it is implied in the construction of the accessibility matrix A.

The key step is the minimization function for finding the slices S. To do this, the algorithm adds slices to S starting with the slice that maximizes the number of remaining application points affected. B4. Trajectory Staging (42)

The objective of trajectory staging is to create a path P at a resolution l, which is defined based on per-stage tooth movement limits. Pseudo-code for this approach is shown below:

1. P_staged = P[0]

2. Compute△d, the change in tooth position from maloccluded state for each node in P 3. For each△d:

a. If △d > per-stage tooth movement limits:

b. Append P[i-1] (the node immediately prior to the current node) to P_staged c. Recompute△d as the change in tooth position from P[i-1]

4. Append the setup state (P[end]) to P_staged

In the system, trajectory staging need not but could be used. Instead, the resolution that the system uses to interpolate the path is equal to the per-stage tooth movement limits. B5. Treatment Re-Design (25, 27)

Digital orthodontic treatment planning follows an iterative process:

1. Manually create final setup, or evaluate and adjust an automatically generated final setup. 2. Staging: Manually create intermediate stages, or evaluate and adjust a set of automatically generated intermediate stages.

3. Send final setup and staging to practitioner for approval.

4. Make requested adjustments; if final setup is changed, re-compute step 2 Staging.

5. Repeat Steps 3-4 as necessary.

When the final setup is changed, the staging must also be adjusted to reflect the new final setup. The staging can be completely recomputed with the new adjusted final setup as the target. However, adjustments are often minor and much of the prior staging computation could potentially be reused. Embodiments of this invention include a method to reuse computation that will increase the responsiveness of the automated software for the technician. This method can improve a technician's workflow by reducing the amount of time spent waiting for staging to re-compute. This method could also reduce the amount of context switching between cases, as a technician or others may not need to move on to a new case while they wait for staging to re-compute. This method can also be used to provide interactive tools for the practitioner to compare treatment plans and educate the patient. Approach

The idea is to create connections (edges) between the interpolation of the initial setup to the new final setup and the graph produced by a prior staging computation. This augments the solution exploration process with the prior effort. The staging process then proceeds as before. The following algorithm provides a high-level view of the intermediate staging process with precomputed-graph-reuse incorporated. Based upon Algorithm 1 in Section A, additions to support computation reuse are in steps 1, 4, and 5, along with additional inputs.

Algorithm: RefineTrajectory(v0, vf, G, d, l, E, G0)

Input: The initial and final setups v0 and vf

Input: A graph G containing vertices v0 and vf, where v0 and vf are connected in G. G may simply be a graph with only these 2 vertices and a single edge connecting them, a graph with a series of key setups informed by the case’s motion rules, or a graph from a prior setup proposal search.

Input: A step size d

Input: A staging limit l

Input: An evaluation function E that assigns scores to setups

Input: A graph G0 from a previous RefineTrajectory run. G0 is null if there is no previous run. Input: A small connection constant k.

Output: A staged trajectory at resolution l that starts at v0, ends at vf, and minimizes undesirable motions.

Prior to being added to G, the prior graph G0 could optionally be modified to provide an initial estimate for how the graph may need to be modified. This modification could be achieved by a scaling motion at each node for teeth that have been modified in the final setup. For each tooth that has been modified in the final setup, the motion would be scaled proportionally to the magnitude and direction of change in position.

The perturbation directions learned from the previous graph, G0, could also be stored and reused during the RefineRegion stage to motivate searching in directions that are more likely to improve the score. The stored perturbation directions could either be actual perturbation directions or related data such as gradient calculations that could be used to randomly sample or derive new perturbed states.

To connect the prior graph G0 to the new graph G, additional edges need to be added between them. It is computationally expensive (and not necessary) to attempt connections from all of G to vertices G0. Instead, only the subset of G containing the candidate path P needs to have additional connections attempted to vertices G0. For each vertex p in P, connections should be attempted to vertices in G0, which is typically done by attempting connections between p's k- nearest neighbors in G0.

The RefineRegion step contains a SelectCandidate subroutine that is used to identify a candidate from a list of Candidates. The SelectCandidate subroutine could be modified to preferentially select candidate teeth that have been changed in the final setup, as well as their neighboring teeth.

In a rare situation that the nearest neighbors in the previous graph for the nodes in the new graph are very distant (distance above a pre-determined threshold), G0 could be abandoned, and the adjustment can be treated as refine region from the start as if it were a new staging calculation. This can potentially be approximated using the distance between original final setup and the modified final setup. If this distance is too great, the additional cost of computing nearest neighbors could be avoided and the procedure can revert to doing the staging from the start. Interactive System

Due to the computational efficiency of this algorithm, it could potentially be deployed as a dashboard that would allow a doctor or technician to visualize the effects of changing a final setup on the intermediate stages in real-time. In some other methods, a dashboard could be impractical due to the long computation time to re-compute stages; methods of this embodiment can decrease the computation time. Some information that could be displayed in this dashboard panel includes: total tooth movement per tooth; number of stages; and amount of pure extrusion or torque (i.e., movements that are difficult or impossible for an aligner to achieve).

By providing this immediate feedback, the technician and/or doctor could experiment with multiple final setup modifications to understand how modifications affect treatment time, tooth movement feasibility, and other factors, and ultimately plan desirable treatments with fewer iterations between doctors prescribing treatment and technicians designing treatment plans.

An alternative dashboard could be designed which would display the original (pre- modification) final setup, either on half a display screen, or in a smaller inset window, with key information such as that provided above, so that a technician or doctor could easily compare the effects of modifications and automatically revert to the saved, previously generated setup and staging. For example, if applying some small modifications to the final setup increases the number of stages past an amount the doctor is comfortable with, they could simply select (“click on”) the inset window or a“Revert to Original” button to load back in the prior final setup and its staging without having to undo the changes they may have made. This allows a certain amount of fine- tuning the final setup. Additionally, the view of the teeth and arches in the pre-computed and in- modification stagings could be locked so that they are always moved together, allowing easier comparison. C. Additional Components and Capabilities

C1. Multiple Path Extraction

This component enables a set of valid paths to be presented to a practitioner, enabling the practitioner or patient to select the desired treatment path. To benefit the technician or practitioner, multiple path choices should be dissimilar. In particular, they should all be viable but have different high-level properties such as number of IPR stages, amount of round-tripping, or other options. To provide this, paths should be scored or annotated based on such properties. Then the algorithm would identify all viable paths, sort them by score, and report back the best scoring paths that do not share the same properties as other, better-scoring, paths in the list. C2. Multiple IPR Policies

This component would offer practitioners a choice of what IPR application policy to apply: as soon as possible, batching to minimize the number of treatments, or a policy in between. Options can be provided to the practitioner, who would then evaluate different options on a case by case basis if desired or if their preferred policy yields less than desirable results. C3. Single vs. Multiple Arch

In one implementation, upper and lower arches are considered separately because it is an easier (and thus faster) problem to solve. In another embodiment, both arches are supported and considered together in the case that this is preferred, for example. C4. Interactive Tools

Several of the library components can either be fully specified by the user, fully automated, or interactive, where the user provides inputs to the automatic method. This spectrum can be seen in the following areas.

Key Setup Generation - This can be one of the most difficult steps to automate yet the user may be able to provide inputs to the method. Selecting useful key setups could rely on the ability to classify what case type one is considering (crowding, midline correction, etc.). This is something that may be learned over time by an algorithm but is easy for a technician to provide (via quick visual inspection and an input such as a checkbox). In addition, a technician could also explicitly provide intermediate stages that characterize the corrective treatment plan for the case type.

Perturbation Motions - To a lesser degree than above, a technician may also be able to provide corrective motion planning possibly through approximate setup input. This planning can then be applied during automated perturbation of invalid states, enabling a clinically valid solution to be discovered more quickly.

Identification of Refinement Regions - If the algorithm is focused on some local minima, a user may be able to identify good regions for refinement based on visual inspection and manually perturb the state towards these good regions.