|
573 | 573 | <section id="center-of-rotation-and-tilt">
|
574 | 574 | <span id="center-of-rotation"></span><h1>Center of Rotation and Tilt<a class="headerlink" href="#center-of-rotation-and-tilt" title="Link to this heading">#</a></h1>
|
575 | 575 | <section id="center-of-rotation-cor-and-tilt-usage">
|
576 |
| -<h2>Center of Rotation (COR) and Tilt usage<a class="headerlink" href="#center-of-rotation-cor-and-tilt-usage" title="Link to this heading">#</a></h2> |
| 576 | +<h2>Center of Rotation (COR) and Tilt Usage<a class="headerlink" href="#center-of-rotation-cor-and-tilt-usage" title="Link to this heading">#</a></h2> |
577 | 577 | <p>The correct center of rotation is required for a good reconstruction.
|
578 | 578 | We provide two automatic ways of getting a center of rotation.
|
579 | 579 | However, sometimes the values they find are not accurate, so there is also a manual way
|
580 | 580 | to adjust the center of rotation.</p>
|
581 | 581 | <p>The algorithms used for reconstruction require a COR for each sinogram,
|
582 |
| -i.e. a list of CORs equal to the number of sinograms (also equal to the number of rows in a projection). |
583 |
| -This is abstracted away and the two final values that are used are: center of rotation and tilt.</p> |
584 |
| -<p>In that case the COR refers to the value at sinogram 0 (also referred to as slice 0). |
585 |
| -Using the tilt we then use a linear regression to calculate the COR for each sinogram in the data.</p> |
| 582 | +i.e., a list of CORs equal to the number of sinograms (also equal to the number of rows in a projection). |
| 583 | +This is abstracted away, and the two final values that are used are: center of rotation and tilt.</p> |
| 584 | +<p>In that case, the COR refers to the value at sinogram 0 (also referred to as slice 0). |
| 585 | +Using the tilt, we then use a linear regression to calculate the COR for each sinogram in the data.</p> |
| 586 | +</section> |
| 587 | +<section id="what-is-the-center-of-rotation-cor"> |
| 588 | +<h2>What is the Center of Rotation (COR)?<a class="headerlink" href="#what-is-the-center-of-rotation-cor" title="Link to this heading">#</a></h2> |
| 589 | +<p>The <strong>Center of Rotation (COR)</strong> is a reference point that defines the axis around which the object rotates |
| 590 | +during image acquisition in tomography. It is the midpoint of the rotational axis when looking at |
| 591 | +a slice of the data (a sinogram).</p> |
| 592 | +<a class="reference internal image-reference" href="../../../_images/cor_bad.png"><img alt="Misaligned Center of Rotation (COR) causing artifacts" class="align-left" src="../../../_images/cor_bad.png" style="width: 47%;" /></a> |
| 593 | +<a class="reference internal image-reference" href="../../../_images/cor_good.png"><img alt="Correctly aligned Center of Rotation (COR) for artifact-free reconstruction" class="align-right" src="../../../_images/cor_good.png" style="width: 47%;" /></a> |
| 594 | +<p>The left image shows a misaligned COR causing artifacts and distortions, |
| 595 | +while the right image depicts a properly aligned COR ensuring accurate and artifact-free reconstruction.</p> |
| 596 | +<dl class="simple"> |
| 597 | +<dt>Why COR Matters:</dt><dd><ul class="simple"> |
| 598 | +<li><p>If the COR is incorrect, the projections will not align correctly during reconstruction, |
| 599 | +leading to artifacts and blurred images.</p></li> |
| 600 | +<li><p>COR is specific for each sinogram (i.e., each slice of the object being scanned).</p></li> |
| 601 | +</ul> |
| 602 | +</dd> |
| 603 | +<dt>How COR is Used:</dt><dd><ul class="simple"> |
| 604 | +<li><p>For accurate reconstruction, the COR for the first sinogram (sinogram 0, also called slice 0) is determined.</p></li> |
| 605 | +<li><p>Using the <strong>Tilt</strong> parameter, CORs for subsequent sinograms are calculated through a linear adjustment.</p></li> |
| 606 | +</ul> |
| 607 | +</dd> |
| 608 | +</dl> |
| 609 | +</section> |
| 610 | +<section id="what-is-tilt"> |
| 611 | +<h2>What is Tilt?<a class="headerlink" href="#what-is-tilt" title="Link to this heading">#</a></h2> |
| 612 | +<p><strong>Tilt</strong> describes the gradual change in the Center of Rotation (COR) along the axis perpendicular |
| 613 | +to the rotation plane (typically corresponding to the rows in a projection).Without considering tilt, |
| 614 | +the reconstructed slices may not align correctly, causing distortions or streaking artifacts.</p> |
| 615 | +<dl class="simple"> |
| 616 | +<dt>Key Points:</dt><dd><ul class="simple"> |
| 617 | +<li><p>Tilt is measured in degrees.</p></li> |
| 618 | +<li><p>A tilt value of zero means the rotation axis is vertical, and the COR is the same for every sinogram.</p></li> |
| 619 | +<li><p>Using the COR of the first sinogram and the tilt value, the COR for each subsequent sinogram is interpolated or extrapolated.</p></li> |
| 620 | +</ul> |
| 621 | +</dd> |
| 622 | +<dt>GUI:</dt><dd><ul class="simple"> |
| 623 | +<li><p>The GUI also displays <strong>Slope</strong>, which represents how far the COR moves from one slice to the next.</p></li> |
| 624 | +</ul> |
| 625 | +</dd> |
| 626 | +</dl> |
586 | 627 | </section>
|
587 | 628 | <section id="entering-known-cor-and-tilt">
|
588 |
| -<h2>Entering known COR and tilt<a class="headerlink" href="#entering-known-cor-and-tilt" title="Link to this heading">#</a></h2> |
589 |
| -<p>If the COR and tilt are already known you can enter them in the “Enter known COR/Tilt manually here” section |
590 |
| -and press “Use COR/Tilt values from above”. In this case you can go immediately to reconstruction.</p> |
| 629 | +<h2>Entering Known COR and Tilt<a class="headerlink" href="#entering-known-cor-and-tilt" title="Link to this heading">#</a></h2> |
| 630 | +<p>If the COR and tilt are already known, you can enter them in the “Enter known COR/Tilt manually here” section |
| 631 | +and press “Use COR/Tilt values from above.” In this case, you can go immediately to reconstruction.</p> |
591 | 632 | </section>
|
592 | 633 | <section id="correlate-0-and-180">
|
593 | 634 | <h2>Correlate 0 and 180<a class="headerlink" href="#correlate-0-and-180" title="Link to this heading">#</a></h2>
|
594 | 635 | <p>This automatic COR algorithm finds the shift between the projections at 0 and 180 degrees.
|
595 |
| -The projection exactly at 180 degrees is necessary for the best result. |
596 |
| -We provide the option of loading a 180 degree projection in the load dialog.</p> |
597 |
| -<p>The algorithm will not run unless a 180 degree projection has been loaded.</p> |
| 636 | +The projection exactly at 180 degrees is necessary for the best result. We provide the option |
| 637 | +of loading a 180-degree projection in the load dialog.</p> |
| 638 | +<p>The algorithm will not run unless a 180-degree projection has been loaded.</p> |
598 | 639 | <p>This is not a problem and could be rectified either by adding a manual COR or using
|
599 | 640 | the minimisation algorithm.</p>
|
600 | 641 | </section>
|
601 | 642 | <section id="minimise-error">
|
602 |
| -<h2>Minimise error<a class="headerlink" href="#minimise-error" title="Link to this heading">#</a></h2> |
| 643 | +<h2>Minimise Error<a class="headerlink" href="#minimise-error" title="Link to this heading">#</a></h2> |
603 | 644 | <p>This automatic COR algorithm uses the square sum of the projection as a noise heuristic.
|
604 | 645 | It minimises the noise in order to find the best COR for that sinogram.</p>
|
605 | 646 | <p>It does so for a number of sinograms (slices) and adds the result in the COR table.</p>
|
606 | 647 | <p>This algorithm may not work well on noisy data or with very bright outliers, as the
|
607 | 648 | minimisation can get lost in a local minima and not find the best reconstructed slice.
|
608 |
| -As the same heuristic is also used in the manual “Refine” window, to highlight |
| 649 | +As the same heuristic is also used in the manual “Refine” window to highlight |
609 | 650 | one of the choices as the best, the behaviour can also be seen there.</p>
|
610 |
| -<p>In this case the best action is to use the correlate as a starting point, |
611 |
| -and go immediately to manual COR correction.</p> |
| 651 | +<p>In this case, the best action is to use the correlate as a starting point and |
| 652 | +go immediately to manual COR correction.</p> |
612 | 653 | </section>
|
613 | 654 | <section id="manual-cor-correction">
|
614 |
| -<h2>Manual COR correction<a class="headerlink" href="#manual-cor-correction" title="Link to this heading">#</a></h2> |
615 |
| -<p>Due to the limitations of the algorithms above there is also a manual way of calculating the COR - |
| 655 | +<h2>Manual COR Correction<a class="headerlink" href="#manual-cor-correction" title="Link to this heading">#</a></h2> |
| 656 | +<p>Due to the limitations of the algorithms above, there is also a manual way of calculating the COR— |
616 | 657 | using the “COR Table - refine manually” part of the GUI.</p>
|
617 |
| -<p>In that table you can click Add to add a new COR for the currently selected slice. Once added |
618 |
| -you can click the row and then “Refine” which will take you |
619 |
| -to a window that reconstructs the sinogram with multiple CORs simultaneously, and allows you |
620 |
| -to visually pick the best one.</p> |
| 658 | +<p>In that table, you can click Add to add a new COR for the currently selected slice. Once added, |
| 659 | +you can click the row and then “Refine,” which will take you to a window that reconstructs |
| 660 | +the sinogram with multiple CORs simultaneously, and allows you to visually pick the best one.</p> |
621 | 661 | <p>After you have two or more CORs in the table, a fit will be performed in order to find the COR and tilt
|
622 | 662 | using the data from the table rows.</p>
|
623 | 663 | <p>It is sometimes good enough to add a COR at the top of your data and the bottom.
|
624 | 664 | Once the best CORs for those are found, the resulting tilt should be accurate.
|
625 |
| -To increase the accuracy further add more COR rows.</p> |
| 665 | +To increase the accuracy further, add more COR rows.</p> |
626 | 666 | </section>
|
627 | 667 | <section id="to-reconstruction">
|
628 |
| -<h2>To reconstruction<a class="headerlink" href="#to-reconstruction" title="Link to this heading">#</a></h2> |
| 668 | +<h2>To Reconstruction<a class="headerlink" href="#to-reconstruction" title="Link to this heading">#</a></h2> |
629 | 669 | <p>Once you have a satisfactory value of COR or tilt, you are ready to proceed to the “Reconstruct” tab.</p>
|
630 | 670 | <p>Information about the filters and algorithms can be found in the other pages of the <a class="reference internal" href="index.html#reconstruction-help-page"><span class="std std-ref">Reconstruction Help page</span></a>.</p>
|
631 | 671 | </section>
|
@@ -677,12 +717,14 @@ <h2>To reconstruction<a class="headerlink" href="#to-reconstruction" title="Link
|
677 | 717 | </div>
|
678 | 718 | <nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2">
|
679 | 719 | <ul class="visible nav section-nav flex-column">
|
680 |
| -<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#center-of-rotation-cor-and-tilt-usage">Center of Rotation (COR) and Tilt usage</a></li> |
681 |
| -<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#entering-known-cor-and-tilt">Entering known COR and tilt</a></li> |
| 720 | +<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#center-of-rotation-cor-and-tilt-usage">Center of Rotation (COR) and Tilt Usage</a></li> |
| 721 | +<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#what-is-the-center-of-rotation-cor">What is the Center of Rotation (COR)?</a></li> |
| 722 | +<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#what-is-tilt">What is Tilt?</a></li> |
| 723 | +<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#entering-known-cor-and-tilt">Entering Known COR and Tilt</a></li> |
682 | 724 | <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#correlate-0-and-180">Correlate 0 and 180</a></li>
|
683 |
| -<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#minimise-error">Minimise error</a></li> |
684 |
| -<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#manual-cor-correction">Manual COR correction</a></li> |
685 |
| -<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#to-reconstruction">To reconstruction</a></li> |
| 725 | +<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#minimise-error">Minimise Error</a></li> |
| 726 | +<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#manual-cor-correction">Manual COR Correction</a></li> |
| 727 | +<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#to-reconstruction">To Reconstruction</a></li> |
686 | 728 | </ul>
|
687 | 729 | </nav></div>
|
688 | 730 |
|
|
0 commit comments