def test_main_valid_json(input_source, input_json, pupil_bbox_str, cr_bbox_str, adaptive_pupil): args = [ "allensdk.eye_tracking", "--input_json", input_json, "--input_source", input_source ] with open(input_json, "r") as f: json_data = json.load(f) output_dir = json_data["output_dir"] with mock.patch('sys.argv', args): __main__.main() assert_output(output_dir) out_json = os.path.join(output_dir, "output.json") args.extend([ "--qc.generate_plots", "True", "--annotation.annotate_movie", "True", "--output_json", out_json, "--pupil_bounding_box", pupil_bbox_str, "--cr_bounding_box", cr_bbox_str, "--eye_params.adaptive_pupil", str(adaptive_pupil) ]) with mock.patch('sys.argv', args): __main__.main() json_data["eye_params"]["adaptive_pupil"] = adaptive_pupil json_data["qc"]["generate_plots"] = True json_data["annotation"]["annotate_movie"] = True json_data["output_json"] = out_json json_data["pupil_bounding_box"] = ast.literal_eval(pupil_bbox_str) json_data["cr_bounding_box"] = ast.literal_eval(cr_bbox_str) assert_output(output_dir, annotation_file=json_data["annotation"]["output_file"], qc_output_dir=json_data["qc"]["output_dir"], output_json=out_json, input_data=json_data) __main__.plt.close("all")
def test_main_valid(input_source, input_json, tmpdir_factory): output_dir = str(tmpdir_factory.mktemp("output")) args = [ "allensdk.eye_tracking", "--output_dir", output_dir, "--input_source", input_source ] with mock.patch('sys.argv', args): __main__.main() assert_output(output_dir)
def test_starburst_override(input_source, input_json): args = ["allensdk.eye_tracking", "--input_json", input_json, "--input_source", input_source] with open(input_json, "r") as f: json_data = json.load(f) output_dir = json_data["output_dir"] out_json = os.path.join(output_dir, "output.json") args.extend(["--starburst.cr_threshold_factor", "1.8", "--starburst.pupil_threshold_factor", "2.0", "--starburst.cr_threshold_pixels", "5", "--starburst.pupil_threshold_pixels", "30", "--output_json", out_json]) with mock.patch('sys.argv', args): __main__.main() json_data["starburst"]["cr_threshold_factor"] = 1.8 json_data["starburst"]["pupil_threshold_factor"] = 2.0 json_data["starburst"]["cr_threshold_pixels"] = 5 json_data["starburst"]["pupil_threshold_pixels"] = 30 json_data["output_json"] = out_json assert_output(output_dir, output_json=out_json, input_data=json_data)
def test_main_invalid(): with mock.patch("sys.argv", ["allensdk.eye_tracking"]): with mock.patch("argparse.ArgumentParser.print_usage") as mock_print: __main__.main() mock_print.assert_called_once()