today there is two tools to search the center of rotation (COR) in tomwer.
default center of rotation
widget (aka axis
widget) semi-automated center of rotation
widget (aka sa-axis
widget) default center of rotation
widget ¶This is the default widget to use in order to define / search the COR.
It contains several methods:
- manual: let the user find the COR value by overlapping two projections at 'opposite' angles.
- nabu algorithms: call directly nabu auto-cor methods such as `centered`, `growing window`, `composite-corase-to-fine`...
It also contains two modes:
- interactive (default one)
- automatic
user can select an algorithm and compute the cor ("compute" button) or search it manually.
Once he is happy with the value he can "validate it" through the "validate button".
Then only the scan with be moved to the next widget
when the "lock button" near the algorithm is locked then when receives the scan compute the COR from the defined algorithm and pick the value to move to the next one.
when the "lock value" near the value is locked (algorithm in this case is set to 'manual'): pick the value already defined and move to the next one
from IPython.display import YouTubeVideo
YouTubeVideo("sc3Pmg7zWHQ", height=500, width=800)
semi-automated center of rotation
widget ¶If automatic COR calculation fails (lack of features for example) or to 'fine' tune some approximate COR user can use this widget to reconstruct a given slice with different cor value (a range or a set of value).
on this mode user must:
fill the "slice and cor range"
1.1 select the slice to be reconstructed (for each COR value)
1.2 provide an estimate of the cor (next cors values will be distributed around this value)
if a widget is defining it upstream (like the default center of rotation) this value will be set automatically. Else you can enter it manually or compute it from one of the nabu algorithm (auto cor
button).
1.3 define the research width
fill the nabu parameters
then you must define the nabu parameters for the reconstruction from the dedicated tab:
launch computation
by a click on the 'compute' button
look and validate the best COR found.
Once all the selected slice is reconstructed for all the COR values then it will be displayed (on the reconstrcuted slices tab) so the user can select the best COR to be used on the downstream workflow.
A score is also computed for each slice (standard deviation
and total variation
) in order to provide some hint to the user and automate when possible the cor selection.
from IPython.display import YouTubeVideo
YouTubeVideo("ezKjbpmA2FQ", height=500, width=800)
Try to find the best cor possible for the bamboo_hercules
dataset using the sa-axis
widget.
If you want to avoid any interaction you can lock the 'autofocus' button on the 'reconstructed slices'.
In this case once all slices are computed it will pick the slice with the hire score (according to the ctiva method) and move to the next widget (1 / total variation
on the following screenshot)
tips: you can connect several one after the other.
from IPython.display import YouTubeVideo
YouTubeVideo("G9G55lGuDeA", height=500, width=800)