コード例 #1
0
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")
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
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()