# DeAPIR: Efficient and Enhanced Dental Arch-Guided Panoramic Image Reconstruction from CBCT Data
## 3 Results  
The research article evaluated the proposed DeAPIR framework on a computer with the following specifications: an Intel(R) Xeon(R) CPU E5-2630 v4 processor running at 2.20 GHz (with two processors), 48 GB of RAM, and Windows 10 as the operating system. Python 3.11 was used for implementing the method. The average time required to obtain panoramic projection data was 48 s. The results obtained using the proposed method were compared to panoramic images generated with Blue Sky and OpenInventor. The CBCT data of fifteen patients have been utilized as part of the standard for developing an orthodontic treatment plan. The CBCT data, consisting of DICOM files with dimensions of \(551\times 450\times 551\), were collected through 3D scanning devices and used in the research for the development of the proposed surgical planning software. In the experiment, the input CBCT had dimensions of \(559\times 450\times 559\), comprising 559 values in the x-direction, 450 in the y-direction, and 559 in the z-direction. A 2D MIP was derived from the CBCT in the xy-plane with dimensions of \(559\times 450\). The primary dental component, representing the teeth section, was localized using the proposed moving average thresholding method, as depicted in Figure 2. The mean values were initially determined by averaging all pixel intensities along the x-axis corresponding to each y-axis value. This process resulted in a vector that formed a graphical shape with higher values in the bright pixel region along the y-axis. The dimension of the mean vector was thus 450 values along the y-axis, as shown in Figure 2B. The space between the maxilla and mandible in the MIP image created a concave structure in the mean vector, which was annotated with a circle in Figure 2B. This concave structure affected the localization of dental teeth, introducing space between maxilla and mandible slices. To address this issue, a moving average vector was generated with a window size of 30, as depicted in Figure 2C. The moving average vector covered the concave section of the vector and produced a global maximum at the dental teeth position within the vector. Although the moving average results were suitable for teeth localization, determining the threshold value was challenging due to the non-uniform dimensions of the MIP. To address this non-uniformity, the moving average was normalized to a range of 0 to 1, and a threshold value of 0.7 was used to create a unit step vector with an amplitude of 1, representing the set of CBCT slices where the dental teeth section existed. After identifying the dental teeth slices within the CBCT 3D data, we cropped and utilized the desired slices for detecting the dental arch position, as illustrated in Figure 3B. These dental teeth section slices were then processed to generate MIP top views, showcasing the \(xz\)-plane. These MIP top views reveal the arrangement of teeth while excluding any interference from the skull or other bone structures. Subsequently, we binarized the MIP top view and applied morphological operations to identify the dental arch line. However, due to noise and impairments, the raw dental arch may contain undesired branches, as indicated in Figure 4a with a red circle annotation. To obtain a clean arch curve, we applied a 2D Gaussian filter with a filter size of 23 \(\times\) 23 and a standard deviation of 2 to remove these unwanted branch structures. The binarized results from the Gaussian filter were then subjected to a skeleton detection process to detect the clean dental arch shown in Figure 4d. The dental arch is then approximated as a quadratic curve to achieve a smooth and extended dental arch shape. Using the quadratic equation, we extend the dental arch line up to the TMJ joints. We calculate and illustrate the perpendicular angles at each point along the dental arch line in Figure 5c. For each point, we use the calculated perpendicular angle to rotate a cuboid centered at the dental arch point.