def _value_function_handle(params: Dict[Enum, Parameter]) -> bool: return ImageMethods.norm_rel_l2( params[AngleSelectParams.ROT_TR_A_IMG].value, params[AngleSelectParams.REF_IMG].value, ) <= ImageMethods.norm_rel_l2( params[AngleSelectParams.ROT_TR_B_IMG].value, params[AngleSelectParams.REF_IMG].value, )
def rot_tr_gen(solvers: Iterable[Solver]) -> Generator[np.ndarray, None, None]: """ Sweep over solver instances and return `tr_x` `tr_y` `tr_err` `rot` `rot_err` `NormRel_L2` Parameters ---------- solvers : Iterable An iterable of solver instances """ for solv in solvers: yield np.array(( *solv.RECOVERED_TRANSLATION.value, *solv.RECOVERED_ROTATION.value, ImageMethods.norm_rel_l2(solv.RECOVERED_ROT_TR_IMG.value, solv.REF_IMG.value), ))
def rot_scale_tr_gen( solvers: Iterable[Solver]) -> Generator[np.ndarray, None, None]: """ Sweep over solver instances and return the rotations, scales and translations Parameters ---------- solvers : Iterable An iterable of solver instances Returns ------- np.array Containing `tr_x` `tr_y` `tr_err` `rot` `rot_err` `scale` `scale_err` `NormRel_L2` """ for solv in solvers: yield np.array(( *solv.RECOVERED_TRANSLATION.value, *solv.RECOVERED_ROTATION.value, *solv.RECOVERED_SCALE.value, ImageMethods.norm_rel_l2(solv.RECOVERED_ROT_SCALE_TR_IMG.value, solv.REF_IMG.value), ))
def _value_function_handle(params: Dict[Enum, Parameter]) -> float: return ImageMethods.norm_rel_l2( params[ValidatorParams.IMG].value, params[ValidatorParams.REF_IMG].value, )