Anatomical landmarks calibration Module

Calibration of coordinates systems based on anatomical measurements is currently implemented for sets of anatomical landmarks constituted of a pair of points. This calibration algorithm was developped for correction of rodent head sizes and orientations based on the registration of stereotaxic coordinates of the Lambda and Bregma skull structures.

_images/3_anatomical_calib_demo.gif

Calibration of brain atlases and assets are performed by registering uncalibrated and calibrated sets of anatomical landmark locations. Uncalibrated coordinates correspond to the locations of landmarks on CoperniFUS’s assets. Cross registration of assets (such as brain atlases and skull meshes) can be assisted through the use of reference images loaded as planes. Calibrated coordinates on the other hand correspond to the actual locations of landmarks on the animal subject. During experiments - assuming well defined armatures - regitration of these coordinates can be done using a reference needle probe attachment aligned with the targetted landmark.

class coperniFUS.modules.anatomical_landmarks_calibration_helper.AnatLandmarksCalib(parent_viewer, **kwargs)[source]

Bases: Module

property anat_landmarks_dict
property landmark_coords_from_full_name

Dictionary of all landmark coordinates and their associated full names

show_anat_calib_debug_trihedras()[source]

Show trihedras to debug issues with anatomical calibration transform. Uncalibrated and calibrated coordinate frame vizualisation

get_tmat_from_anat_landmarks(anat_landmarks_dict)[source]

Computes the calibration transformation matrix based on calibrated and uncalibrated landmarks coordinates defined in anat_landmarks_dict anat_landmarks_dict should repect the format {‘landmark #0’: np.array(landmark_coords)}

Note: The current implementation only supports calibrations based on a pair of anatomical landmarks. Please create an issue on GtHub if you have specific needs.

apply_calibration_tmat()[source]

Applies the calibration transformation to all affected objects.

disable_calibration_tmat()[source]

Disables the calibration transformation on all affected objects.

property landmarks_calib_tmat

Anatomical calibration affine transformation matrix evaluated in get_tmat_from_anat_landmarks

set_landmark_coordinates_from_tooltip()[source]

Sets the coordinates of a unique selected landmark based on the current location of the Tooltip

update_tooltip_to_landmark()[source]

Updates the Tooltip location according to the checkbox selection in the module dock

release_tooltip()[source]

Releases the tooltip location from the selected location in the module. Please call CoperniFUS viewer release_from_modules method to release the tooltip from all loaded modules.

init_dock()[source]

Called on GUI setup to add a module dock

add_rendered_object()[source]

Called when populating the viewer with the module rendered objects

update_rendered_object()[source]

Called on render view updates

delete_rendered_object()[source]

Called on deletion of the module rendered objects