mantidimaging.core.rotation.data_model module#

class mantidimaging.core.rotation.data_model.CorTiltDataModel[source]#

Bases: object

Model for finding COR/Tilt from (slice index, centre of rotation) data points

add_point(idx=None, slice_idx=0, cor=0.0)[source]#
property angle_in_degrees: Degrees#
clear_points()[source]#
clear_results()[source]#
property cor: ScalarCoR#
property cors#
property empty: bool#
get_all_cors_from_regression(image_height) list[ScalarCoR][source]#
Parameters:

image_height – How many cors will be generated, this should be equal to the image height (i.e. number of sinograms that will be reconstructed)

Returns:

List of cors for every slice of the image height

get_cor_from_regression(slice_idx) float[source]#
property gradient: Slope#
property has_results: bool#
iter_points() Iterator[Point][source]#
linear_regression()[source]#
property num_points: int#
point(idx)[source]#
populate_slice_indices(begin, end, count, cor=0.0)[source]#
remove_point(idx)[source]#
set_cor_at_slice(slice_idx: int, cor: float)[source]#
set_point(idx, slice_idx: int | None = None, cor: float | None = None, reset_results=True)[source]#
set_precalculated(cor: ScalarCoR, tilt: Degrees)[source]#
property slices#
sort_points()[source]#
property stack_properties: dict#
class mantidimaging.core.rotation.data_model.Point(slice_index, cor)#

Bases: NamedTuple

cor: float#

Alias for field number 1

slice_index: int#

Alias for field number 0