SpinX pole refinement algorithm to compensate overestimation of spindle length axis
| Steps . | Input . | Output . |
|---|---|---|
| 1 | Perform MVEE as usual based on spindle signal to predict pole position | First estimation of (x,y,z) for Poles 1 and 2 |
| 2 | Create max projection of the spindle mask to identify spindle boundary | Max projection of mask |
| 3 | Extract 3D coordinates along the spindle length axis (pole-to-pole axis) and obtain the corresponding pixel values (conversion from float to integer results in rounding bias) | 1-D array with pixel values obtained from the max projected mask |
| 4 | Identify the first and last occurrence of the array which corresponds to the poles | Refined (x,y,z) for Poles 1 and 2 |
| 5 | Re-calculate the centroid and radius of the refined poles and use them as input to re-apply ellipsoid fitting to update data frame and generated plots (increase computational run time marginally) | Updated data frame |
| Steps . | Input . | Output . |
|---|---|---|
| 1 | Perform MVEE as usual based on spindle signal to predict pole position | First estimation of (x,y,z) for Poles 1 and 2 |
| 2 | Create max projection of the spindle mask to identify spindle boundary | Max projection of mask |
| 3 | Extract 3D coordinates along the spindle length axis (pole-to-pole axis) and obtain the corresponding pixel values (conversion from float to integer results in rounding bias) | 1-D array with pixel values obtained from the max projected mask |
| 4 | Identify the first and last occurrence of the array which corresponds to the poles | Refined (x,y,z) for Poles 1 and 2 |
| 5 | Re-calculate the centroid and radius of the refined poles and use them as input to re-apply ellipsoid fitting to update data frame and generated plots (increase computational run time marginally) | Updated data frame |