Source code for sksurgerycalibration.ui.pivot_calibration_app

# coding=utf-8

""" Functions to run pivot calibration. """

from glob import glob
import numpy as np
from sksurgerycore.configuration.configuration_manager import \
        ConfigurationManager
from sksurgerycalibration.algorithms import pivot as p


[docs]def run_pivot_calibration(input_directory, config_file): """ Performs Pivot Calibration using matrices stored in separate file input_dir """ configuration = None if config_file is not None: configurer = ConfigurationManager(config_file) configuration = configurer.get_copy() input_files = input_directory + '/*' file_names = glob(input_files) arrays = [np.loadtxt(f) for f in file_names] matrices = np.concatenate(arrays) number_of_4x4_matrices = int(matrices.size / 16) matrices_4x4 = matrices.reshape((number_of_4x4_matrices, 4, 4)) pointer_offset, pivot_location, residual_error = \ p.pivot_calibration(matrices_4x4, configuration) print("Pointer Offset = ", pointer_offset.reshape((1, 3))) print("Pivot Location = ", pivot_location.reshape((1, 3))) print("Residual Error = ", residual_error)