Coverage report: 93%

Files Functions Classes

coverage.py v7.16.2, created at 2026-10-07 21:10 +0000

File function   statements missing excluded   coverage
scanpath_studio/__init__.py __getattr__   14 0 0   100%
scanpath_studio/__init__.py __dir__   1 0 0   100%
scanpath_studio/__init__.py main   2 2 0   0%
scanpath_studio/__init__.py (no function)   10 0 0   100%
scanpath_studio/__main__.py (no function)   1 1 2   0%
scanpath_studio/aggregation.py metric_by_trial_index   13 1 0   92%
scanpath_studio/aggregation.py text_read_counts   5 0 0   100%
scanpath_studio/aggregation.py Measure.axis_label   1 0 0   100%
scanpath_studio/aggregation.py available_measures   8 0 0   100%
scanpath_studio/aggregation.py available_features   3 0 0   100%
scanpath_studio/aggregation.py aggregate_value   5 0 0   100%
scanpath_studio/aggregation.py bootstrap_ci   11 0 0   100%
scanpath_studio/aggregation.py spread_bounds   13 0 0   100%
scanpath_studio/aggregation.py add_normalized_column   12 0 0   100%
scanpath_studio/aggregation.py text_screen_options   9 2 0   78%
scanpath_studio/aggregation.py _text_subset   14 1 0   93%
scanpath_studio/aggregation.py _first_screen   5 1 0   80%
scanpath_studio/aggregation.py _measure_series   6 1 0   83%
scanpath_studio/aggregation.py per_reader_word_measure   19 1 0   95%
scanpath_studio/aggregation.py cohort_word_profile   12 0 0   100%
scanpath_studio/aggregation.py word_box_aggregate   15 0 0   100%
scanpath_studio/aggregation.py word_measure_vs_feature   11 0 0   100%
scanpath_studio/aggregation.py word_rate_profile   26 0 0   100%
scanpath_studio/aggregation.py measure_values   7 0 0   100%
scanpath_studio/aggregation.py reader_means   7 0 0   100%
scanpath_studio/aggregation.py reader_vs_cohort_values   15 2 0   87%
scanpath_studio/aggregation.py _trial_reading_time_ms   22 1 0   95%
scanpath_studio/aggregation.py _first_present   9 1 0   89%
scanpath_studio/aggregation.py _as_accuracy   12 8 0   33%
scanpath_studio/aggregation.py _run_summary   16 0 0   100%
scanpath_studio/aggregation.py trial_summary_table   69 3 0   96%
scanpath_studio/aggregation.py trial_summary_table._slice   6 0 0   100%
scanpath_studio/aggregation.py reader_summary   1 0 0   100%
scanpath_studio/aggregation.py _summary_row   35 0 0   100%
scanpath_studio/aggregation.py cohort_summary_table   12 0 0   100%
scanpath_studio/aggregation.py reader_summary_table   1 0 0   100%
scanpath_studio/aggregation.py metric_over_time   12 1 0   92%
scanpath_studio/aggregation.py saccade_vs_duration   8 0 0   100%
scanpath_studio/aggregation.py progressive_regressive_counts   15 1 0   93%
scanpath_studio/aggregation.py ensure_fixation_enrichment   7 0 2   100%
scanpath_studio/aggregation.py landing_positions   48 1 0   98%
scanpath_studio/aggregation.py per_participant_trend   10 0 0   100%
scanpath_studio/aggregation.py group_mask   16 0 0   100%
scanpath_studio/aggregation.py apply_group   3 0 0   100%
scanpath_studio/aggregation.py _shared_screen   4 0 0   100%
scanpath_studio/aggregation.py distinct_group_labels   3 0 0   100%
scanpath_studio/aggregation.py two_group_values   9 0 0   100%
scanpath_studio/aggregation.py group_word_difference   15 0 0   100%
scanpath_studio/aggregation.py two_group_word_profiles   10 0 0   100%
scanpath_studio/aggregation.py paired_group_summary   10 0 0   100%
scanpath_studio/aggregation.py group_mean_difference   12 0 0   100%
scanpath_studio/aggregation.py (no function)   70 0 0   100%
scanpath_studio/alignment.py _dynamic_time_warping   30 0 0   100%
scanpath_studio/alignment.py _mode   2 0 0   100%
scanpath_studio/alignment.py _nearest_line_indices   1 0 0   100%
scanpath_studio/alignment.py _attach   1 0 0   100%
scanpath_studio/alignment.py _chain   13 0 0   100%
scanpath_studio/alignment.py _cluster   12 0 0   100%
scanpath_studio/alignment.py _segment   11 0 0   100%
scanpath_studio/alignment.py _split   20 1 0   95%
scanpath_studio/alignment.py _merge   42 2 0   95%
scanpath_studio/alignment.py _regress   10 0 0   100%
scanpath_studio/alignment.py _regress.fit_lines   9 0 0   100%
scanpath_studio/alignment.py _stretch   5 0 0   100%
scanpath_studio/alignment.py _stretch.fit_lines   5 0 0   100%
scanpath_studio/alignment.py _warp   10 1 0   90%
scanpath_studio/alignment.py _compare   24 3 0   88%
scanpath_studio/alignment.py _slice   80 3 0   96%
scanpath_studio/alignment.py _slice.horizontal_span   1 0 0   100%
scanpath_studio/alignment.py _slice.residual   6 0 0   100%
scanpath_studio/alignment.py assign_lines   16 2 0   88%
scanpath_studio/alignment.py _line_centers   4 0 0   100%
scanpath_studio/alignment.py _word_centers_reading_order   6 0 0   100%
scanpath_studio/alignment.py correct   30 1 0   97%
scanpath_studio/alignment.py correction_sensitivity   13 0 0   100%
scanpath_studio/alignment.py (no function)   29 0 0   100%
scanpath_studio/analysis_recipe.py jsonable   19 3 0   84%
scanpath_studio/analysis_recipe.py group_definition   2 0 0   100%
scanpath_studio/analysis_recipe.py analysis_choices   31 5 0   84%
scanpath_studio/analysis_recipe.py result_counts   6 0 0   100%
scanpath_studio/analysis_recipe.py build_analysis_recipe   4 1 0   75%
scanpath_studio/analysis_recipe.py recipe_file_name   2 0 0   100%
scanpath_studio/analysis_recipe.py (no function)   14 0 0   100%
scanpath_studio/animation_export.py chromium_browser_path   12 5 0   58%
scanpath_studio/animation_export.py chrome_available   1 0 0   100%
scanpath_studio/animation_export.py mime_for   1 0 0   100%
scanpath_studio/animation_export.py _elapsed_labels   7 1 0   86%
scanpath_studio/animation_export.py _static_base   7 0 0   100%
scanpath_studio/animation_export.py _control_band_trim   5 0 0   100%
scanpath_studio/animation_export.py _static_height   2 0 0   100%
scanpath_studio/animation_export.py _add_elapsed_annotation   2 0 0   100%
scanpath_studio/animation_export.py _served_to_other_machines   6 2 2   67%
scanpath_studio/animation_export.py check_gif_budget   10 0 0   100%
scanpath_studio/animation_export.py clip_frame_count   4 0 0   100%
scanpath_studio/animation_export.py _select_frames   3 0 0   100%
scanpath_studio/animation_export.py render_png_frames   41 5 4   88%
scanpath_studio/animation_export.py _load_rgb_frames   2 0 0   100%
scanpath_studio/animation_export.py encode_gif   26 0 0   100%
scanpath_studio/animation_export.py encode_gif._flush   7 0 0   100%
scanpath_studio/animation_export.py encode_mp4   34 4 2   88%
scanpath_studio/animation_export.py export_animation   30 0 0   100%
scanpath_studio/animation_export.py export_animation._on_frame   3 1 0   67%
scanpath_studio/animation_export.py (no function)   38 0 0   100%
scanpath_studio/annotations.py default_entry   1 0 0   100%
scanpath_studio/annotations.py _normalize_entry   3 0 0   100%
scanpath_studio/annotations.py is_empty_entry   1 0 0   100%
scanpath_studio/annotations.py records_to_store   12 1 0   92%
scanpath_studio/annotations.py store_to_records   8 0 0   100%
scanpath_studio/annotations.py serialize   5 0 0   100%
scanpath_studio/annotations.py file_dataset   6 0 0   100%
scanpath_studio/annotations.py _check_record   18 1 0   94%
scanpath_studio/annotations.py deserialize   11 0 0   100%
scanpath_studio/annotations.py _trial_of   1 0 0   100%
scanpath_studio/annotations.py _trial_set   3 0 0   100%
scanpath_studio/annotations.py records_in   2 0 0   100%
scanpath_studio/annotations.py merge_records   7 0 0   100%
scanpath_studio/annotations.py drop_records   8 0 0   100%
scanpath_studio/annotations.py _store   1 0 0   100%
scanpath_studio/annotations.py _stored   2 0 0   100%
scanpath_studio/annotations.py _live   2 0 0   100%
scanpath_studio/annotations.py _unassigned   2 0 0   100%
scanpath_studio/annotations.py _set_unassigned   3 0 0   100%
scanpath_studio/annotations.py _bump   1 0 0   100%
scanpath_studio/annotations.py _reseed_editors_in   2 0 0   100%
scanpath_studio/annotations.py activate_dataset   23 0 0   100%
scanpath_studio/annotations.py adopt_unassigned   12 0 0   100%
scanpath_studio/annotations.py begin_pending_dataset   4 2 0   50%
scanpath_studio/annotations.py adopt_pending_dataset   9 0 0   100%
scanpath_studio/annotations.py forget_dataset   9 0 0   100%
scanpath_studio/annotations.py current_dataset   2 0 0   100%
scanpath_studio/annotations.py dataset_names   6 0 0   100%
scanpath_studio/annotations.py rename_dataset   12 1 0   92%
scanpath_studio/annotations.py store_for   4 0 0   100%
scanpath_studio/annotations.py store_for_prefix   10 2 0   80%
scanpath_studio/annotations.py upload_trials   9 1 0   89%
scanpath_studio/annotations.py dataset_records   6 0 0   100%
scanpath_studio/annotations.py unassigned_records   4 0 0   100%
scanpath_studio/annotations.py cache_payload   5 0 0   100%
scanpath_studio/annotations.py store_signature   1 0 0   100%
scanpath_studio/annotations.py _valid_records   1 0 0   100%
scanpath_studio/annotations.py restore_payload   39 1 0   97%
scanpath_studio/annotations.py restore_payload.file_under   3 1 0   67%
scanpath_studio/annotations.py payload_count   8 0 0   100%
scanpath_studio/annotations.py get_entry   2 0 0   100%
scanpath_studio/annotations.py set_entry   6 0 0   100%
scanpath_studio/annotations.py known_tags   7 0 0   100%
scanpath_studio/annotations.py has_screen_annotations   2 0 0   100%
scanpath_studio/annotations.py current_records   1 1 0   0%
scanpath_studio/annotations.py _reseed_trial_editors   1 1 0   0%
scanpath_studio/annotations.py _add_tag_callback   8 1 0   88%
scanpath_studio/annotations.py _save_entry_callback   3 0 0   100%
scanpath_studio/annotations.py widget_slug   3 0 0   100%
scanpath_studio/annotations.py render_trial_annotations   31 1 0   97%
scanpath_studio/annotations.py select_keys   15 0 0   100%
scanpath_studio/annotations.py filter_keys   1 0 0   100%
scanpath_studio/annotations.py _dataset_widget_key   1 0 0   100%
scanpath_studio/annotations.py _refresh_dataset_widgets   3 3 0   0%
scanpath_studio/annotations.py _plural   1 0 0   100%
scanpath_studio/annotations.py _import_dataset_annotations   19 9 0   53%
scanpath_studio/annotations.py _open_annotation   15 1 0   93%
scanpath_studio/annotations.py _delete_dataset_annotations   2 2 0   0%
scanpath_studio/annotations.py _annotations_frame   7 0 0   100%
scanpath_studio/annotations.py render_dataset_annotations   31 2 0   94%
scanpath_studio/annotations.py _file_slug   2 0 0   100%
scanpath_studio/annotations.py (no function)   87 0 0   100%
scanpath_studio/api.py build_authored_scanpath   5 0 0   100%
scanpath_studio/api.py load_authored_scanpath   7 1 0   86%
scanpath_studio/api.py _as_dataframe   7 0 0   100%
scanpath_studio/api.py _metadata_id_plan   2 0 0   100%
scanpath_studio/api.py _metadata_id_plan.plan   4 0 0   100%
scanpath_studio/api.py _column_preview   5 0 0   100%
scanpath_studio/api.py SchemaError.__init__   5 0 0   100%
scanpath_studio/api.py _schema_skeleton_mapping   6 0 0   100%
scanpath_studio/api.py _schema_skeleton   2 0 0   100%
scanpath_studio/api.py _schema_columns   8 0 0   100%
scanpath_studio/api.py _check_mapped_columns   13 0 0   100%
scanpath_studio/api.py _known_schema_keys   5 0 0   100%
scanpath_studio/api.py _unknown_schema_keys   2 0 0   100%
scanpath_studio/api.py _schema_error   33 0 0   100%
scanpath_studio/api.py propose_schema   4 0 0   100%
scanpath_studio/api.py ScanpathData.__new__   3 0 0   100%
scanpath_studio/api.py ScanpathData.__getnewargs__   1 0 0   100%
scanpath_studio/api.py ScanpathData.words   1 0 0   100%
scanpath_studio/api.py ScanpathData.fixations   1 0 0   100%
scanpath_studio/api.py _check_names_choice   2 0 0   100%
scanpath_studio/api.py _named_in   4 0 0   100%
scanpath_studio/api.py _named_out   3 0 0   100%
scanpath_studio/api.py _call_names   4 0 0   100%
scanpath_studio/api.py _table_names   6 0 0   100%
scanpath_studio/api.py _require_normalized   7 0 0   100%
scanpath_studio/api.py load_scanpath_data   38 0 0   100%
scanpath_studio/api.py _with_optional_fields   5 1 0   80%
scanpath_studio/api.py load_participant_metadata   8 0 0   100%
scanpath_studio/api.py load_trial_metadata   9 1 0   89%
scanpath_studio/api.py load_text_metadata   8 0 0   100%
scanpath_studio/api.py load_sample_data   6 0 0   100%
scanpath_studio/api.py _recorded_screen   5 0 0   100%
scanpath_studio/api.py load_raw_gaze   12 0 0   100%
scanpath_studio/api.py load_sample_raw_gaze   1 0 0   100%
scanpath_studio/api.py check_data_health   2 0 0   100%
scanpath_studio/api.py _health_findings   9 0 0   100%
scanpath_studio/api.py _health_findings._in_own_names   4 0 0   100%
scanpath_studio/api.py _require_computed_measures   2 0 0   100%
scanpath_studio/api.py compute_word_metrics   4 0 0   100%
scanpath_studio/api.py trial_summary   6 5 0   17%
scanpath_studio/api.py reader_summary   6 5 0   17%
scanpath_studio/api.py preprocess_data   11 0 0   100%
scanpath_studio/api.py analysis_tables   17 1 0   94%
scanpath_studio/api.py alignment_sensitivity   10 8 0   20%
scanpath_studio/api.py _require_corpus_columns   6 0 0   100%
scanpath_studio/api.py plot_corpus_figure   11 5 0   55%
scanpath_studio/api.py _optional_frame   3 0 0   100%
scanpath_studio/api.py list_trials   18 0 0   100%
scanpath_studio/api.py list_parts   23 0 0   100%
scanpath_studio/api.py _resolve_trial   28 2 0   93%
scanpath_studio/api.py _value_hint   8 0 0   100%
scanpath_studio/api.py _select_trial   5 0 0   100%
scanpath_studio/api.py _select_part   13 0 0   100%
scanpath_studio/api.py _apply_fix_index_range   19 4 0   79%
scanpath_studio/api.py _figure_kwargs   4 0 0   100%
scanpath_studio/api.py _spelling_variants   8 0 0   100%
scanpath_studio/api.py resolve_palette   14 3 0   79%
scanpath_studio/api.py _check_colorscales   10 2 0   80%
scanpath_studio/api.py _expand_palette   13 0 0   100%
scanpath_studio/api.py _reject_unknown_options   9 0 0   100%
scanpath_studio/api.py _canonical_options   14 0 0   100%
scanpath_studio/api.py _canonical_options.canonical   5 0 0   100%
scanpath_studio/api.py _column_labels   8 1 0   88%
scanpath_studio/api.py _check_column_options   13 0 0   100%
scanpath_studio/api.py figure_options   17 0 2   100%
scanpath_studio/api.py _animation_defaults   1 0 0   100%
scanpath_studio/api.py _apply_drift_correction   18 2 0   89%
scanpath_studio/api.py _check_canvas_size   8 2 0   75%
scanpath_studio/api.py plot_scanpath   49 2 0   96%
scanpath_studio/api.py animate_scanpath   69 2 0   97%
scanpath_studio/api.py _second_reading   27 1 0   96%
scanpath_studio/api.py _second_reading.one_reading   3 1 0   67%
scanpath_studio/api.py _inferred_screen_hint   7 2 0   71%
scanpath_studio/api.py _same_dataset_setup_b   10 1 0   90%
scanpath_studio/api.py _refuse_co_animation_across_screens   8 0 0   100%
scanpath_studio/api.py render_parent_trial   37 5 0   86%
scanpath_studio/api.py _compare_setup   13 1 0   92%
scanpath_studio/api.py compare_scanpaths   89 8 0   91%
scanpath_studio/api.py _compare_raw_gaze   8 3 0   62%
scanpath_studio/api.py save_figure   36 5 0   86%
scanpath_studio/api.py save_figure_layers   14 0 0   100%
scanpath_studio/api.py figure_code   17 1 0   94%
scanpath_studio/api.py cache_status   2 2 0   0%
scanpath_studio/api.py clear_cache   3 3 0   0%
scanpath_studio/api.py version_info   2 0 0   100%
scanpath_studio/api.py check_for_updates   2 0 0   100%
scanpath_studio/api.py (no function)   131 0 0   100%
scanpath_studio/app.py __getattr__   4 0 0   100%
scanpath_studio/app.py public_datasets_enabled   2 0 0   100%
scanpath_studio/app.py configure_page   6 0 0   100%
scanpath_studio/app.py _logo_theme_css   6 1 0   83%
scanpath_studio/app.py _logo_theme_css._uri   1 0 0   100%
scanpath_studio/app.py render_app_logo   6 2 0   67%
scanpath_studio/app.py _render_about_panel   1 0 0   100%
scanpath_studio/app.py _filter_diagnosis_steps   31 2 0   94%
scanpath_studio/app.py _filter_diagnosis_steps._annotation_step   2 0 0   100%
scanpath_studio/app.py _filter_diagnosis_steps._annotation_step._apply   5 1 0   80%
scanpath_studio/app.py _render_empty_after_filtering   22 2 0   91%
scanpath_studio/app.py _restored_recap   7 0 0   100%
scanpath_studio/app.py _pick_download_folder   4 4 0   0%
scanpath_studio/app.py _render_download_folder_section   15 2 0   87%
scanpath_studio/app.py _retry_cached_datasets   1 1 0   0%
scanpath_studio/app.py _remove_cached_dataset   1 0 0   100%
scanpath_studio/app.py _retry_cached_metadata   1 1 0   0%
scanpath_studio/app.py _remove_cached_metadata   1 1 0   0%
scanpath_studio/app.py _retry_unreadable_cache   1 1 0   0%
scanpath_studio/app.py _clear_unreadable_cache   1 1 0   0%
scanpath_studio/app.py render_cache_recovery_notice   26 5 0   81%
scanpath_studio/app.py _render_saved_here_section   27 5 0   81%
scanpath_studio/app.py _clear_and_start_over   5 0 0   100%
scanpath_studio/app.py announce_start_over   2 0 0   100%
scanpath_studio/app.py _arm_clear_saved   1 0 0   100%
scanpath_studio/app.py saved_items   14 5 0   64%
scanpath_studio/app.py _clear_saved_dialog   8 2 0   75%
scanpath_studio/app.py _arm_about   1 1 0   0%
scanpath_studio/app.py maybe_show_about   3 2 0   33%
scanpath_studio/app.py _about_dialog   16 0 0   100%
scanpath_studio/app.py _update_check_offered   1 0 0   100%
scanpath_studio/app.py _latest_release_cached   1 0 0   100%
scanpath_studio/app.py _build_info   2 0 0   100%
scanpath_studio/app.py _render_last_update   10 0 0   100%
scanpath_studio/app.py _render_build_and_updates   14 1 0   93%
scanpath_studio/app.py _render_update_result   17 4 0   76%
scanpath_studio/app.py _render_desktop_update   11 0 0   100%
scanpath_studio/app.py _stop_desktop_update   1 0 0   100%
scanpath_studio/app.py _run_desktop_update   13 0 0   100%
scanpath_studio/app.py _onestop_structure_md   3 0 0   100%
scanpath_studio/app.py _project_root   4 0 0   100%
scanpath_studio/app.py _user_data_home   8 2 0   75%
scanpath_studio/app.py _default_download_folder   4 0 0   100%
scanpath_studio/app.py download_folder   4 0 0   100%
scanpath_studio/app.py _download_target   4 0 0   100%
scanpath_studio/app.py local_filesystem_enabled   6 0 0   100%
scanpath_studio/app.py data_root   2 0 0   100%
scanpath_studio/app.py _resolve_data_dir   11 0 0   100%
scanpath_studio/app.py _folder_picker_command   13 0 0   100%
scanpath_studio/app.py _pick_directory_dialog   11 0 0   100%
scanpath_studio/app.py _dataset_dir_input   31 11 0   65%
scanpath_studio/app.py _dataset_folder   7 0 0   100%
scanpath_studio/app.py _potec_files_present   3 0 0   100%
scanpath_studio/app.py _onestop_files_present   4 0 0   100%
scanpath_studio/app.py _multipleye_files_present   4 0 0   100%
scanpath_studio/app.py _benchmark_files_present   3 3 0   0%
scanpath_studio/app.py annotations_owner   3 0 0   100%
scanpath_studio/app.py _annotations_dataset   2 0 0   100%
scanpath_studio/app.py _file_annotations_under_shown_dataset   8 0 0   100%
scanpath_studio/app.py _note_dataset_unavailable   2 0 0   100%
scanpath_studio/app.py _stop_download   1 1 0   0%
scanpath_studio/app.py _download_with_card   3 0 0   100%
scanpath_studio/app.py _render_dataset_unavailable   24 1 0   96%
scanpath_studio/app.py _dataset_access_status   24 4 0   83%
scanpath_studio/app.py _cached_potec_raw_frames   2 0 0   100%
scanpath_studio/app.py _load_potec_source   11 3 0   73%
scanpath_studio/app.py _cached_multipleye_raw_frames   2 2 0   0%
scanpath_studio/app.py _cached_multipleye_inventory   2 0 0   100%
scanpath_studio/app.py _load_multipleye_source   16 7 0   56%
scanpath_studio/app.py _cached_onestop_raw_frames   2 2 0   0%
scanpath_studio/app.py _load_onestop_regime_source   13 5 0   62%
scanpath_studio/app.py _cached_eyegenbench_raw_frames   2 0 0   100%
scanpath_studio/app.py added_benchmark_datasets   1 0 0   100%
scanpath_studio/app.py _geometry_coverage_note   9 0 0   100%
scanpath_studio/app.py geometry_badge   18 3 0   83%
scanpath_studio/app.py benchmark_corpus_label   1 0 0   100%
scanpath_studio/app.py picker_name_for   5 1 0   80%
scanpath_studio/app.py mark_wip_if_benchmark   2 0 0   100%
scanpath_studio/app.py spec_is_benchmark   3 0 0   100%
scanpath_studio/app.py _benchmark_short_name   4 0 0   100%
scanpath_studio/app.py _benchmark_size_caption   6 0 0   100%
scanpath_studio/app.py _benchmark_description   12 0 0   100%
scanpath_studio/app.py _benchmark_dir_input   1 0 0   100%
scanpath_studio/app.py _load_benchmark_source   19 6 0   68%
scanpath_studio/app.py _onestop_regime_entry   4 0 0   100%
scanpath_studio/app.py dataset_about   7 0 0   100%
scanpath_studio/app.py synthesized_raw_gaze_note   4 0 0   100%
scanpath_studio/app.py _benchmark_registry_entries   11 0 0   100%
scanpath_studio/app.py public_dataset_registry   6 0 0   100%
scanpath_studio/app.py _load_public_dataset   13 2 0   85%
scanpath_studio/app.py _public_dataset_monitor   4 0 0   100%
scanpath_studio/app.py _narrowed_raw_gaze   7 0 0   100%
scanpath_studio/app.py _narrowed_raw_gaze._build   4 0 0   100%
scanpath_studio/app.py seed_raw_gaze_default   23 0 0   100%
scanpath_studio/app.py _dataset_font   11 1 0   91%
scanpath_studio/app.py _stimulus_font_install_hint   8 0 0   100%
scanpath_studio/app.py _cached_words_join_nothing   3 0 0   100%
scanpath_studio/app.py _cached_trial_identity_report   2 0 0   100%
scanpath_studio/app.py _cached_multipleye_server_bundle   2 0 0   100%
scanpath_studio/app.py load_words_and_fixations   22 14 0   36%
scanpath_studio/app.py _schema_key   3 0 0   100%
scanpath_studio/app.py _normalize_pair_uncached   9 0 0   100%
scanpath_studio/app.py _normalize_pair   9 0 0   100%
scanpath_studio/app.py _reset_active_mapping   3 0 0   100%
scanpath_studio/app.py _stash_active_mapping   8 0 0   100%
scanpath_studio/app.py active_column_names   1 1 0   0%
scanpath_studio/app.py mapping_failure_problem   4 1 0   75%
scanpath_studio/app.py reset_column_mapping   2 0 0   100%
scanpath_studio/app.py _is_builtin_panel_key   1 0 0   100%
scanpath_studio/app.py _mapping_signature   1 0 0   100%
scanpath_studio/app.py held_builtin_mapping   4 0 0   100%
scanpath_studio/app.py hold_builtin_mapping   1 0 0   100%
scanpath_studio/app.py builtin_mapping_is_dirty   4 1 0   75%
scanpath_studio/app.py _discard_builtin_mapping_edit   3 0 0   100%
scanpath_studio/app.py restore_builtin_mapping   9 0 0   100%
scanpath_studio/app.py _save_builtin_mapping   15 3 0   80%
scanpath_studio/app.py _render_builtin_editor_footer   10 3 0   70%
scanpath_studio/app.py load_bundled_demo   6 0 0   100%
scanpath_studio/app.py clear_computation_cache   3 0 0   100%
scanpath_studio/app.py _apply_declared_schema   3 0 0   100%
scanpath_studio/app.py declared_schemas_for   12 0 0   100%
scanpath_studio/app.py _proposed_schema   2 0 0   100%
scanpath_studio/app.py prepare_data   41 0 0   100%
scanpath_studio/app.py _render_raw_preview   5 0 0   100%
scanpath_studio/app.py _render_unmapped_view   11 1 0   91%
scanpath_studio/app.py _render_dataset_load_failure   10 0 0   100%
scanpath_studio/app.py _cached_participant_ids   2 0 0   100%
scanpath_studio/app.py _refresh_participant_metadata   5 0 0   100%
scanpath_studio/app.py _render_offpage_setup_notice   6 0 0   100%
scanpath_studio/app.py _uploaded_file_key   1 0 0   100%
scanpath_studio/app.py _read_uploaded_table_cached   9 2 0   78%
scanpath_studio/app.py _read_uploaded_tables_cached   9 2 0   78%
scanpath_studio/app.py _read_uploaded_tables_cached.plan_for   1 0 0   100%
scanpath_studio/app.py _columns_chosen_in_state   8 0 0   100%
scanpath_studio/app.py upload_read_plan   4 0 0   100%
scanpath_studio/app.py _upload_header   6 0 0   100%
scanpath_studio/app.py _upload_columns_cached   1 0 0   100%
scanpath_studio/app.py _zip_split_cached   4 4 0   0%
scanpath_studio/app.py _upload_sample_cached   1 1 0   0%
scanpath_studio/app.py upload_sample   6 1 0   83%
scanpath_studio/app.py upload_zip_notes   10 8 0   20%
scanpath_studio/app.py _uploaded_header   1 0 0   100%
scanpath_studio/app.py _read_uploaded_frame   20 6 0   70%
scanpath_studio/app.py _read_upload   15 2 0   87%
scanpath_studio/app.py _picked_columns   7 0 0   100%
scanpath_studio/app.py load_raw_gaze_data   32 21 0   34%
scanpath_studio/app.py load_raw_gaze_data._demo_raw_gaze   7 2 0   71%
scanpath_studio/app.py reserved_source_names   1 0 0   100%
scanpath_studio/app.py resolve_data_source   59 9 0   85%
scanpath_studio/app.py _on_data_source_pick   5 1 0   80%
scanpath_studio/app.py _remember_authoring_return   3 0 0   100%
scanpath_studio/app.py _authoring_editor_open   1 0 0   100%
scanpath_studio/app.py _edit_manual_sample   2 2 0   0%
scanpath_studio/app.py _manual_sample_document   9 0 0   100%
scanpath_studio/app.py _manual_sample_frames   3 0 0   100%
scanpath_studio/app.py _manual_sample_canvas   5 0 0   100%
scanpath_studio/app.py _cancel_authoring   6 0 0   100%
scanpath_studio/app.py _load_author_draft   8 0 0   100%
scanpath_studio/app.py _restore_previous_author_draft   9 1 0   89%
scanpath_studio/app.py _reset_author_fixations   5 0 0   100%
scanpath_studio/app.py _save_authored_dataset   15 2 0   87%
scanpath_studio/app.py _enter_manual_dataset   7 2 0   71%
scanpath_studio/app.py leave_add_data_wizard   3 0 0   100%
scanpath_studio/app.py stay_in_wizard   1 0 0   100%
scanpath_studio/app.py discard_and_leave_wizard   5 0 0   100%
scanpath_studio/app.py render_data_source_picker   19 0 0   100%
scanpath_studio/app.py render_data_source_picker._entry_label   7 0 0   100%
scanpath_studio/app.py _dataset_display_name   9 0 0   100%
scanpath_studio/app.py DatasetRowCounts.exceeds_published   1 0 0   100%
scanpath_studio/app.py dataset_row_counts   6 0 0   100%
scanpath_studio/app.py published_dataset_counts   1 0 0   100%
scanpath_studio/app.py benchmark_published_counts   3 0 0   100%
scanpath_studio/app.py _counts_store   5 0 0   100%
scanpath_studio/app.py remembered_dataset_counts   14 1 0   93%
scanpath_studio/app.py forget_dataset_counts   3 0 0   100%
scanpath_studio/app.py _dataset_counts   12 3 0   75%
scanpath_studio/app.py _dataset_counts._union_unique   8 0 0   100%
scanpath_studio/app.py _select_dataset   4 1 0   75%
scanpath_studio/app.py _dismiss_delete_confirmation   1 1 0   0%
scanpath_studio/app.py _delete_confirmation_dialog   27 14 0   48%
scanpath_studio/app.py _render_delete_confirmation   7 2 0   71%
scanpath_studio/app.py _unique_dataset_alias   8 2 0   75%
scanpath_studio/app.py _overview_sentence   14 0 0   100%
scanpath_studio/app.py dataset_description   4 0 0   100%
scanpath_studio/app.py set_dataset_description   3 0 0   100%
scanpath_studio/app.py _description_field_key   1 0 0   100%
scanpath_studio/app.py _description_draft   5 0 0   100%
scanpath_studio/app.py render_description_field   4 0 0   100%
scanpath_studio/app.py _render_dataset_overview   10 0 0   100%
scanpath_studio/app.py _c_annotation_trials   4 1 0   75%
scanpath_studio/app.py _annotation_trials   3 1 0   67%
scanpath_studio/app.py _c_annotation_trial_labels   1 0 0   100%
scanpath_studio/app.py _annotation_trial_labels   4 1 0   75%
scanpath_studio/app.py render_dataset_inspection_head   3 0 0   100%
scanpath_studio/app.py render_dataset_edit_button   3 0 0   100%
scanpath_studio/app.py _builtin_name_draft   6 0 0   100%
scanpath_studio/app.py _apply_builtin_name   8 0 0   100%
scanpath_studio/app.py _stage_upload_name   1 0 0   100%
scanpath_studio/app.py render_name_field   4 0 0   100%
scanpath_studio/app.py _open_mapping_editor   5 0 0   100%
scanpath_studio/app.py dataset_added_message   11 0 0   100%
scanpath_studio/app.py _trial_identity_alert_dialog   10 10 0   0%
scanpath_studio/app.py _metadata_grain_state   11 2 0   82%
scanpath_studio/app.py _metadata_grains_changed   6 0 0   100%
scanpath_studio/app.py hold_editor_staging   4 0 0   100%
scanpath_studio/app.py editor_staging_dirty   5 1 0   80%
scanpath_studio/app.py _editor_is_dirty   1 0 0   100%
scanpath_studio/app.py commit_editor_staging   6 0 0   100%
scanpath_studio/app.py _drop_description_drafts   2 0 0   100%
scanpath_studio/app.py apply_editor_restore   20 2 0   90%
scanpath_studio/app.py _close_dataset_editor   12 1 0   92%
scanpath_studio/app.py _discard_editor_staging   4 0 0   100%
scanpath_studio/app.py _ask_leave_dataset_editor   4 4 0   0%
scanpath_studio/app.py _dismiss_leave_dataset_editor   2 2 0   0%
scanpath_studio/app.py _leave_dataset_editor_dialog   11 11 0   0%
scanpath_studio/app.py _render_dataset_editor_bar   11 1 0   91%
scanpath_studio/app.py _dataset_row_slug   1 0 0   100%
scanpath_studio/app.py _dataset_table_rows   35 2 0   94%
scanpath_studio/app.py _dataset_status   12 2 0   83%
scanpath_studio/app.py _unreachable_here   4 0 0   100%
scanpath_studio/app.py _dismiss_unreachable_dataset   1 1 0   0%
scanpath_studio/app.py _unreachable_dataset_dialog   11 3 0   73%
scanpath_studio/app.py _open_dataset_row   13 3 0   77%
scanpath_studio/app.py _edit_open_dataset   10 2 0   80%
scanpath_studio/app.py _arm_dataset_row   1 0 0   100%
scanpath_studio/app.py _cycle_dataset_sort   3 0 0   100%
scanpath_studio/app.py _render_dataset_table_tools   9 0 0   100%
scanpath_studio/app.py _render_dataset_table_head   11 0 0   100%
scanpath_studio/app.py _render_dataset_table_head._sort_button   4 0 0   100%
scanpath_studio/app.py _field_slug   1 0 0   100%
scanpath_studio/app.py _dataset_count_cell_html   4 0 0   100%
scanpath_studio/app.py _render_dataset_table_row   25 1 0   96%
scanpath_studio/app.py dataset_table_scope_note   5 0 0   100%
scanpath_studio/app.py render_dataset_table   27 2 0   93%
scanpath_studio/app.py _rows_with_local_images   5 0 0   100%
scanpath_studio/app.py resolve_source_monitor   21 3 0   86%
scanpath_studio/app.py capture_setup_snapshot   5 0 0   100%
scanpath_studio/app.py setup_override_token   3 0 0   100%
scanpath_studio/app.py dataset_setup_override   6 0 0   100%
scanpath_studio/app.py setup_override_session_values   1 0 0   100%
scanpath_studio/app.py _restore_setup_override_stash   6 1 0   83%
scanpath_studio/app.py _apply_setup_override   6 0 0   100%
scanpath_studio/app.py save_dataset_setup_override   12 0 0   100%
scanpath_studio/app.py _declared_setup_snapshot   14 0 0   100%
scanpath_studio/app.py _c_canvas_size   1 1 0   0%
scanpath_studio/app.py cached_canvas_size   1 1 0   0%
scanpath_studio/app.py source_setup_snapshot   7 4 0   43%
scanpath_studio/app.py active_setup_snapshot   12 0 0   100%
scanpath_studio/app.py seed_canvas_state   45 1 0   98%
scanpath_studio/app.py seed_canvas_state._resolved   1 0 0   100%
scanpath_studio/app.py _rail_text_rows   35 6 0   83%
scanpath_studio/app.py _rail_text_rows.tip   1 0 0   100%
scanpath_studio/app.py render_canvas_controls   51 11 0   78%
scanpath_studio/app.py render_canvas_controls.field   4 1 0   75%
scanpath_studio/app.py _render_authoring_source   128 22 0   83%
scanpath_studio/app.py _preprocessing_settings   14 1 0   93%
scanpath_studio/app.py _activate_data_source   24 0 0   100%
scanpath_studio/app.py _dataset_cancel   12 0 0   100%
scanpath_studio/app.py _cancel_dataset_load   3 0 0   100%
scanpath_studio/app.py _retry_load   1 0 0   100%
scanpath_studio/app.py _render_cancelled_load_notice   6 0 0   100%
scanpath_studio/app.py arm_backup_reminder   5 0 0   100%
scanpath_studio/app.py _dismiss_backup_reminder   1 0 0   100%
scanpath_studio/app.py _render_backup_reminder   8 0 0   100%
scanpath_studio/app.py _open_dataset_card   19 0 0   100%
scanpath_studio/app.py _remember_open_dataset   5 0 0   100%
scanpath_studio/app.py _finish_dataset_card   5 0 0   100%
scanpath_studio/app.py main   2 0 0   100%
scanpath_studio/app.py _run_app   428 20 0   95%
scanpath_studio/app.py _run_app._finish_page   3 0 0   100%
scanpath_studio/app.py _run_app._editor_part   2 0 0   100%
scanpath_studio/app.py _run_app._end_loading   6 0 0   100%
scanpath_studio/app.py _run_app._render_datasets_table   13 3 0   77%
scanpath_studio/app.py _run_app.canvas_renderer   1 0 0   100%
scanpath_studio/app.py (no function)   451 5 5   99%
scanpath_studio/authoring.py layout_text   15 0 0   100%
scanpath_studio/authoring.py layout_problems   8 4 0   50%
scanpath_studio/authoring.py default_events   4 1 0   75%
scanpath_studio/authoring.py _number   5 0 0   100%
scanpath_studio/authoring.py _positive_int   4 0 0   100%
scanpath_studio/authoring.py event_target_word   1 0 0   100%
scanpath_studio/authoring.py normalize_event_table   17 0 0   100%
scanpath_studio/authoring.py _is_scalar_cell   1 0 0   100%
scanpath_studio/authoring.py event_records_frame   12 0 0   100%
scanpath_studio/authoring.py event_problems   16 0 0   100%
scanpath_studio/authoring.py _structural_problems   1 0 0   100%
scanpath_studio/authoring.py reconcile_event_table   7 0 0   100%
scanpath_studio/authoring.py apply_authoring_event   31 6 0   81%
scanpath_studio/authoring.py _word_key   1 0 0   100%
scanpath_studio/authoring.py _target_keys   3 1 0   67%
scanpath_studio/authoring.py stale_target_words   12 2 0   83%
scanpath_studio/authoring.py unresolved_targets   5 0 0   100%
scanpath_studio/authoring.py destructive_change   7 0 0   100%
scanpath_studio/authoring.py destructive_change.keyed   5 0 0   100%
scanpath_studio/authoring.py unusable_event_rows   9 1 0   89%
scanpath_studio/authoring.py authored_fixations   26 1 0   96%
scanpath_studio/authoring.py _json_records   4 0 0   100%
scanpath_studio/authoring.py authoring_json   2 0 0   100%
scanpath_studio/authoring.py parse_authoring_document   24 8 0   67%
scanpath_studio/authoring.py (no function)   41 0 0   100%
scanpath_studio/authoring_component.py _spatial_editor   1 0 0   100%
scanpath_studio/authoring_component.py render_authoring_canvas   4 0 0   100%
scanpath_studio/authoring_component.py (no function)   9 0 0   100%
scanpath_studio/build_info.py BuildInfo.describe   9 0 0   100%
scanpath_studio/build_info.py _compose   5 0 0   100%
scanpath_studio/build_info.py from_describe   11 0 0   100%
scanpath_studio/build_info.py _is_this_project   6 0 0   100%
scanpath_studio/build_info.py is_checkout   1 0 0   100%
scanpath_studio/build_info.py _git_env   3 0 0   100%
scanpath_studio/build_info.py read_checkout   17 0 0   100%
scanpath_studio/build_info.py write_stamp   1 0 0   100%
scanpath_studio/build_info.py read_stamp   7 0 0   100%
scanpath_studio/build_info.py _dist_text   5 5 0   0%
scanpath_studio/build_info.py read_vcs_install   14 0 0   100%
scanpath_studio/build_info.py resolve   1 0 0   100%
scanpath_studio/build_info.py build_info   2 0 0   100%
scanpath_studio/build_info.py install_kind   15 1 0   93%
scanpath_studio/build_info.py (no function)   42 0 0   100%
scanpath_studio/cli.py _spell_color   7 0 0   100%
scanpath_studio/cli.py _ShortErrorParser.parse_known_args   2 0 0   100%
scanpath_studio/cli.py _ShortErrorParser._suggestions   13 0 0   100%
scanpath_studio/cli.py _ShortErrorParser.error   6 0 0   100%
scanpath_studio/cli.py _drift_algorithm   5 0 0   100%
scanpath_studio/cli.py _palette_name   5 2 0   60%
scanpath_studio/cli.py _colorscale_name   11 0 0   100%
scanpath_studio/cli.py _fill_color   6 2 0   67%
scanpath_studio/cli.py _add_schema_flags   3 0 0   100%
scanpath_studio/cli.py _parse_schema_arg   16 1 0   94%
scanpath_studio/cli.py _parse_schema_arg.is_column   1 0 0   100%
scanpath_studio/cli.py _load_error_message   17 2 0   88%
scanpath_studio/cli.py _theme_cli_flags   4 0 0   100%
scanpath_studio/cli.py _max_upload_cli_flags   5 0 0   100%
scanpath_studio/cli.py _configured_server_address   11 0 0   100%
scanpath_studio/cli.py _bind_cli_flags   7 0 0   100%
scanpath_studio/cli.py _consume_download_dir   13 0 0   100%
scanpath_studio/cli.py launch_app   13 0 0   100%
scanpath_studio/cli.py _render_parser   175 0 0   100%
scanpath_studio/cli.py _render_parser.benchmark_help   1 0 0   100%
scanpath_studio/cli.py _render_parser.mpe_help   1 0 0   100%
scanpath_studio/cli.py _parse_style_spec   35 4 0   89%
scanpath_studio/cli.py _compare_labels   3 0 0   100%
scanpath_studio/cli.py _parse_compare_with   5 0 0   100%
scanpath_studio/cli.py _compare_second_dataset   6 2 0   67%
scanpath_studio/cli.py _listed   3 1 0   67%
scanpath_studio/cli.py _compare_animation_frames   15 2 0   87%
scanpath_studio/cli.py _inferred_screen_hint   8 2 0   75%
scanpath_studio/cli.py _compare_setup_snapshot   4 0 0   100%
scanpath_studio/cli.py _print_combined_rows   3 0 0   100%
scanpath_studio/cli.py _format_trial_key   3 1 0   67%
scanpath_studio/cli.py _parse_canvas   9 0 0   100%
scanpath_studio/cli.py _flags_for   14 0 0   100%
scanpath_studio/cli.py _require_image   2 1 0   50%
scanpath_studio/cli.py _parse_saccade_classes_arg   5 0 0   100%
scanpath_studio/cli.py _parse_fix_index_range   9 0 0   100%
scanpath_studio/cli.py _parse_legend_layout   11 0 0   100%
scanpath_studio/cli.py _parse_fixation_flags   25 2 0   92%
scanpath_studio/cli.py _snippet_source_from_args   21 5 0   76%
scanpath_studio/cli.py _print_reproduction_code   52 7 0   87%
scanpath_studio/cli.py _parse_xy   7 0 0   100%
scanpath_studio/cli.py _load_multipleye_render   34 7 0   79%
scanpath_studio/cli.py _apply_shared_colorbar_flags   7 0 0   100%
scanpath_studio/cli.py _save_kwargs   8 1 0   88%
scanpath_studio/cli.py _parse_screen_list   6 1 0   83%
scanpath_studio/cli.py render   428 60 0   86%
scanpath_studio/cli.py _analyze_parser   12 0 0   100%
scanpath_studio/cli.py analyze   38 4 0   89%
scanpath_studio/cli.py _corpus_parser   10 0 0   100%
scanpath_studio/cli.py corpus   12 0 0   100%
scanpath_studio/cli.py _cache_parser   5 0 0   100%
scanpath_studio/cli.py _count   3 0 0   100%
scanpath_studio/cli.py cache   36 4 0   89%
scanpath_studio/cli.py _version_parser   4 0 0   100%
scanpath_studio/cli.py version   21 1 0   95%
scanpath_studio/cli.py _check_parser   10 0 0   100%
scanpath_studio/cli.py _health_report   16 0 0   100%
scanpath_studio/cli.py check   42 13 0   69%
scanpath_studio/cli.py _commands   4 1 0   75%
scanpath_studio/cli.py _help_text   4 0 0   100%
scanpath_studio/cli.py _refuse_unknown_command   4 0 0   100%
scanpath_studio/cli.py _refuse_misplaced_options   11 1 0   91%
scanpath_studio/cli.py main   29 0 0   100%
scanpath_studio/cli.py (no function)   88 0 2   100%
scanpath_studio/code_snippet.py source_canvas   11 2 0   82%
scanpath_studio/code_snippet.py _root   1 0 0   100%
scanpath_studio/code_snippet.py _loader_columns   3 0 0   100%
scanpath_studio/code_snippet.py _kept_columns   7 0 0   100%
scanpath_studio/code_snippet.py _with_kept_columns   6 0 0   100%
scanpath_studio/code_snippet.py _keep_python   2 0 0   100%
scanpath_studio/code_snippet.py _keep_cli   2 0 0   100%
scanpath_studio/code_snippet.py _demo_python   1 0 0   100%
scanpath_studio/code_snippet.py _synthetic_python   1 0 0   100%
scanpath_studio/code_snippet.py _files_python   3 0 0   100%
scanpath_studio/code_snippet.py _schema_python   8 0 0   100%
scanpath_studio/code_snippet.py _author_python   2 2 0   0%
scanpath_studio/code_snippet.py _potec_python   1 0 0   100%
scanpath_studio/code_snippet.py _onestop_python   12 0 0   100%
scanpath_studio/code_snippet.py _multipleye_python   6 1 0   83%
scanpath_studio/code_snippet.py _benchmark_python   2 0 0   100%
scanpath_studio/code_snippet.py _unknown_python   3 1 0   67%
scanpath_studio/code_snippet.py _demo_cli   1 0 0   100%
scanpath_studio/code_snippet.py _files_cli   10 0 0   100%
scanpath_studio/code_snippet.py _author_cli   1 1 0   0%
scanpath_studio/code_snippet.py _potec_cli   1 0 0   100%
scanpath_studio/code_snippet.py _onestop_cli   6 0 0   100%
scanpath_studio/code_snippet.py _multipleye_cli   1 0 0   100%
scanpath_studio/code_snippet.py _benchmark_cli   1 0 0   100%
scanpath_studio/code_snippet.py _unknown_cli   1 0 0   100%
scanpath_studio/code_snippet.py upload_source   19 1 0   95%
scanpath_studio/code_snippet.py _compact_schema   1 0 0   100%
scanpath_studio/code_snippet.py _upload_python   8 0 0   100%
scanpath_studio/code_snippet.py _upload_cli   8 0 0   100%
scanpath_studio/code_snippet.py _raw_gaze_only_python   1 0 0   100%
scanpath_studio/code_snippet.py _raw_gaze_only_cli   1 0 0   100%
scanpath_studio/code_snippet.py FigureState.__post_init__   2 1 0   50%
scanpath_studio/code_snippet.py _comparable   9 0 0   100%
scanpath_studio/code_snippet.py _is_data_uri   1 0 0   100%
scanpath_studio/code_snippet.py figure_kwargs   25 1 0   96%
scanpath_studio/code_snippet.py _inert   17 0 0   100%
scanpath_studio/code_snippet.py _heatmap_self_scaled   2 0 0   100%
scanpath_studio/code_snippet.py _active_flags   9 0 0   100%
scanpath_studio/code_snippet.py _same_flags   1 0 0   100%
scanpath_studio/code_snippet.py _visible_classes   4 1 0   75%
scanpath_studio/code_snippet.py _drop_inherited_filters   8 0 0   100%
scanpath_studio/code_snippet.py compare_style_delta   9 0 0   100%
scanpath_studio/code_snippet.py _flag_when   2 0 0   100%
scanpath_studio/code_snippet.py _flag_when.emit   1 0 0   100%
scanpath_studio/code_snippet.py _switch   2 0 0   100%
scanpath_studio/code_snippet.py _switch.emit   1 0 0   100%
scanpath_studio/code_snippet.py _valued   2 0 0   100%
scanpath_studio/code_snippet.py _valued.emit   1 0 0   100%
scanpath_studio/code_snippet.py _int_valued   2 0 0   100%
scanpath_studio/code_snippet.py _int_valued.emit   1 0 0   100%
scanpath_studio/code_snippet.py _optional_valued   2 0 0   100%
scanpath_studio/code_snippet.py _optional_valued.emit   1 0 0   100%
scanpath_studio/code_snippet.py _mapped   2 0 0   100%
scanpath_studio/code_snippet.py _mapped.emit   2 0 0   100%
scanpath_studio/code_snippet.py _comma_list   2 0 0   100%
scanpath_studio/code_snippet.py _comma_list.emit   3 1 0   67%
scanpath_studio/code_snippet.py _highlight_column   1 0 0   100%
scanpath_studio/code_snippet.py _fixation_flags   16 1 0   94%
scanpath_studio/code_snippet.py _legend_layout   6 0 0   100%
scanpath_studio/code_snippet.py _compare_fixation_flags   2 0 0   100%
scanpath_studio/code_snippet.py _heatmap_metric   1 0 0   100%
scanpath_studio/code_snippet.py _saccade_color_mode   5 0 0   100%
scanpath_studio/code_snippet.py _saccade_class_colors   10 1 0   90%
scanpath_studio/code_snippet.py _effective_color   4 0 0   100%
scanpath_studio/code_snippet.py _palette_colors   2 0 0   100%
scanpath_studio/code_snippet.py _classes_coloured   1 0 0   100%
scanpath_studio/code_snippet.py _matching_palette   19 0 0   100%
scanpath_studio/code_snippet.py _restate_against_palette   11 1 0   91%
scanpath_studio/code_snippet.py _marker_size_range   4 1 0   75%
scanpath_studio/code_snippet.py _pair   2 0 0   100%
scanpath_studio/code_snippet.py _pair.emit   5 0 0   100%
scanpath_studio/code_snippet.py _two_numbers   2 0 0   100%
scanpath_studio/code_snippet.py _two_numbers.emit   4 0 0   100%
scanpath_studio/code_snippet.py _lowercase   2 0 0   100%
scanpath_studio/code_snippet.py _lowercase.emit   1 0 0   100%
scanpath_studio/code_snippet.py _style_spec   2 0 0   100%
scanpath_studio/code_snippet.py _style_spec.emit   23 2 0   91%
scanpath_studio/code_snippet.py _num   2 0 0   100%
scanpath_studio/code_snippet.py _py   8 0 0   100%
scanpath_studio/code_snippet.py _one_or_list   2 0 0   100%
scanpath_studio/code_snippet.py _names_screen_b   1 0 0   100%
scanpath_studio/code_snippet.py _call_kwargs   33 2 0   94%
scanpath_studio/code_snippet.py _non_default_font   2 0 0   100%
scanpath_studio/code_snippet.py draws_raw_gaze   1 0 0   100%
scanpath_studio/code_snippet.py _draws_primary_raw_gaze   1 0 0   100%
scanpath_studio/code_snippet.py _second_raw_gaze   4 0 0   100%
scanpath_studio/code_snippet.py _passes_raw_gaze   1 0 0   100%
scanpath_studio/code_snippet.py _raw_gaze_layer_off   1 0 0   100%
scanpath_studio/code_snippet.py _raw_gaze_paths   4 0 0   100%
scanpath_studio/code_snippet.py _raw_gaze_named   1 0 0   100%
scanpath_studio/code_snippet.py _raw_gaze_python   7 0 0   100%
scanpath_studio/code_snippet.py _raw_gaze_cli   8 0 0   100%
scanpath_studio/code_snippet.py second_dataset   6 0 0   100%
scanpath_studio/code_snippet.py _second_dataset_tables   3 0 0   100%
scanpath_studio/code_snippet.py _second_dataset_python   6 0 0   100%
scanpath_studio/code_snippet.py _second_dataset_kwargs   4 0 0   100%
scanpath_studio/code_snippet.py _second_dataset_cli   10 0 0   100%
scanpath_studio/code_snippet.py python_snippet   67 0 0   100%
scanpath_studio/code_snippet.py _comment_lines   3 0 0   100%
scanpath_studio/code_snippet.py cli_snippet   95 4 0   96%
scanpath_studio/code_snippet.py _wrap_command   20 0 0   100%
scanpath_studio/code_snippet.py state_caveats   20 0 0   100%
scanpath_studio/code_snippet.py reproduction_code   2 0 0   100%
scanpath_studio/code_snippet.py (no function)   183 0 0   100%
scanpath_studio/column_names.py canonical_label   9 0 0   100%
scanpath_studio/column_names.py SourceName.display   1 0 0   100%
scanpath_studio/column_names.py ColumnNames.source   1 0 0   100%
scanpath_studio/column_names.py ColumnNames.kind_of   4 0 0   100%
scanpath_studio/column_names.py ColumnNames.display   2 0 0   100%
scanpath_studio/column_names.py ColumnNames.to_canonical   5 0 0   100%
scanpath_studio/column_names.py ColumnNames.through   16 0 0   100%
scanpath_studio/column_names.py ColumnNames.label   11 0 0   100%
scanpath_studio/column_names.py ColumnNames.field_label   4 0 0   100%
scanpath_studio/column_names.py ColumnNames.source_tooltip   9 1 0   89%
scanpath_studio/column_names.py ColumnNames.figure_labels   9 0 0   100%
scanpath_studio/column_names.py ColumnNames.merged   1 0 0   100%
scanpath_studio/column_names.py ColumnNames.option_labels   7 0 0   100%
scanpath_studio/column_names.py ColumnNames.sort_options   5 0 0   100%
scanpath_studio/column_names.py ColumnNames.aliases   7 0 0   100%
scanpath_studio/column_names.py ColumnNames.with_rewrites   8 0 0   100%
scanpath_studio/column_names.py ColumnNames.identity   1 0 0   100%
scanpath_studio/column_names.py ColumnNames.redundant_aliases   2 0 0   100%
scanpath_studio/column_names.py ColumnNames.export_headers   13 0 0   100%
scanpath_studio/column_names.py ColumnNames.provenance   15 6 0   60%
scanpath_studio/column_names.py ColumnNames.restricted_to   2 0 0   100%
scanpath_studio/column_names.py ColumnNames.to_payload   1 0 0   100%
scanpath_studio/column_names.py ColumnNames.from_payload   12 1 0   92%
scanpath_studio/column_names.py active   2 0 0   100%
scanpath_studio/column_names.py active_all   1 0 0   100%
scanpath_studio/column_names.py table_figure_labels   9 0 0   100%
scanpath_studio/column_names.py active_figure_labels   1 0 0   100%
scanpath_studio/column_names.py across_tables   5 0 0   100%
scanpath_studio/column_names.py _id_entry   7 0 0   100%
scanpath_studio/column_names.py _timed   4 0 0   100%
scanpath_studio/column_names.py _mapped_or   2 0 0   100%
scanpath_studio/column_names.py _registry   5 0 0   100%
scanpath_studio/column_names.py from_schema   55 0 0   100%
scanpath_studio/column_names.py for_tables   10 0 0   100%
scanpath_studio/column_names.py _written_plan   3 0 0   100%
scanpath_studio/column_names.py as_written   9 0 0   100%
scanpath_studio/column_names.py written_columns   10 1 0   90%
scanpath_studio/column_names.py columns_manifest   1 0 0   100%
scanpath_studio/column_names.py dictionary_lines   11 1 0   91%
scanpath_studio/column_names.py source_schema   33 1 0   97%
scanpath_studio/column_names.py stored_source_recipe   11 1 0   91%
scanpath_studio/column_names.py attach   8 0 0   100%
scanpath_studio/column_names.py _record   8 2 0   75%
scanpath_studio/column_names.py frame_names   4 0 0   100%
scanpath_studio/column_names.py to_canonical_frame   10 0 0   100%
scanpath_studio/column_names.py (no function)   82 0 0   100%
scanpath_studio/compare_source.py _resolved_dir   5 1 0   80%
scanpath_studio/compare_source.py _public_location   12 1 0   92%
scanpath_studio/compare_source.py _public_ready   2 0 0   100%
scanpath_studio/compare_source.py _short_name   3 0 0   100%
scanpath_studio/compare_source.py _public_ready_cached   21 4 0   81%
scanpath_studio/compare_source.py secondary_dataset_options   7 0 0   100%
scanpath_studio/compare_source.py _load_public_frames   13 5 0   62%
scanpath_studio/compare_source.py _load_builtin_frames   7 0 0   100%
scanpath_studio/compare_source.py _builtin_column_names   7 0 0   100%
scanpath_studio/compare_source.py source_has_raw_gaze   7 0 0   100%
scanpath_studio/compare_source.py _load_demo_raw_gaze   2 0 0   100%
scanpath_studio/compare_source.py snapshot_for   8 1 0   88%
scanpath_studio/compare_source.py load_secondary_dataset   31 6 0   81%
scanpath_studio/compare_source.py (no function)   44 0 0   100%
scanpath_studio/computations.py Computation.module   1 0 0   100%
scanpath_studio/computations.py Computation.symbol   1 0 0   100%
scanpath_studio/computations.py _public   5 0 0   100%
scanpath_studio/computations.py _experimental_note   6 0 0   100%
scanpath_studio/computations.py entries_in   1 0 0   100%
scanpath_studio/computations.py measure_entry   6 0 0   100%
scanpath_studio/computations.py anchor   1 0 0   100%
scanpath_studio/computations.py to_markdown   19 0 0   100%
scanpath_studio/computations.py main   0 0 5   100%
scanpath_studio/computations.py (no function)   62 0 3   100%
scanpath_studio/constants.py experimental_features_enabled   1 0 0   100%
scanpath_studio/constants.py drift_correction_enabled   1 0 0   100%
scanpath_studio/constants.py similarity_enabled   1 0 0   100%
scanpath_studio/constants.py multipleye_upload_enabled   1 0 0   100%
scanpath_studio/constants.py multipleye_enabled   1 0 0   100%
scanpath_studio/constants.py benchmark_corpora_enabled   1 0 0   100%
scanpath_studio/constants.py preprocessing_enabled   1 0 0   100%
scanpath_studio/constants.py computed_measures_enabled   1 0 0   100%
scanpath_studio/constants.py sentence_analysis_enabled   1 0 0   100%
scanpath_studio/constants.py derived_analysis_tables_enabled   1 0 0   100%
scanpath_studio/constants.py compare_palette_color   1 0 0   100%
scanpath_studio/constants.py palette_label   1 0 0   100%
scanpath_studio/constants.py palette_settings   4 0 0   100%
scanpath_studio/constants.py configured_upload_limit_mb   6 0 0   100%
scanpath_studio/constants.py upload_limit_mb   9 2 0   78%
scanpath_studio/constants.py upload_limit_label   2 0 0   100%
scanpath_studio/constants.py upload_identity   3 0 0   100%
scanpath_studio/constants.py language_display   5 0 0   100%
scanpath_studio/constants.py onestop_regime_for_choice   1 0 0   100%
scanpath_studio/constants.py plural   2 0 0   100%
scanpath_studio/constants.py spoken   2 0 0   100%
scanpath_studio/constants.py icon_html   1 0 0   100%
scanpath_studio/constants.py icons_to_html   1 0 0   100%
scanpath_studio/constants.py (no function)   166 0 0   100%
scanpath_studio/controls.py _label_w   2 0 0   100%
scanpath_studio/controls.py _rail_label_width   4 0 0   100%
scanpath_studio/controls.py _popover_rows   2 0 0   100%
scanpath_studio/controls.py inline_field_label   1 0 0   100%
scanpath_studio/controls.py _labeled   3 0 0   100%
scanpath_studio/controls.py _rail_names   1 0 0   100%
scanpath_studio/controls.py _slider_row   5 0 0   100%
scanpath_studio/controls.py _shadow_key_missing   1 0 0   100%
scanpath_studio/controls.py _number_box_format   3 0 0   100%
scanpath_studio/controls.py _numeric_slider   13 0 0   100%
scanpath_studio/controls.py _numeric_slider._apply   5 1 0   80%
scanpath_studio/controls.py _range_slider   24 0 0   100%
scanpath_studio/controls.py _range_slider._apply   6 0 0   100%
scanpath_studio/controls.py _uploaded_image_data_uri   11 9 0   18%
scanpath_studio/controls.py _mode_gate   8 0 0   100%
scanpath_studio/controls.py _gated_help   3 0 0   100%
scanpath_studio/controls.py _layer_off   9 0 0   100%
scanpath_studio/controls.py _layer_gate   3 0 0   100%
scanpath_studio/controls.py _render_fixation_cleaning   23 0 0   100%
scanpath_studio/controls.py _collect_fixation_flags   2 0 0   100%
scanpath_studio/controls.py _fixation_filter_badge   9 0 0   100%
scanpath_studio/controls.py _plot_filter_badge   3 0 0   100%
scanpath_studio/controls.py _saccade_filter_badge   10 1 0   90%
scanpath_studio/controls.py design_presets   2 0 0   100%
scanpath_studio/controls.py _design_selection   1 0 0   100%
scanpath_studio/controls.py selected_design_name   4 0 0   100%
scanpath_studio/controls.py save_design_preset   12 2 0   83%
scanpath_studio/controls.py rename_design_preset   8 8 0   0%
scanpath_studio/controls.py delete_design_preset   7 7 0   0%
scanpath_studio/controls.py designs_to_json   2 0 0   100%
scanpath_studio/controls.py sanitize_design   12 1 0   92%
scanpath_studio/controls.py designs_from_json   30 2 0   93%
scanpath_studio/controls.py _import_designs   15 2 0   87%
scanpath_studio/controls.py _render_design_file_row   12 3 0   75%
scanpath_studio/controls.py _toggle_design_editor   2 2 0   0%
scanpath_studio/controls.py _forget_raw_gaze_default   3 0 0   100%
scanpath_studio/controls.py _drop_linked_view_params   3 0 0   100%
scanpath_studio/controls.py _apply_view_preset   8 1 0   88%
scanpath_studio/controls.py _hold_view_writes   5 0 0   100%
scanpath_studio/controls.py _apply_view_preset_state   50 0 0   100%
scanpath_studio/controls.py _is_restorable_global   2 0 0   100%
scanpath_studio/controls.py _is_design_key   1 0 0   100%
scanpath_studio/controls.py _render_saved_designs   25 6 0   76%
scanpath_studio/controls.py _ask_delete_design   2 2 0   0%
scanpath_studio/controls.py _close_design_delete_dialog   1 1 0   0%
scanpath_studio/controls.py _design_delete_dialog   9 9 0   0%
scanpath_studio/controls.py _close_design_save_dialog   1 1 0   0%
scanpath_studio/controls.py _design_save_dialog   21 21 0   0%
scanpath_studio/controls.py _render_design_rename   5 5 0   0%
scanpath_studio/controls.py _cancel_design_rename   1 1 0   0%
scanpath_studio/controls.py _rename_named_design   2 2 0   0%
scanpath_studio/controls.py _capture_quick_view_state   7 0 0   100%
scanpath_studio/controls.py _is_drift_mirror   1 0 0   100%
scanpath_studio/controls.py _design_drifted   7 0 0   100%
scanpath_studio/controls.py _drift_to_custom   6 0 0   100%
scanpath_studio/controls.py _returned_to_design   16 2 0   88%
scanpath_studio/controls.py _link_departs_from   12 0 0   100%
scanpath_studio/controls.py _sync_quick_view_state   33 0 0   100%
scanpath_studio/controls.py _active_quick_view   1 0 0   100%
scanpath_studio/controls.py palette_state   6 0 0   100%
scanpath_studio/controls.py apply_palette   4 0 0   100%
scanpath_studio/controls.py _write_match_key   5 0 0   100%
scanpath_studio/controls.py write_through   5 0 0   100%
scanpath_studio/controls.py reassert_pending_writes   21 0 0   100%
scanpath_studio/controls.py _palette_match_key   1 0 0   100%
scanpath_studio/controls.py _active_palette   6 0 0   100%
scanpath_studio/controls.py _on_palette_change   4 4 0   0%
scanpath_studio/controls.py _popover_selectbox   5 5 0   0%
scanpath_studio/controls.py _default_box_format   5 0 0   100%
scanpath_studio/controls.py _assemble_mapping   27 0 0   100%
scanpath_studio/controls.py _mark_field_touched   1 0 0   100%
scanpath_studio/controls.py _field_state   16 0 0   100%
scanpath_studio/controls.py _mapped_columns_key   1 0 0   100%
scanpath_studio/controls.py claim_mapping   1 0 0   100%
scanpath_studio/controls.py _mapping_state_keys   8 0 0   100%
scanpath_studio/controls.py forget_mapping_for_other_table   24 0 0   100%
scanpath_studio/controls.py column_mapping_ui   44 1 0   98%
scanpath_studio/controls.py column_mapping_ui._option_label   1 0 0   100%
scanpath_studio/controls.py column_mapping_ui._host_for   5 0 0   100%
scanpath_studio/controls.py column_mapping_ui._grid_cell   7 0 0   100%
scanpath_studio/controls.py column_mapping_ui._row   17 0 0   100%
scanpath_studio/controls.py column_mapping_ui._selectbox   18 1 0   94%
scanpath_studio/controls.py column_mapping_ui._mapped   4 0 0   100%
scanpath_studio/controls.py column_mapping_ui._render_box_format   18 1 0   94%
scanpath_studio/controls.py column_mapping_ui._render_multi   17 1 0   94%
scanpath_studio/controls.py multi_field_flag   5 0 0   100%
scanpath_studio/controls.py value_preview_tip   4 0 0   100%
scanpath_studio/controls.py _render_field_flag   11 0 0   100%
scanpath_studio/controls.py mark_cells   1 0 0   100%
scanpath_studio/controls.py mark_missing_cells   1 1 0   0%
scanpath_studio/controls.py _emit_field_tints   9 0 0   100%
scanpath_studio/controls.py color_field_options   5 0 0   100%
scanpath_studio/controls.py hover_field_options   11 0 0   100%
scanpath_studio/controls.py numeric_field_options   1 0 0   100%
scanpath_studio/controls.py highlight_column_options   7 0 0   100%
scanpath_studio/controls.py _drop_stale   2 0 0   100%
scanpath_studio/controls.py _drop_stale_multi   7 1 0   86%
scanpath_studio/controls.py _explicit_pair   9 3 0   67%
scanpath_studio/controls.py _color_range_view_key   1 0 0   100%
scanpath_studio/controls.py _color_range_auto_key   1 0 0   100%
scanpath_studio/controls.py forget_color_range   4 0 0   100%
scanpath_studio/controls.py heatmap_value_bounds   33 4 0   88%
scanpath_studio/controls.py _heatmap_bounds_for_rail   5 0 0   100%
scanpath_studio/controls.py _cheap_heatmap_bounds   9 2 0   78%
scanpath_studio/controls.py _heatmap_value_bounds_cached   1 0 0   100%
scanpath_studio/controls.py _render_color_range   20 0 0   100%
scanpath_studio/controls.py _render_color_range._commit_view   3 0 0   100%
scanpath_studio/controls.py _render_color_range._toggle_auto   3 0 0   100%
scanpath_studio/controls.py _render_color_range._auto   1 0 0   100%
scanpath_studio/controls.py _sub_row   9 0 0   100%
scanpath_studio/controls.py _check_row   6 0 0   100%
scanpath_studio/controls.py _render_duration_scale_rows   9 0 0   100%
scanpath_studio/controls.py _sub_caption   6 0 0   100%
scanpath_studio/controls.py render_pattern_help   13 1 0   92%
scanpath_studio/controls.py _trial_rows   4 0 0   100%
scanpath_studio/controls.py _c_trial_rows   4 0 0   100%
scanpath_studio/controls.py _selected_metadata_rows   7 0 0   100%
scanpath_studio/controls.py current_dataset_name   4 2 0   50%
scanpath_studio/controls.py render_pattern_input   12 0 0   100%
scanpath_studio/controls.py _pin   6 2 0   67%
scanpath_studio/controls.py compare_style_defaults   5 0 0   100%
scanpath_studio/controls.py _seed_compare_styles   3 0 0   100%
scanpath_studio/controls.py _render_compare_fix_styles   5 0 0   100%
scanpath_studio/controls.py _compare_fix_color_picker   2 0 0   100%
scanpath_studio/controls.py _compare_size_slider   2 0 0   100%
scanpath_studio/controls.py _compare_opacity_slider   1 0 0   100%
scanpath_studio/controls.py _compare_saccade_color_picker   2 0 0   100%
scanpath_studio/controls.py _compare_saccade_line_rows   4 0 0   100%
scanpath_studio/controls.py _render_compare_saccade_styles   3 0 0   100%
scanpath_studio/controls.py _render_heatmap_blur_row   14 1 0   93%
scanpath_studio/controls.py _render_heatmap_blur_row._apply   3 3 0   0%
scanpath_studio/controls.py _render_colorbar_rows   7 0 0   100%
scanpath_studio/controls.py _box_opacity   1 0 0   100%
scanpath_studio/controls.py _compare_follow_color_picker   6 0 0   100%
scanpath_studio/controls.py _compare_follow_color_picker._apply   4 4 0   0%
scanpath_studio/controls.py _compare_fix_color   1 0 0   100%
scanpath_studio/controls.py _render_compare_box_groups   11 0 0   100%
scanpath_studio/controls.py _compare_heatmap_colorscale_row   8 1 0   88%
scanpath_studio/controls.py _compare_raw_gaze_color_row   3 0 0   100%
scanpath_studio/controls.py _collect_compare_styles   6 0 0   100%
scanpath_studio/controls.py _ordered_saccade_classes   2 0 0   100%
scanpath_studio/controls.py compare_b_filters   1 0 0   100%
scanpath_studio/controls.py render_compare_filters   10 0 0   100%
scanpath_studio/controls.py _fix_range_bounds   6 1 0   83%
scanpath_studio/controls.py _fix_range_trial_key   11 1 0   91%
scanpath_studio/controls.py _render_fix_range_slider   47 3 0   94%
scanpath_studio/controls.py _render_fix_range_slider._reset_to_full   1 0 0   100%
scanpath_studio/controls.py _render_fix_range_slider._mark_fix_range_user_set   2 0 0   100%
scanpath_studio/controls.py _render_fix_range_slider._all_trials   1 0 0   100%
scanpath_studio/controls.py _seed_viz_state   39 0 0   100%
scanpath_studio/controls.py _collect_legend_layout   16 5 0   69%
scanpath_studio/controls.py _collect_viz_settings   33 0 0   100%
scanpath_studio/controls.py viz_settings_from_state   2 0 0   100%
scanpath_studio/controls.py corpus_style_controls   14 0 0   100%
scanpath_studio/controls.py _rail_section   11 0 0   100%
scanpath_studio/controls.py _rail_subsection   5 0 0   100%
scanpath_studio/controls.py _reset_viz_confirmation_dialog   9 2 0   78%
scanpath_studio/controls.py render_viz_reset   4 0 0   100%
scanpath_studio/controls.py render_plot_controls   317 14 0   96%
scanpath_studio/controls.py render_plot_controls._apply_index_size   3 3 0   0%
scanpath_studio/controls.py render_plot_controls._on_span_toggle   1 1 0   0%
scanpath_studio/controls.py render_plot_controls._on_span_mode   1 1 0   0%
scanpath_studio/controls.py render_plot_controls._apply_crop   3 3 0   0%
scanpath_studio/controls.py render_plot_controls._prefill   2 2 0   0%
scanpath_studio/controls.py _participant_options   1 0 0   100%
scanpath_studio/controls.py _column_unique_strs   4 1 0   75%
scanpath_studio/controls.py _numeric_column_bounds   13 2 0   85%
scanpath_studio/controls.py _trials_missing_column   9 1 0   89%
scanpath_studio/controls.py _column_present_bools   4 1 0   75%
scanpath_studio/controls.py _bool_metadata_filter   9 1 0   89%
scanpath_studio/controls.py _bool_filter_narrowing   12 3 0   75%
scanpath_studio/controls.py read_trial_filters   1 0 0   100%
scanpath_studio/controls.py clear_trial_filters   4 0 0   100%
scanpath_studio/controls.py _own_filter_keys   3 0 0   100%
scanpath_studio/controls.py reset_viz_settings   15 0 0   100%
scanpath_studio/controls.py clear_trial_filter   12 0 0   100%
scanpath_studio/controls.py has_active_trial_filters   2 0 0   100%
scanpath_studio/controls.py active_filter_keys   15 2 0   87%
scanpath_studio/controls.py _is_number   1 0 0   100%
scanpath_studio/controls.py describe_filter_keys   19 0 0   100%
scanpath_studio/controls.py active_filter_items   10 1 0   90%
scanpath_studio/controls.py active_filter_items.label_for   11 1 0   91%
scanpath_studio/controls.py format_filter_item   14 0 0   100%
scanpath_studio/controls.py _trial_level_columns   15 1 0   93%
scanpath_studio/controls.py _chip_field_options   16 0 0   100%
scanpath_studio/controls.py _chip_field_options.add   5 0 0   100%
scanpath_studio/controls.py unique_field_labels   10 0 0   100%
scanpath_studio/controls.py chip_field_label   3 0 0   100%
scanpath_studio/controls.py field_help   8 0 0   100%
scanpath_studio/controls.py _default_chip_fields   3 0 0   100%
scanpath_studio/controls.py render_trial_chip_picker   32 2 0   94%
scanpath_studio/controls.py _seed_filter_widget   7 0 0   100%
scanpath_studio/controls.py _seed_range_widget   13 0 0   100%
scanpath_studio/controls.py _seed_range_widget._clamped   1 0 0   100%
scanpath_studio/controls.py _filter_fields_for   4 0 0   100%
scanpath_studio/controls.py cached_trial_level_columns   6 0 0   100%
scanpath_studio/controls.py _range_filter_key   1 0 0   100%
scanpath_studio/controls.py keep_unknown_key   4 1 0   75%
scanpath_studio/controls.py _keeps_unknown   5 0 0   100%
scanpath_studio/controls.py _render_keep_unknown   15 0 0   100%
scanpath_studio/controls.py _render_fixed_value   1 0 0   100%
scanpath_studio/controls.py _numeric_filter_fields   16 0 0   100%
scanpath_studio/controls.py metadata_filter_key   1 0 0   100%
scanpath_studio/controls.py trial_metadata_filter_key   1 0 0   100%
scanpath_studio/controls.py text_metadata_filter_key   1 0 0   100%
scanpath_studio/controls.py participant_metadata_fields   3 0 0   100%
scanpath_studio/controls.py trial_metadata_fields   3 0 0   100%
scanpath_studio/controls.py text_metadata_fields   3 0 0   100%
scanpath_studio/controls.py _render_metadata_range   10 0 0   100%
scanpath_studio/controls.py _metadata_range_narrowing   10 1 0   90%
scanpath_studio/controls.py _render_participant_metadata_filters   15 0 0   100%
scanpath_studio/controls.py _render_trial_metadata_filters   15 1 0   93%
scanpath_studio/controls.py _render_text_metadata_filters   15 0 0   100%
scanpath_studio/controls.py _text_metadata_narrowing   22 7 0   68%
scanpath_studio/controls.py _trial_metadata_narrowing   22 2 0   91%
scanpath_studio/controls.py _seed_range_bounds   11 1 0   91%
scanpath_studio/controls.py _seed_range_bounds._clamped   1 0 0   100%
scanpath_studio/controls.py _participant_metadata_narrowing   22 0 0   100%
scanpath_studio/controls.py _loaded_trial_keys   2 0 0   100%
scanpath_studio/controls.py _c_loaded_trial_keys   2 0 0   100%
scanpath_studio/controls.py _pool_fingerprint   2 0 0   100%
scanpath_studio/controls.py _metadata_numeric_summary   7 2 0   71%
scanpath_studio/controls.py _c_metadata_numeric_summary   3 0 0   100%
scanpath_studio/controls.py _compute_trial_filters   70 5 0   93%
scanpath_studio/controls.py _text_field_and_frame   6 0 0   100%
scanpath_studio/controls.py render_narrow_by   13 0 0   100%
scanpath_studio/controls.py render_narrow_by._apply   1 0 0   100%
scanpath_studio/controls.py trial_filter_labels   6 0 0   100%
scanpath_studio/controls.py render_trial_filters   45 1 0   98%
scanpath_studio/controls.py render_trial_filters._apply   1 0 0   100%
scanpath_studio/controls.py (no function)   340 0 0   100%
scanpath_studio/crash_report.py report_url   3 0 0   100%
scanpath_studio/crash_report.py crash_message   2 0 0   100%
scanpath_studio/crash_report.py show_crash   3 0 0   100%
scanpath_studio/crash_report.py guarded   6 0 0   100%
scanpath_studio/crash_report.py run_app   3 0 0   100%
scanpath_studio/crash_report.py (no function)   15 0 0   100%
scanpath_studio/data.py _frame_parts   8 0 0   100%
scanpath_studio/data.py _register_fingerprints   9 0 0   100%
scanpath_studio/data.py vouch_for_frames   1 0 0   100%
scanpath_studio/data.py assign_fingerprint   2 0 0   100%
scanpath_studio/data.py stamp_source   4 0 0   100%
scanpath_studio/data.py adopt_source   6 0 0   100%
scanpath_studio/data.py assign_derived   11 0 0   100%
scanpath_studio/data.py _plain   3 0 0   100%
scanpath_studio/data.py _as_frames   3 0 0   100%
scanpath_studio/data.py hashable_key   7 0 0   100%
scanpath_studio/data.py _shared_build   46 1 0   98%
scanpath_studio/data.py frame_cache   23 0 0   100%
scanpath_studio/data.py frame_cache._lookup   5 1 0   80%
scanpath_studio/data.py frame_cache._publish   10 0 0   100%
scanpath_studio/data.py clear_frame_cache   4 0 0   100%
scanpath_studio/data.py reset_fingerprint_memo   1 0 0   100%
scanpath_studio/data.py frame_fingerprint   26 0 0   100%
scanpath_studio/data.py _compute_frame_fingerprint   7 2 0   71%
scanpath_studio/data.py _compute_frame_fingerprint._hash   5 0 0   100%
scanpath_studio/data.py onestop_data_dir   2 0 0   100%
scanpath_studio/data.py onestop_full_bundle_exists   4 0 0   100%
scanpath_studio/data.py _onestop_shard_paths   2 0 0   100%
scanpath_studio/data.py onestop_data_provenance   34 0 0   100%
scanpath_studio/data.py load_onestop_server_bundle   21 0 0   100%
scanpath_studio/data.py _norm_col   2 0 0   100%
scanpath_studio/data.py _col_tokens   3 0 0   100%
scanpath_studio/data.py pick_column   16 0 0   100%
scanpath_studio/data.py time_unit_ms   5 0 0   100%
scanpath_studio/data.py _as_ms   2 0 0   100%
scanpath_studio/data.py trial_mapping_columns   3 0 0   100%
scanpath_studio/data.py stable_id   16 0 0   100%
scanpath_studio/data.py zero_padding_map   12 0 0   100%
scanpath_studio/data.py zero_padding_map.by_value   8 0 0   100%
scanpath_studio/data.py _escape_parts   1 0 0   100%
scanpath_studio/data.py compose_id   2 0 0   100%
scanpath_studio/data.py split_composite_id   12 0 0   100%
scanpath_studio/data.py legacy_composite_id   4 0 0   100%
scanpath_studio/data.py composite_respelling_map   23 0 0   100%
scanpath_studio/data.py respell_reading   7 0 0   100%
scanpath_studio/data.py trial_id_series   5 0 0   100%
scanpath_studio/data.py _preserve_composite_columns   7 0 0   100%
scanpath_studio/data.py _pick_box_edge_set   17 0 0   100%
scanpath_studio/data.py _affix_sibling   2 0 0   100%
scanpath_studio/data.py brought_reading_measures   3 1 0   67%
scanpath_studio/data.py _apply_reading_measures   9 0 0   100%
scanpath_studio/data.py _blank_unfixated_measures   17 0 0   100%
scanpath_studio/data.py propose_word_schema   18 0 0   100%
scanpath_studio/data.py _holds_no_number   4 0 0   100%
scanpath_studio/data.py _propose_word_schema_by_field   1 0 0   100%
scanpath_studio/data.py propose_fix_schema   1 0 0   100%
scanpath_studio/data.py propose_raw_gaze_schema   1 0 0   100%
scanpath_studio/data.py validate_word_schema   9 0 0   100%
scanpath_studio/data.py validate_fix_schema   8 0 0   100%
scanpath_studio/data.py validate_raw_gaze_schema   5 0 0   100%
scanpath_studio/data.py split_source_file   7 0 0   100%
scanpath_studio/data.py extract_columns_from_source_file   18 0 0   100%
scanpath_studio/data.py source_file_regex_collisions   7 3 0   57%
scanpath_studio/data.py _renumber_word_ids_across_blocks   6 0 0   100%
scanpath_studio/data.py aggregate_char_boxes   49 2 0   96%
scanpath_studio/data.py _read_by_extension   11 0 0   100%
scanpath_studio/data.py _default_delimiter   1 0 0   100%
scanpath_studio/data.py _delimiter_of   7 0 0   100%
scanpath_studio/data.py _first_line   5 0 0   100%
scanpath_studio/data.py _sniff_delimiter   3 1 0   67%
scanpath_studio/data.py _bom_encoding   4 0 0   100%
scanpath_studio/data.py _peek   10 2 0   80%
scanpath_studio/data.py _is_workbook   2 0 0   100%
scanpath_studio/data.py _can_reread   7 2 0   71%
scanpath_studio/data.py _read_delimited   10 1 0   90%
scanpath_studio/data.py _filled_cells   2 0 0   100%
scanpath_studio/data.py _unparsed_cells   4 0 0   100%
scanpath_studio/data.py _to_number   12 0 0   100%
scanpath_studio/data.py mapping_value_preview   36 2 0   94%
scanpath_studio/data.py mapping_value_preview.number   1 0 0   100%
scanpath_studio/data.py numeric_parse_issues   22 0 0   100%
scanpath_studio/data.py _identity_columns   5 0 0   100%
scanpath_studio/data.py _id_missing   6 0 0   100%
scanpath_studio/data.py _rows_missing_identity   10 0 0   100%
scanpath_studio/data.py _drop_rows_missing_identity   3 0 0   100%
scanpath_studio/data.py identity_issues   11 0 0   100%
scanpath_studio/data.py screen_fraction_issues   16 1 0   94%
scanpath_studio/data.py normalization_issues   5 0 0   100%
scanpath_studio/data.py _warn_normalization_issues   2 0 0   100%
scanpath_studio/data.py ReadPlan.narrowed_to   9 2 0   78%
scanpath_studio/data.py _read_kwargs   12 0 0   100%
scanpath_studio/data.py _excel_na_kwargs   11 1 0   91%
scanpath_studio/data.py verbatim_text_plan   5 0 0   100%
scanpath_studio/data.py identity_text_plan   6 1 0   83%
scanpath_studio/data.py _identity_columns_in   2 0 0   100%
scanpath_studio/data.py plan_table_read   12 0 0   100%
scanpath_studio/data.py _schema_identity_columns   6 0 0   100%
scanpath_studio/data.py read_table_columns   17 0 0   100%
scanpath_studio/data.py _header   1 0 0   100%
scanpath_studio/data.py _empty_file_error   1 0 0   100%
scanpath_studio/data.py _member_layout   7 1 0   86%
scanpath_studio/data.py _zipped_table_columns   14 1 0   93%
scanpath_studio/data.py _rewind   3 0 0   100%
scanpath_studio/data.py read_mapped_table   8 0 0   100%
scanpath_studio/data.py source_labels   28 0 0   100%
scanpath_studio/data.py source_labels.shared_tail   4 0 0   100%
scanpath_studio/data.py source_file_name   3 0 0   100%
scanpath_studio/data.py _tag_and_concat   7 0 0   100%
scanpath_studio/data.py _zip_limit_from_env   8 0 0   100%
scanpath_studio/data.py _format_bytes   5 1 0   80%
scanpath_studio/data.py _check_zip_limits   11 0 0   100%
scanpath_studio/data.py _BudgetedZipMember.__init__   5 0 0   100%
scanpath_studio/data.py _BudgetedZipMember.readable   1 0 0   100%
scanpath_studio/data.py _BudgetedZipMember.readinto   7 0 0   100%
scanpath_studio/data.py table_kind_of_columns   9 0 0   100%
scanpath_studio/data.py ZipMemberSplit.mixed   1 0 0   100%
scanpath_studio/data.py ZipMemberSplit.message   11 1 0   91%
scanpath_studio/data.py _zip_member_columns   8 5 0   38%
scanpath_studio/data.py _zip_split   16 0 0   100%
scanpath_studio/data.py zip_member_split   10 1 0   90%
scanpath_studio/data.py read_table_sample   25 4 0   84%
scanpath_studio/data.py looks_like_condition   7 1 0   86%
scanpath_studio/data.py _read_zipped_table   37 0 0   100%
scanpath_studio/data.py uploaded_files_total_bytes   4 0 0   100%
scanpath_studio/data.py upload_exceeds_limit   1 0 0   100%
scanpath_studio/data.py read_table   7 0 0   100%
scanpath_studio/data.py expand_table_inputs   11 0 0   100%
scanpath_studio/data.py read_tables   7 0 0   100%
scanpath_studio/data.py _load_bundled   11 4 0   64%
scanpath_studio/data.py _resolve_sample_image_paths   10 3 0   70%
scanpath_studio/data.py _resolve_sample_image_paths._abs   3 1 0   67%
scanpath_studio/data.py _pattern_placeholders   8 0 0   100%
scanpath_studio/data.py resolve_stimulus_image_paths   30 1 0   97%
scanpath_studio/data.py resolve_stimulus_image_paths._Row.__missing__   1 0 0   100%
scanpath_studio/data.py resolve_stimulus_image_paths._resolved   12 0 0   100%
scanpath_studio/data.py load_sample_data   6 2 0   67%
scanpath_studio/data.py load_sample_raw_gaze   1 0 0   100%
scanpath_studio/data.py infer_raw_gaze_schema   6 0 0   100%
scanpath_studio/data.py normalize_raw_gaze   38 2 0   95%
scanpath_studio/data.py infer_word_schema   6 0 0   100%
scanpath_studio/data.py infer_fix_schema   6 0 0   100%
scanpath_studio/data.py timestamps_synthesized   3 0 0   100%
scanpath_studio/data.py user_columns   1 0 0   100%
scanpath_studio/data.py drop_internal_columns   2 0 0   100%
scanpath_studio/data.py shareable_frame   3 0 0   100%
scanpath_studio/data.py _count   1 0 0   100%
scanpath_studio/data.py StimulusJoin.matched   1 0 0   100%
scanpath_studio/data.py StimulusJoin.unmatched   1 0 0   100%
scanpath_studio/data.py StimulusJoin.needs_warning   1 0 0   100%
scanpath_studio/data.py StimulusJoin.key   5 0 0   100%
scanpath_studio/data.py StimulusJoin.label   3 0 0   100%
scanpath_studio/data.py StimulusJoin._unit   1 0 0   100%
scanpath_studio/data.py StimulusJoin._why_unmatched   19 1 0   95%
scanpath_studio/data.py StimulusJoin._mismatch_note   8 0 0   100%
scanpath_studio/data.py StimulusJoin.describe   7 1 0   86%
scanpath_studio/data.py StimulusJoin.problem   4 0 0   100%
scanpath_studio/data.py _as_key   1 0 0   100%
scanpath_studio/data.py _text_is_fallback   8 1 0   88%
scanpath_studio/data.py _lookup   3 0 0   100%
scanpath_studio/data.py _plan_stimulus_join   55 1 0   98%
scanpath_studio/data.py _plan_stimulus_join.by_trial_routes   5 0 0   100%
scanpath_studio/data.py plan_stimulus_join   3 0 0   100%
scanpath_studio/data.py _broadcast_stimulus_words   25 0 0   100%
scanpath_studio/data.py broadcast_stimulus_words   1 0 0   100%
scanpath_studio/data.py repair_stranded_stimulus_words   11 4 0   64%
scanpath_studio/data.py fill_fixation_xy_from_words   18 0 0   100%
scanpath_studio/data.py _reconcile_participant_asymmetry   13 0 0   100%
scanpath_studio/data.py _key_frame   3 0 0   100%
scanpath_studio/data.py detect_word_id_offset   31 2 0   94%
scanpath_studio/data.py correct_word_id_offset   8 0 0   100%
scanpath_studio/data.py _pad_ids   11 1 0   91%
scanpath_studio/data.py _restore_zero_padding   24 0 0   100%
scanpath_studio/data.py harmonize_frames_with_join   2 0 0   100%
scanpath_studio/data.py harmonize_frames_reporting   23 0 0   100%
scanpath_studio/data.py harmonize_frames   2 0 0   100%
scanpath_studio/data.py _disambiguate_repeated_readings   12 0 0   100%
scanpath_studio/data.py has_explicit_trial_index   1 0 0   100%
scanpath_studio/data.py trial_order_label   6 1 0   83%
scanpath_studio/data.py derive_trial_index   13 2 0   85%
scanpath_studio/data.py _schema_source_columns   8 0 0   100%
scanpath_studio/data.py dropped_columns   5 0 0   100%
scanpath_studio/data.py coerce_flag   12 0 0   100%
scanpath_studio/data.py coerce_bool_or_na   16 1 0   94%
scanpath_studio/data.py coerce_measure_flag   6 0 0   100%
scanpath_studio/data.py _apply_optional_fields   18 0 0   100%
scanpath_studio/data.py _carry_extra_columns   5 0 0   100%
scanpath_studio/data.py categorize_columns   11 0 0   100%
scanpath_studio/data.py compute_keep_columns   7 0 0   100%
scanpath_studio/data.py _copy_screen_fields   10 0 0   100%
scanpath_studio/data.py _text_id_mapped_flag   6 1 0   83%
scanpath_studio/data.py _drop_reserved_columns   6 0 0   100%
scanpath_studio/data.py normalize_words   60 0 0   100%
scanpath_studio/data.py normalize_fixations   65 0 0   100%
scanpath_studio/data.py empty_words_frame   1 0 0   100%
scanpath_studio/data.py empty_fixations_frame   1 0 0   100%
scanpath_studio/data.py repeat_bases   17 1 0   94%
scanpath_studio/data.py _map_repeats   7 1 0   86%
scanpath_studio/data.py _synthesized_timestamps   6 0 0   100%
scanpath_studio/data.py remap_normalized_frame   34 1 0   97%
scanpath_studio/data.py _union_column_values   5 0 0   100%
scanpath_studio/data.py filter_data   24 3 0   88%
scanpath_studio/data.py filter_trials   30 2 0   93%
scanpath_studio/data.py trial_keys   6 0 0   100%
scanpath_studio/data.py text_ids   7 0 0   100%
scanpath_studio/data.py filter_frame_to_keys   6 0 0   100%
scanpath_studio/data.py filter_to_keys   1 0 0   100%
scanpath_studio/data.py raw_gaze_in_pool   9 1 0   89%
scanpath_studio/data.py raw_gaze_in_pool._build   5 0 0   100%
scanpath_studio/data.py _raw_gaze_trial_keys   2 0 0   100%
scanpath_studio/data.py _known_trial_keys   2 0 0   100%
scanpath_studio/data.py trial_identity_key   4 0 0   100%
scanpath_studio/data.py _sample_trials   10 0 0   100%
scanpath_studio/data.py diagnose_trial_identity   64 3 0   95%
scanpath_studio/data.py diagnose_trial_identity._keys_of   2 0 0   100%
scanpath_studio/data.py _mixed_source_shapes   4 0 0   100%
scanpath_studio/data.py _as_tuple   1 0 0   100%
scanpath_studio/data.py trial_identity_warning   21 1 0   95%
scanpath_studio/data.py count_trials   8 0 0   100%
scanpath_studio/data.py diagnose_filters   9 0 0   100%
scanpath_studio/data.py filter_raw_gaze   4 0 0   100%
scanpath_studio/data.py compute_canvas_size   17 0 0   100%
scanpath_studio/data.py compute_canvas_size.extent   7 1 0   86%
scanpath_studio/data.py canvas_geometry_frames   23 0 0   100%
scanpath_studio/data.py canvas_geometry_frames.column   4 0 0   100%
scanpath_studio/data.py compute_word_metrics   1 0 0   100%
scanpath_studio/data.py preprocess_fixation_stage   6 1 0   83%
scanpath_studio/data.py _preprocess_fixation_stage_cached   4 0 0   100%
scanpath_studio/data.py _compute_word_metrics_cached   18 0 0   100%
scanpath_studio/data.py default_filters   1 0 0   100%
scanpath_studio/data.py _default_filters_cached   9 0 0   100%
scanpath_studio/data.py (no function)   408 0 0   100%
scanpath_studio/data_health.py HealthFinding.to_record   1 0 0   100%
scanpath_studio/data_health.py _number   1 0 0   100%
scanpath_studio/data_health.py _duration_masks   2 0 0   100%
scanpath_studio/data_health.py _timing_masks   2 0 0   100%
scanpath_studio/data_health.py _canvas_masks   3 0 0   100%
scanpath_studio/data_health.py _position_masks   3 0 0   100%
scanpath_studio/data_health.py _box_masks   3 0 0   100%
scanpath_studio/data_health.py _examples   3 0 0   100%
scanpath_studio/data_health.py check_data_health   21 0 0   100%
scanpath_studio/data_health.py findings_frame   2 0 0   100%
scanpath_studio/data_health.py (no function)   41 0 0   100%
scanpath_studio/dataset_table.py format_count   1 0 0   100%
scanpath_studio/dataset_table.py DatasetRow.value   2 0 0   100%
scanpath_studio/dataset_table.py DatasetRow.gap   9 0 0   100%
scanpath_studio/dataset_table.py DatasetRow.gap_explanation   4 1 0   75%
scanpath_studio/dataset_table.py DatasetRow.cell   2 0 0   100%
scanpath_studio/dataset_table.py DatasetRow.status_label   1 0 0   100%
scanpath_studio/dataset_table.py _text_key   9 2 0   78%
scanpath_studio/dataset_table.py sort_key   3 0 0   100%
scanpath_studio/dataset_table.py default_descending   1 0 0   100%
scanpath_studio/dataset_table.py sort_rows   7 0 0   100%
scanpath_studio/dataset_table.py next_sort   6 0 0   100%
scanpath_studio/dataset_table.py filter_rows   2 0 0   100%
scanpath_studio/dataset_table.py row_record   8 0 0   100%
scanpath_studio/dataset_table.py (no function)   47 0 0   100%
scanpath_studio/datasets.py OsfFile.url   1 0 0   100%
scanpath_studio/datasets.py _check_download_size   2 0 0   100%
scanpath_studio/datasets.py _read_potec_tsv   1 0 0   100%
scanpath_studio/datasets.py _content_length   2 0 0   100%
scanpath_studio/datasets.py _read_body   11 0 0   100%
scanpath_studio/datasets.py _open_url   2 0 0   100%
scanpath_studio/datasets.py _fetch_bytes   4 0 0   100%
scanpath_studio/datasets.py _fetch_to_file   9 0 0   100%
scanpath_studio/datasets.py download_potec   36 12 0   67%
scanpath_studio/datasets.py potec_present   7 0 0   100%
scanpath_studio/datasets.py _potec_words   12 0 0   100%
scanpath_studio/datasets.py _read_potec_ias   4 1 0   75%
scanpath_studio/datasets.py _potec_fixations   26 2 0   92%
scanpath_studio/datasets.py potec_raw_frames   8 1 0   88%
scanpath_studio/datasets.py load_potec   3 0 0   100%
scanpath_studio/datasets.py onestop_regime_parts   4 0 0   100%
scanpath_studio/datasets.py _keep_onestop_regime   6 0 0   100%
scanpath_studio/datasets.py _onestop_osf_resource   3 1 0   67%
scanpath_studio/datasets.py _onestop_report_path   3 0 0   100%
scanpath_studio/datasets.py _onestop_lacclab_report_path   1 0 0   100%
scanpath_studio/datasets.py _onestop_part_paths   3 0 0   100%
scanpath_studio/datasets.py _normalize_onestop_parts   7 0 0   100%
scanpath_studio/datasets.py onestop_present   6 0 0   100%
scanpath_studio/datasets.py download_onestop   22 2 0   91%
scanpath_studio/datasets.py _compose_onestop_ids   15 0 0   100%
scanpath_studio/datasets.py _join_ids   6 0 0   100%
scanpath_studio/datasets.py _read_onestop_part   12 0 0   100%
scanpath_studio/datasets.py _onestop_parts_as_screens   12 0 0   100%
scanpath_studio/datasets.py _onestop_parts_as_screens._stamp   7 1 0   86%
scanpath_studio/datasets.py onestop_raw_frames   20 0 0   100%
scanpath_studio/datasets.py _onestop_drop_unmatched_screens   13 1 0   92%
scanpath_studio/datasets.py load_onestop   3 0 0   100%
scanpath_studio/datasets.py _multipleye_screen_kind   6 0 0   100%
scanpath_studio/datasets.py _multipleye_page_number   2 0 0   100%
scanpath_studio/datasets.py _multipleye_question_parts   4 0 0   100%
scanpath_studio/datasets.py _multipleye_question_screen_id   1 0 0   100%
scanpath_studio/datasets.py _multipleye_bare_pid   2 0 0   100%
scanpath_studio/datasets.py _multipleye_parse_filename   2 0 0   100%
scanpath_studio/datasets.py _multipleye_aoi_dir   4 1 0   75%
scanpath_studio/datasets.py _multipleye_config_path   1 0 0   100%
scanpath_studio/datasets.py _multipleye_font_css   9 0 0   100%
scanpath_studio/datasets.py _multipleye_font_config   14 3 0   79%
scanpath_studio/datasets.py _multipleye_char_boxes   10 0 0   100%
scanpath_studio/datasets.py _multipleye_stamp_box_identity   5 0 0   100%
scanpath_studio/datasets.py _multipleye_word_boxes_from_frame   8 2 0   75%
scanpath_studio/datasets.py _multipleye_word_boxes   7 0 0   100%
scanpath_studio/datasets.py _multipleye_versions_path   1 0 0   100%
scanpath_studio/datasets.py _multipleye_layout_versions   8 1 0   88%
scanpath_studio/datasets.py _multipleye_read_layout_versions   8 2 0   75%
scanpath_studio/datasets.py _multipleye_question_block_order   5 0 0   100%
scanpath_studio/datasets.py _multipleye_question_boxes_from_frame   30 3 0   90%
scanpath_studio/datasets.py _stamp_multipleye_fixations   27 0 0   100%
scanpath_studio/datasets.py _multipleye_fixations   30 2 0   93%
scanpath_studio/datasets.py _multipleye_fixations._wanted   6 1 0   83%
scanpath_studio/datasets.py _multipleye_screen_order   7 0 0   100%
scanpath_studio/datasets.py multipleye_word_schema   1 0 0   100%
scanpath_studio/datasets.py _multipleye_questions_path   1 0 0   100%
scanpath_studio/datasets.py _multipleye_image_dir   5 0 0   100%
scanpath_studio/datasets.py _multipleye_question_image_dir   5 0 0   100%
scanpath_studio/datasets.py _multipleye_questions_from_frame   13 0 0   100%
scanpath_studio/datasets.py _multipleye_questions_by_stimulus   5 0 0   100%
scanpath_studio/datasets.py _normalize_multipleye_participant_meta   7 0 0   100%
scanpath_studio/datasets.py _multipleye_participant_meta   2 0 0   100%
scanpath_studio/datasets.py _merge_multipleye_participant_meta   7 0 0   100%
scanpath_studio/datasets.py _multipleye_read_reading_measures   27 2 0   93%
scanpath_studio/datasets.py _multipleye_words_per_reader   9 1 0   89%
scanpath_studio/datasets.py _multipleye_question_word_boxes   30 4 0   87%
scanpath_studio/datasets.py _multipleye_question_aoi_frame   4 0 0   100%
scanpath_studio/datasets.py _multipleye_drop_screens_without_boxes   14 1 0   93%
scanpath_studio/datasets.py _multipleye_apply_screen_order   13 0 0   100%
scanpath_studio/datasets.py _multipleye_stamp_questions   5 0 0   100%
scanpath_studio/datasets.py _multipleye_stamp_image_path   12 1 0   92%
scanpath_studio/datasets.py _multipleye_stamp_question_image_path   26 1 0   96%
scanpath_studio/datasets.py _multipleye_stamp_font   7 0 0   100%
scanpath_studio/datasets.py multipleye_inventory   15 1 0   93%
scanpath_studio/datasets.py multipleye_raw_frames   43 4 0   91%
scanpath_studio/datasets.py load_multipleye   3 0 0   100%
scanpath_studio/datasets.py multipleye_bundle_dir   5 0 0   100%
scanpath_studio/datasets.py _resolve_multipleye_session   3 3 0   0%
scanpath_studio/datasets.py load_multipleye_server_bundle   10 10 0   0%
scanpath_studio/datasets.py _multipleye_aoi_stimulus_from_source   5 1 0   80%
scanpath_studio/datasets.py _multipleye_is_versions_upload   3 0 0   100%
scanpath_studio/datasets.py _multipleye_fixations_from_frame   21 1 0   95%
scanpath_studio/datasets.py multipleye_frames_from_uploads   37 0 0   100%
scanpath_studio/datasets.py load_multipleye_uploads   3 0 0   100%
scanpath_studio/datasets.py (no function)   150 0 0   100%
scanpath_studio/debug_log.py timed   8 0 1   100%
scanpath_studio/debug_log.py log_event   2 0 0   100%
scanpath_studio/debug_log.py log_state_change   5 0 0   100%
scanpath_studio/debug_log.py _buffer   5 0 0   100%
scanpath_studio/debug_log.py _AppRecordsOnly.filter   1 0 0   100%
scanpath_studio/debug_log.py _SessionStateHandler.emit   14 0 0   100%
scanpath_studio/debug_log.py install_log_capture   15 0 0   100%
scanpath_studio/debug_log.py seed_debug_mode   2 0 0   100%
scanpath_studio/debug_log.py debug_enabled   1 0 0   100%
scanpath_studio/debug_log.py _mirror_debug_toggle   1 0 0   100%
scanpath_studio/debug_log.py render_debug_toggle   2 0 0   100%
scanpath_studio/debug_log.py _state_snapshot   12 0 0   100%
scanpath_studio/debug_log.py _state_snapshot.add   2 0 0   100%
scanpath_studio/debug_log.py render_debug_panel   32 3 0   91%
scanpath_studio/debug_log.py _arm_debug   1 0 0   100%
scanpath_studio/debug_log.py maybe_show_debug   2 0 0   100%
scanpath_studio/debug_log.py _debug_dialog   3 0 0   100%
scanpath_studio/debug_log.py _escape   1 0 0   100%
scanpath_studio/debug_log.py (no function)   44 0 0   100%
scanpath_studio/desktop_update.py _system   2 0 0   100%
scanpath_studio/desktop_update.py update_archive   2 0 0   100%
scanpath_studio/desktop_update.py executable_in   3 0 0   100%
scanpath_studio/desktop_update.py install_at   11 0 0   100%
scanpath_studio/desktop_update.py current_install   3 1 0   67%
scanpath_studio/desktop_update.py _user_state_dir   8 0 0   100%
scanpath_studio/desktop_update.py _device   6 1 0   83%
scanpath_studio/desktop_update.py state_dir   5 0 0   100%
scanpath_studio/desktop_update.py asset_for   4 1 0   75%
scanpath_studio/desktop_update.py _read_json   5 0 0   100%
scanpath_studio/desktop_update.py _write_json   3 0 0   100%
scanpath_studio/desktop_update.py _run   7 0 0   100%
scanpath_studio/desktop_update.py team_id   8 2 0   75%
scanpath_studio/desktop_update.py _pending   10 2 0   80%
scanpath_studio/desktop_update.py _nearest_existing   4 1 0   75%
scanpath_studio/desktop_update.py _can_write   7 0 0   100%
scanpath_studio/desktop_update.py _not_ours   10 2 0   80%
scanpath_studio/desktop_update.py _not_ours_reason   1 0 0   100%
scanpath_studio/desktop_update.py refusal   35 4 0   89%
scanpath_studio/desktop_update.py child_env   9 1 0   89%
scanpath_studio/desktop_update.py feed_release   5 0 0   100%
scanpath_studio/desktop_update.py _allowed   1 0 0   100%
scanpath_studio/desktop_update.py download   56 5 0   91%
scanpath_studio/desktop_update.py download.unsaved   1 0 0   100%
scanpath_studio/desktop_update.py download.stopped   1 1 0   0%
scanpath_studio/desktop_update.py _stage_dmg   13 3 0   77%
scanpath_studio/desktop_update.py verify_signature   5 0 0   100%
scanpath_studio/desktop_update.py stage   19 0 0   100%
scanpath_studio/desktop_update.py self_test   3 0 0   100%
scanpath_studio/desktop_update.py _Lock.__init__   2 0 0   100%
scanpath_studio/desktop_update.py _Lock.release   15 5 0   67%
scanpath_studio/desktop_update.py _Lock.__del__   1 0 0   100%
scanpath_studio/desktop_update.py _lock   28 16 0   43%
scanpath_studio/desktop_update.py _make_state   7 1 0   86%
scanpath_studio/desktop_update.py relaunch_command   5 0 0   100%
scanpath_studio/desktop_update.py _ps_quote   1 0 0   100%
scanpath_studio/desktop_update.py helper_script   10 0 0   100%
scanpath_studio/desktop_update.py _is_open   1 0 0   100%
scanpath_studio/desktop_update.py _powershell   1 0 0   100%
scanpath_studio/desktop_update.py helper_command   5 0 0   100%
scanpath_studio/desktop_update.py start_swap   4 0 0   100%
scanpath_studio/desktop_update.py _start_swap   33 0 0   100%
scanpath_studio/desktop_update.py _abandon   5 2 0   60%
scanpath_studio/desktop_update.py _helper_started   10 0 0   100%
scanpath_studio/desktop_update.py clear_attempt   4 0 0   100%
scanpath_studio/desktop_update.py _same_root   8 3 0   62%
scanpath_studio/desktop_update.py _ours   2 0 0   100%
scanpath_studio/desktop_update.py note_start   9 1 0   89%
scanpath_studio/desktop_update.py note_boot   17 2 0   88%
scanpath_studio/desktop_update.py last_result   13 1 0   92%
scanpath_studio/desktop_update.py exit_soon   3 3 0   0%
scanpath_studio/desktop_update.py _short_reason   8 1 0   88%
scanpath_studio/desktop_update.py prepare   29 1 0   97%
scanpath_studio/desktop_update.py prepare.step   3 0 0   100%
scanpath_studio/desktop_update.py (no function)   141 0 0   100%
scanpath_studio/easter_egg.py egg_script   3 0 0   100%
scanpath_studio/easter_egg.py egg_suppressed   4 0 0   100%
scanpath_studio/easter_egg.py render_easter_egg   3 0 0   100%
scanpath_studio/easter_egg.py (no function)   14 0 0   100%
scanpath_studio/experimental_setup.py dpi_from_width   3 0 0   100%
scanpath_studio/experimental_setup.py font_pt_to_px   3 0 0   100%
scanpath_studio/experimental_setup.py pixels_per_degree   5 0 0   100%
scanpath_studio/experimental_setup.py SetupSnapshot.provenance   1 0 0   100%
scanpath_studio/experimental_setup.py SetupSnapshot.dpi   6 2 0   67%
scanpath_studio/experimental_setup.py SetupSnapshot.px_per_degree   6 2 0   67%
scanpath_studio/experimental_setup.py SetupSnapshot.canvas   1 0 0   100%
scanpath_studio/experimental_setup.py SetupSnapshot.stimulus_font_px   7 2 0   71%
scanpath_studio/experimental_setup.py SetupSnapshot.is_answered   1 0 0   100%
scanpath_studio/experimental_setup.py SetupSnapshot.to_dict   1 0 0   100%
scanpath_studio/experimental_setup.py SetupSnapshot.from_dict   13 0 0   100%
scanpath_studio/experimental_setup.py SetupSnapshot.from_dict._num   10 1 0   90%
scanpath_studio/experimental_setup.py _coerce_provenance   8 2 0   75%
scanpath_studio/experimental_setup.py IncomparableScreensError.__init__   2 0 0   100%
scanpath_studio/experimental_setup.py setups_comparable   7 0 0   100%
scanpath_studio/experimental_setup.py format_provenance_param   1 0 0   100%
scanpath_studio/experimental_setup.py parse_provenance_param   12 0 0   100%
scanpath_studio/experimental_setup.py (no function)   61 0 0   100%
scanpath_studio/export.py _local_stamp   3 0 0   100%
scanpath_studio/export.py print_width_px   11 1 0   91%
scanpath_studio/export.py print_scale   1 0 0   100%
scanpath_studio/export.py png_save_kwargs   3 0 0   100%
scanpath_studio/export.py set_png_dpi   4 0 0   100%
scanpath_studio/export.py ExportOptions.any_table   1 0 0   100%
scanpath_studio/export.py ExportOptions.table_formats   3 0 0   100%
scanpath_studio/export.py ExportOptions.figure_formats   10 0 0   100%
scanpath_studio/export.py ExportOptions.raster_formats   1 0 0   100%
scanpath_studio/export.py ExportOptions.layer_formats   3 0 0   100%
scanpath_studio/export.py ExportOptions.needs_figure   1 0 0   100%
scanpath_studio/export.py ExportOptions.needs_kaleido   1 0 0   100%
scanpath_studio/export.py html_plotlyjs   1 0 0   100%
scanpath_studio/export.py missing_browser_note   6 0 0   100%
scanpath_studio/export.py summarize_export   15 0 0   100%
scanpath_studio/export.py summarize_export.plural   1 0 0   100%
scanpath_studio/export.py _safe_id   1 0 0   100%
scanpath_studio/export.py _settings_summary   9 1 0   89%
scanpath_studio/export.py _saved_table_fields   18 3 0   83%
scanpath_studio/export.py table_pattern_fields   9 0 0   100%
scanpath_studio/export.py pattern_fields   14 0 0   100%
scanpath_studio/export.py pattern_error   5 0 0   100%
scanpath_studio/export.py path_structure_error   14 0 0   100%
scanpath_studio/export.py _path_component   2 0 0   100%
scanpath_studio/export.py render_pattern   2 0 0   100%
scanpath_studio/export.py render_pattern._sub   10 0 0   100%
scanpath_studio/export.py resolve_export_path   12 1 0   92%
scanpath_studio/export.py annotate_figure   17 0 0   100%
scanpath_studio/export.py strip_local_paths   8 0 0   100%
scanpath_studio/export.py _write_table   9 0 0   100%
scanpath_studio/export.py _figure_renderer   19 2 2   89%
scanpath_studio/export.py _figure_renderer.render   4 1 0   75%
scanpath_studio/export.py render_static_figure_bytes   17 1 0   94%
scanpath_studio/export.py _drift_corrected_for_figure   9 0 0   100%
scanpath_studio/export.py _plot_config_dict   4 0 0   100%
scanpath_studio/export.py _setup_section   4 0 2   100%
scanpath_studio/export.py _render_scope_picker   31 10 0   68%
scanpath_studio/export.py _preview_fields   7 0 0   100%
scanpath_studio/export.py _prune_stale_fields   8 0 0   100%
scanpath_studio/export.py _render_metadata_field_picker   12 0 0   100%
scanpath_studio/export.py _render_trial_metadata_field_picker   12 0 0   100%
scanpath_studio/export.py _render_text_metadata_field_picker   12 0 0   100%
scanpath_studio/export.py _render_naming_options   10 0 0   100%
scanpath_studio/export.py _render_naming_options._pattern_input   6 2 0   67%
scanpath_studio/export.py render_export_options   41 2 0   95%
scanpath_studio/export.py _render_screen_picker   10 1 0   90%
scanpath_studio/export.py _session_dataset_name   5 2 0   60%
scanpath_studio/export.py _scope_frame   10 5 0   50%
scanpath_studio/export.py _apply_scope   1 0 0   100%
scanpath_studio/export.py ComparisonSide.slug   1 0 0   100%
scanpath_studio/export.py ComparisonSide.stamped   12 2 0   83%
scanpath_studio/export.py ComparisonSide.manifest   1 0 0   100%
scanpath_studio/export.py pair_export   32 1 0   97%
scanpath_studio/export.py _selected_metadata_columns   7 0 0   100%
scanpath_studio/export.py _selected_trial_metadata_columns   7 5 0   29%
scanpath_studio/export.py _selected_text_metadata_columns   7 1 0   86%
scanpath_studio/export.py _rows_in_scope   18 3 0   83%
scanpath_studio/export.py _unit_text_ids   11 0 0   100%
scanpath_studio/export.py _session_text_metadata   5 2 0   60%
scanpath_studio/export.py _session_trial_metadata   5 2 0   60%
scanpath_studio/export.py _session_participant_metadata   5 2 0   60%
scanpath_studio/export.py _write_inventory   2 0 0   100%
scanpath_studio/export.py screen_choices   11 1 0   91%
scanpath_studio/export.py export_units   20 1 0   95%
scanpath_studio/export.py apply_export_scope   1 0 0   100%
scanpath_studio/export.py plan_export   3 0 0   100%
scanpath_studio/export.py count_export_units   3 0 0   100%
scanpath_studio/export.py count_export   7 0 0   100%
scanpath_studio/export.py _keep_unit_trials   5 1 0   80%
scanpath_studio/export.py plan_from_counts   1 0 0   100%
scanpath_studio/export.py describe_plan   12 0 0   100%
scanpath_studio/export.py describe_plan.plural   1 0 0   100%
scanpath_studio/export.py _package_version   2 0 0   100%
scanpath_studio/export.py _plural   1 0 0   100%
scanpath_studio/export.py _scope_lines   16 2 0   88%
scanpath_studio/export.py bulk_export   226 2 0   99%
scanpath_studio/export.py bulk_export.names_for   4 0 0   100%
scanpath_studio/export.py bulk_export._inventory   1 0 0   100%
scanpath_studio/export.py bulk_export._path   3 0 0   100%
scanpath_studio/export.py (no function)   177 0 0   100%
scanpath_studio/export_status.py ExportStatus.fraction   3 0 0   100%
scanpath_studio/export_status.py ExportStatus.rate_per_s   3 0 0   100%
scanpath_studio/export_status.py ExportStatus.remaining_s   4 0 0   100%
scanpath_studio/export_status.py format_duration   12 1 0   92%
scanpath_studio/export_status.py progress_caption   11 1 0   91%
scanpath_studio/export_status.py emit_status   10 1 0   90%
scanpath_studio/export_status.py export_signature   10 2 0   80%
scanpath_studio/export_status.py (no function)   35 0 0   100%
scanpath_studio/eyegenbench.py _manifest_path   1 0 0   100%
scanpath_studio/eyegenbench.py eyegenbench_manifest   4 0 0   100%
scanpath_studio/eyegenbench.py eyegenbench_datasets   1 0 0   100%
scanpath_studio/eyegenbench.py entry_name   3 1 0   67%
scanpath_studio/eyegenbench.py entry_count   9 1 0   89%
scanpath_studio/eyegenbench.py _find_entry   4 0 0   100%
scanpath_studio/eyegenbench.py eyegenbench_present   13 2 0   85%
scanpath_studio/eyegenbench.py declared_monitor   9 3 0   67%
scanpath_studio/eyegenbench.py eyegenbench_monitor   4 1 0   75%
scanpath_studio/eyegenbench.py _dataset_dir   6 0 0   100%
scanpath_studio/eyegenbench.py eyegenbench_raw_frames   7 0 0   100%
scanpath_studio/eyegenbench.py load_eyegenbench   3 0 0   100%
scanpath_studio/eyegenbench.py load_eyegenbench_participants   1 1 0   0%
scanpath_studio/eyegenbench.py (no function)   22 0 0   100%
scanpath_studio/eyegenbench_geometry.py layout_words   14 0 0   100%
scanpath_studio/eyegenbench_geometry.py _spec   6 0 0   100%
scanpath_studio/eyegenbench_geometry.py display_spec_for   1 0 0   100%
scanpath_studio/eyegenbench_geometry.py parse_ia_data   7 0 0   100%
scanpath_studio/eyegenbench_geometry.py extract_eyelink_boxes   7 0 0   100%
scanpath_studio/eyegenbench_geometry.py extract_text_df_boxes   10 0 0   100%
scanpath_studio/eyegenbench_geometry.py _valid_ia_index   4 0 0   100%
scanpath_studio/eyegenbench_geometry.py fill_missing_boxes   63 5 0   92%
scanpath_studio/eyegenbench_geometry.py _paragraphs_with_real_boxes   4 0 0   100%
scanpath_studio/eyegenbench_geometry.py resolve_geometry   32 0 0   100%
scanpath_studio/eyegenbench_geometry.py place_fixations   23 1 0   96%
scanpath_studio/eyegenbench_geometry.py (no function)   32 0 0   100%
scanpath_studio/fields.py plain   1 0 0   100%
scanpath_studio/fields.py tooltip   2 0 0   100%
scanpath_studio/fields.py row_label   7 0 0   100%
scanpath_studio/fields.py labeled   5 0 0   100%
scanpath_studio/fields.py accessible_name   1 0 0   100%
scanpath_studio/fields.py panel_field   2 0 0   100%
scanpath_studio/fields.py (no function)   16 0 0   100%
scanpath_studio/html_embed.py embed_html_iframe   4 0 0   100%
scanpath_studio/html_embed.py plotlyjs_dir   1 0 0   100%
scanpath_studio/html_embed.py plotlyjs_src   2 0 0   100%
scanpath_studio/html_embed.py plotlyjs_script   1 0 0   100%
scanpath_studio/html_embed.py (no function)   13 0 0   100%
scanpath_studio/illustration.py illustration_reasons   24 2 0   92%
scanpath_studio/illustration.py resolve_label_reasons   5 0 0   100%
scanpath_studio/illustration.py (no function)   7 0 0   100%
scanpath_studio/loading.py _esc   1 0 0   100%
scanpath_studio/loading.py format_elapsed   6 0 0   100%
scanpath_studio/loading.py _megabytes   1 0 0   100%
scanpath_studio/loading.py format_count   10 0 0   100%
scanpath_studio/loading.py head_html   8 0 0   100%
scanpath_studio/loading.py detail_html   11 0 0   100%
scanpath_studio/loading.py steps_html   9 0 0   100%
scanpath_studio/loading.py bar_html   4 0 0   100%
scanpath_studio/loading.py size_box_html   3 0 0   100%
scanpath_studio/loading.py selector_row_tracks   1 0 0   100%
scanpath_studio/loading.py _scanpath_skeleton   5 0 0   100%
scanpath_studio/loading.py skeleton_html   6 0 0   100%
scanpath_studio/loading.py estimate_plot_size   7 0 0   100%
scanpath_studio/loading.py _session   4 2 0   50%
scanpath_studio/loading.py record_plot_size   4 0 0   100%
scanpath_studio/loading.py plot_size   4 0 0   100%
scanpath_studio/loading.py recorded_plot_height   2 0 0   100%
scanpath_studio/loading.py session_id   2 0 0   100%
scanpath_studio/loading.py _run   4 0 0   100%
scanpath_studio/loading.py _Ticker.__init__   7 0 0   100%
scanpath_studio/loading.py _Ticker.run   14 5 0   64%
scanpath_studio/loading.py _Ticker.halt   1 0 0   100%
scanpath_studio/loading.py _clear_off_thread   5 0 0   100%
scanpath_studio/loading.py _clear_off_thread._clear   4 2 0   50%
scanpath_studio/loading.py Card.__init__   22 0 0   100%
scanpath_studio/loading.py Card.steps   1 0 0   100%
scanpath_studio/loading.py Card.revealed   1 0 0   100%
scanpath_studio/loading.py Card.was_seen   5 0 0   100%
scanpath_studio/loading.py Card.task   1 0 0   100%
scanpath_studio/loading.py Card.open   26 0 0   100%
scanpath_studio/loading.py Card._paint   7 0 0   100%
scanpath_studio/loading.py Card._show   6 0 0   100%
scanpath_studio/loading.py Card._show_by_timer   2 0 0   100%
scanpath_studio/loading.py Card._has_worked   1 0 0   100%
scanpath_studio/loading.py Card._arm   4 0 0   100%
scanpath_studio/loading.py Card._halt   4 0 0   100%
scanpath_studio/loading.py Card.step   5 1 0   80%
scanpath_studio/loading.py Card.finish   6 0 0   100%
scanpath_studio/loading.py Card._retire   2 0 0   100%
scanpath_studio/loading.py Card.close   18 0 0   100%
scanpath_studio/loading.py Page.__init__   6 0 0   100%
scanpath_studio/loading.py Page.open_card   2 0 0   100%
scanpath_studio/loading.py Page.release   14 1 0   93%
scanpath_studio/loading.py page   1 0 0   100%
scanpath_studio/loading.py release_page   3 0 0   100%
scanpath_studio/loading.py card   15 0 0   100%
scanpath_studio/loading.py run_scope   22 0 0   100%
scanpath_studio/loading.py covered   2 0 0   100%
scanpath_studio/loading.py spinner   3 0 0   100%
scanpath_studio/loading.py (no function)   93 0 0   100%
scanpath_studio/measures.py _assign_word_ids_single   7 0 0   100%
scanpath_studio/measures.py _sample_trial_words   8 0 0   100%
scanpath_studio/measures.py word_box_space_px   27 1 0   96%
scanpath_studio/measures.py word_box_bounds   8 0 0   100%
scanpath_studio/measures.py word_box_contains   1 0 0   100%
scanpath_studio/measures.py word_char_advance   6 1 0   83%
scanpath_studio/measures.py word_char_counts   1 0 0   100%
scanpath_studio/measures.py word_glyph_span   10 3 0   70%
scanpath_studio/measures.py assign_fixations_to_words   25 3 0   88%
scanpath_studio/measures.py materialize_runs   43 2 0   95%
scanpath_studio/measures.py enrich_fixations   20 1 0   95%
scanpath_studio/measures.py classify_saccades   32 4 0   88%
scanpath_studio/measures.py rebased_fixation_onsets   15 1 0   93%
scanpath_studio/measures.py _in_any_box   5 0 0   100%
scanpath_studio/measures.py cluster_word_lines   9 1 0   89%
scanpath_studio/measures.py _groupwise   16 3 0   81%
scanpath_studio/measures.py fixation_in_text_mask   6 2 0   67%
scanpath_studio/measures.py assign_fixation_lines   6 2 0   67%
scanpath_studio/measures.py assign_fixation_lines._nearest_line   10 0 0   100%
scanpath_studio/measures.py compute_per_word_measures   140 3 0   98%
scanpath_studio/measures.py (no function)   27 0 0   100%
scanpath_studio/menu.py close_open_popovers   2 0 0   100%
scanpath_studio/menu.py view_label   2 0 0   100%
scanpath_studio/menu.py _unused_page_body   0 0 9   100%
scanpath_studio/menu.py switch_to_view   3 0 0   100%
scanpath_studio/menu.py _arm_help_action   10 3 0   70%
scanpath_studio/menu.py render_nav   19 3 0   84%
scanpath_studio/menu.py render_top_menu   4 1 0   75%
scanpath_studio/menu.py (no function)   22 0 3   100%
scanpath_studio/metadata.py _with_data_candidates   7 0 0   100%
scanpath_studio/metadata.py MetadataField.is_numeric   1 0 0   100%
scanpath_studio/metadata.py MetadataField.is_categorical   1 0 0   100%
scanpath_studio/metadata.py JoinReport.is_clean   1 0 0   100%
scanpath_studio/metadata.py ParticipantMetadata.names   1 0 0   100%
scanpath_studio/metadata.py ParticipantMetadata.field   4 1 0   75%
scanpath_studio/metadata.py ParticipantMetadata.values_for   7 1 0   86%
scanpath_studio/metadata.py ParticipantMetadata.joined_frame   3 1 0   67%
scanpath_studio/metadata.py ParticipantMetadata.series   3 1 0   67%
scanpath_studio/metadata.py TrialMetadata.keyed_by_participant   1 0 0   100%
scanpath_studio/metadata.py TrialMetadata.key_columns   1 0 0   100%
scanpath_studio/metadata.py TrialMetadata.names   1 0 0   100%
scanpath_studio/metadata.py TrialMetadata.field   4 1 0   75%
scanpath_studio/metadata.py TrialMetadata.key_series   5 1 0   80%
scanpath_studio/metadata.py TrialMetadata.joined_frame   3 1 0   67%
scanpath_studio/metadata.py TrialMetadata.values_for   9 2 0   78%
scanpath_studio/metadata.py TextMetadata.names   1 0 0   100%
scanpath_studio/metadata.py TextMetadata.field   4 1 0   75%
scanpath_studio/metadata.py TextMetadata.values_for   7 1 0   86%
scanpath_studio/metadata.py TextMetadata.joined_frame   3 1 0   67%
scanpath_studio/metadata.py TextMetadata.series   3 1 0   67%
scanpath_studio/metadata.py _rows_with_ids   3 0 0   100%
scanpath_studio/metadata.py _merge_duplicates   23 0 0   100%
scanpath_studio/metadata.py _range_mask   8 0 0   100%
scanpath_studio/metadata.py _keeps_unlisted   1 0 0   100%
scanpath_studio/metadata.py numeric_extent   6 1 0   83%
scanpath_studio/metadata.py unknown_count   11 1 0   91%
scanpath_studio/metadata.py active_trials   5 2 0   60%
scanpath_studio/metadata.py trial_keys   6 0 0   100%
scanpath_studio/metadata.py infer_trial_id_column   8 0 0   100%
scanpath_studio/metadata.py _trial_column_label   1 0 0   100%
scanpath_studio/metadata.py build_trial_metadata   28 2 0   93%
scanpath_studio/metadata.py rejoin_trials   11 0 0   100%
scanpath_studio/metadata.py trials_matching   22 0 0   100%
scanpath_studio/metadata.py project_trials   15 3 0   80%
scanpath_studio/metadata.py trial_options_for   3 1 0   67%
scanpath_studio/metadata.py trial_bounds_for   9 2 0   78%
scanpath_studio/metadata.py trial_to_payload   3 0 0   100%
scanpath_studio/metadata.py trial_from_payload   8 1 0   88%
scanpath_studio/metadata.py active_texts   5 2 0   60%
scanpath_studio/metadata.py text_keys   3 0 0   100%
scanpath_studio/metadata.py infer_text_id_column   8 0 0   100%
scanpath_studio/metadata.py _text_column_label   1 0 0   100%
scanpath_studio/metadata.py build_text_metadata   26 0 0   100%
scanpath_studio/metadata.py texts_matching   16 0 0   100%
scanpath_studio/metadata.py project_texts   10 1 0   90%
scanpath_studio/metadata.py text_options_for   3 1 0   67%
scanpath_studio/metadata.py text_bounds_for   9 3 0   67%
scanpath_studio/metadata.py text_to_payload   3 0 0   100%
scanpath_studio/metadata.py text_from_payload   7 1 0   86%
scanpath_studio/metadata.py active   5 2 0   60%
scanpath_studio/metadata.py participant_ids   6 0 0   100%
scanpath_studio/metadata.py infer_participant_id_column   10 0 0   100%
scanpath_studio/metadata.py _classify   11 1 0   91%
scanpath_studio/metadata.py _coerce   7 1 0   86%
scanpath_studio/metadata.py field_label   1 0 0   100%
scanpath_studio/metadata.py build_participant_metadata   21 0 0   100%
scanpath_studio/metadata.py _match_padding   1 0 0   100%
scanpath_studio/metadata.py _respell_ids   3 0 0   100%
scanpath_studio/metadata.py rejoin   8 0 0   100%
scanpath_studio/metadata.py participants_matching   16 0 0   100%
scanpath_studio/metadata.py project   10 1 0   90%
scanpath_studio/metadata.py options_for   4 0 0   100%
scanpath_studio/metadata.py bounds_for   9 1 0   89%
scanpath_studio/metadata.py to_payload   3 0 0   100%
scanpath_studio/metadata.py from_payload   6 0 0   100%
scanpath_studio/metadata.py session_payloads   7 0 0   100%
scanpath_studio/metadata.py _in_column_order   9 0 0   100%
scanpath_studio/metadata.py session_signature   13 2 0   85%
scanpath_studio/metadata.py grain_keys   1 0 0   100%
scanpath_studio/metadata.py mark_restored   4 0 0   100%
scanpath_studio/metadata.py is_restored   1 0 0   100%
scanpath_studio/metadata.py restore_payloads   15 2 0   87%
scanpath_studio/metadata.py upload_key   6 0 0   100%
scanpath_studio/metadata.py reset_uploads   3 0 0   100%
scanpath_studio/metadata.py _widget_keys   1 0 0   100%
scanpath_studio/metadata.py clear_active   4 0 0   100%
scanpath_studio/metadata.py _store   2 0 0   100%
scanpath_studio/metadata.py _set_store   2 0 0   100%
scanpath_studio/metadata.py stash_active   13 2 0   85%
scanpath_studio/metadata.py activate_dataset   10 0 0   100%
scanpath_studio/metadata.py pattern_rows   21 5 0   76%
scanpath_studio/metadata.py attached_for   26 4 0   85%
scanpath_studio/metadata.py begin_pending_dataset   4 0 0   100%
scanpath_studio/metadata.py adopt_pending_dataset   2 0 0   100%
scanpath_studio/metadata.py forget_dataset   8 0 0   100%
scanpath_studio/metadata.py rename_dataset   6 1 0   83%
scanpath_studio/metadata.py dataset_payloads   9 1 0   89%
scanpath_studio/metadata.py store_signature   6 0 0   100%
scanpath_studio/metadata.py restore_dataset_payloads   19 2 0   89%
scanpath_studio/metadata.py (no function)   181 0 0   100%
scanpath_studio/model_scanpaths.py _seed   2 0 0   100%
scanpath_studio/model_scanpaths.py _empty_fix_frame   1 0 0   100%
scanpath_studio/model_scanpaths.py _ordered_word_rows   5 0 0   100%
scanpath_studio/model_scanpaths.py _walk_word_indices   19 1 0   95%
scanpath_studio/model_scanpaths.py generate_model_scanpath   36 2 0   94%
scanpath_studio/model_scanpaths.py generate_model_scanpaths   3 0 0   100%
scanpath_studio/model_scanpaths.py (no function)   28 0 0   100%
scanpath_studio/multipart.py has_screen_identity   1 0 0   100%
scanpath_studio/multipart.py grouping_columns   6 0 0   100%
scanpath_studio/multipart.py _parent_columns   4 0 0   100%
scanpath_studio/multipart.py normalize_screen_identity   39 0 0   100%
scanpath_studio/multipart.py _screens   1 0 0   100%
scanpath_studio/multipart.py part_catalog   21 0 0   100%
scanpath_studio/multipart.py validate_matching_parts   17 0 0   100%
scanpath_studio/multipart.py extract_part   8 0 0   100%
scanpath_studio/multipart.py _manifest_trials   6 1 0   83%
scanpath_studio/multipart.py apply_trial_parts_manifest   43 2 0   95%
scanpath_studio/multipart.py screen_canvas_size   11 0 0   100%
scanpath_studio/multipart.py (no function)   25 0 0   100%
scanpath_studio/persistence.py is_loopback_url   2 0 0   100%
scanpath_studio/persistence.py _is_loopback_host   7 0 0   100%
scanpath_studio/persistence.py server_bound_to_loopback   6 2 0   67%
scanpath_studio/persistence.py persistence_enabled   10 0 2   100%
scanpath_studio/persistence.py state_directory   5 0 0   100%
scanpath_studio/persistence.py _json_safe   12 6 0   50%
scanpath_studio/persistence.py _metadata_signature   2 0 0   100%
scanpath_studio/persistence.py _dataset_slug   1 0 0   100%
scanpath_studio/persistence.py _dataset_identity   9 0 0   100%
scanpath_studio/persistence.py _state_fingerprint   7 1 0   86%
scanpath_studio/persistence.py _atomic_parquet   9 1 0   89%
scanpath_studio/persistence.py _atomic_text   9 1 0   89%
scanpath_studio/persistence.py _manifest_for   31 1 0   97%
scanpath_studio/persistence.py _save_metadata   24 4 0   83%
scanpath_studio/persistence.py save_state   26 0 0   100%
scanpath_studio/persistence.py restore_state   5 0 0   100%
scanpath_studio/persistence.py _restore_manifest   54 7 0   87%
scanpath_studio/persistence.py _failure_reason   12 1 0   92%
scanpath_studio/persistence.py _frame_path   5 0 0   100%
scanpath_studio/persistence.py _read_dataset   7 0 0   100%
scanpath_studio/persistence.py _failed   2 0 0   100%
scanpath_studio/persistence.py _set_failed   3 0 0   100%
scanpath_studio/persistence.py failed_datasets   1 0 0   100%
scanpath_studio/persistence.py cache_failure   2 0 0   100%
scanpath_studio/persistence.py retry_failed_datasets   28 3 0   89%
scanpath_studio/persistence.py discard_failed_dataset   18 1 0   94%
scanpath_studio/persistence.py retry_cache_restore   4 0 0   100%
scanpath_studio/persistence.py _as_mapping   3 0 0   100%
scanpath_studio/persistence.py _restorable_session   44 2 0   95%
scanpath_studio/persistence.py _restore_metadata   10 0 0   100%
scanpath_studio/persistence.py _read_metadata_file   5 1 0   80%
scanpath_studio/persistence.py _metadata_failure_reason   5 0 0   100%
scanpath_studio/persistence.py failed_metadata   2 0 0   100%
scanpath_studio/persistence.py retry_failed_metadata   16 1 0   94%
scanpath_studio/persistence.py discard_failed_metadata   9 1 0   89%
scanpath_studio/persistence.py forget_state   14 2 0   86%
scanpath_studio/persistence.py _reslug_entry   2 0 0   100%
scanpath_studio/persistence.py rename_cached_dataset   35 1 0   97%
scanpath_studio/persistence.py restore_local_state   25 2 0   92%
scanpath_studio/persistence.py local_state_restored   1 0 0   100%
scanpath_studio/persistence.py _unlink_quietly   4 2 0   50%
scanpath_studio/persistence.py _finish_restore   3 0 0   100%
scanpath_studio/persistence.py consume_restore_skipped   1 0 0   100%
scanpath_studio/persistence.py restored_summary   2 0 0   100%
scanpath_studio/persistence.py session_was_restored   1 0 0   100%
scanpath_studio/persistence.py restored_from_cache   1 0 0   100%
scanpath_studio/persistence.py persistence_paused   1 0 0   100%
scanpath_studio/persistence.py clear_local_state   10 0 0   100%
scanpath_studio/persistence.py clear_saved_work   3 0 0   100%
scanpath_studio/persistence.py _cache_files   5 0 0   100%
scanpath_studio/persistence.py human_size   5 0 1   100%
scanpath_studio/persistence.py cache_status   38 0 0   100%
scanpath_studio/persistence.py _metadata_file_problem   7 1 0   86%
scanpath_studio/persistence.py _entry_problem   10 3 0   70%
scanpath_studio/persistence.py save_local_state   8 0 0   100%
scanpath_studio/persistence.py (no function)   96 0 0   100%
scanpath_studio/plots.py FigureSettings.from_mapping   12 1 0   92%
scanpath_studio/plots.py FigureSettings.with_overrides   1 0 0   100%
scanpath_studio/plots.py FigureSettings.for_builder   1 0 0   100%
scanpath_studio/plots.py FigureSettings.defaults   9 0 0   100%
scanpath_studio/plots.py _choice_key   1 0 0   100%
scanpath_studio/plots.py normalize_option_value   13 0 0   100%
scanpath_studio/plots.py normalize_palette   11 0 0   100%
scanpath_studio/plots.py palette_slug   1 0 0   100%
scanpath_studio/plots.py normalize_option_values   6 0 0   100%
scanpath_studio/plots.py _sample_colorscale_colors   14 5 0   64%
scanpath_studio/plots.py _make_hollow   15 0 0   100%
scanpath_studio/plots.py _finite_for_plotting   14 0 0   100%
scanpath_studio/plots.py _compute_axis_ranges   31 0 0   100%
scanpath_studio/plots.py _nice_grid_spacing   7 1 0   86%
scanpath_studio/plots.py _anchored_grid_values   7 1 0   86%
scanpath_studio/plots.py _grid_label   1 0 0   100%
scanpath_studio/plots.py coordinate_grid_ticks   17 2 0   88%
scanpath_studio/plots.py coordinate_grid_ticks._labels   3 0 0   100%
scanpath_studio/plots.py _coordinate_grid_axis_options   3 0 0   100%
scanpath_studio/plots.py _apply_coordinate_grid_axes   5 0 0   100%
scanpath_studio/plots.py _fit_display_size   15 1 0   93%
scanpath_studio/plots.py _compare_legend_font   4 0 0   100%
scanpath_studio/plots.py _decoration_margins   6 0 0   100%
scanpath_studio/plots.py _colorbar_reserves   1 0 0   100%
scanpath_studio/plots.py _colorbar_dict   6 0 0   100%
scanpath_studio/plots.py _colorbar_owners   9 0 0   100%
scanpath_studio/plots.py _arrange_colorbars   29 0 0   100%
scanpath_studio/plots.py _is_fullwidth   2 0 0   100%
scanpath_studio/plots.py _latin_advance   7 1 0   86%
scanpath_studio/plots.py _line_pitch   12 1 0   92%
scanpath_studio/plots.py _width_fit_font   15 1 0   93%
scanpath_studio/plots.py _padded_monospace_font   2 0 0   100%
scanpath_studio/plots.py _padded_monospace_layout   38 1 0   97%
scanpath_studio/plots.py _word_label_x   21 0 0   100%
scanpath_studio/plots.py _display_scale   5 1 0   80%
scanpath_studio/plots.py _word_label_font_px   12 0 0   100%
scanpath_studio/plots.py _resolve_marker_colors   10 0 0   100%
scanpath_studio/plots.py _fixation_category_labels   11 2 0   82%
scanpath_studio/plots.py _shared_category_colors   10 0 0   100%
scanpath_studio/plots.py _add_category_legend   5 1 0   80%
scanpath_studio/plots.py _glyph_scatter_traces   1 0 0   100%
scanpath_studio/plots.py _glyph_layers   17 0 0   100%
scanpath_studio/plots.py _glyph_layer_traces   5 0 0   100%
scanpath_studio/plots.py _glyph_colorbar_trace   10 1 0   90%
scanpath_studio/plots.py _marker_symbol   3 0 0   100%
scanpath_studio/plots.py _duration_bounds   3 0 0   100%
scanpath_studio/plots.py _scale_transform   4 0 0   100%
scanpath_studio/plots.py _compute_marker_sizes   13 0 0   100%
scanpath_studio/plots.py _settings_size_scale   1 0 0   100%
scanpath_studio/plots.py _duration_key_references   8 1 0   88%
scanpath_studio/plots.py _stack_bottom_right   6 0 0   100%
scanpath_studio/plots.py normalize_legend_layout   21 0 0   100%
scanpath_studio/plots.py parse_legend_spec   10 1 0   90%
scanpath_studio/plots.py legend_spec_text   6 0 0   100%
scanpath_studio/plots.py _legend_is_moved   1 0 0   100%
scanpath_studio/plots.py _trace_legend_kind   5 0 0   100%
scanpath_studio/plots.py _legend_extent   5 0 0   100%
scanpath_studio/plots.py _plot_px   5 0 0   100%
scanpath_studio/plots.py _grow   7 0 0   100%
scanpath_studio/plots.py apply_legend_layout   66 0 0   100%
scanpath_studio/plots.py _size_key_layout   3 0 0   100%
scanpath_studio/plots.py _add_duration_size_key   29 1 0   97%
scanpath_studio/plots.py _size_key_anchor   17 2 0   88%
scanpath_studio/plots.py _arch_control_point   1 0 0   100%
scanpath_studio/plots.py _arch_points   5 0 0   100%
scanpath_studio/plots.py _arch_apex_y   10 1 0   90%
scanpath_studio/plots.py _extend_segment   6 0 0   100%
scanpath_studio/plots.py _saccade_segments   10 1 0   90%
scanpath_studio/plots.py _saccade_segments_by_class   14 2 0   86%
scanpath_studio/plots.py _snap_fixations_to_words   16 1 0   94%
scanpath_studio/plots.py _arch_point_and_tangent   7 0 0   100%
scanpath_studio/plots.py _saccade_arrow_rows   31 2 0   94%
scanpath_studio/plots.py _saccade_arrow_markers   2 0 0   100%
scanpath_studio/plots.py color_with_alpha   13 0 0   100%
scanpath_studio/plots.py build_word_boxes   8 0 0   100%
scanpath_studio/plots.py build_critical_span_overlay   21 1 0   95%
scanpath_studio/plots.py _shape_layer_tag   1 0 0   100%
scanpath_studio/plots.py _shape_layer   4 0 0   100%
scanpath_studio/plots.py _trace_layer   11 1 0   91%
scanpath_studio/plots.py split_scanpath_layers   18 0 0   100%
scanpath_studio/plots.py _labelled_columns   4 0 0   100%
scanpath_studio/plots.py _humanize_column   11 0 0   100%
scanpath_studio/plots.py _column_name   2 0 0   100%
scanpath_studio/plots.py _column_title   2 0 0   100%
scanpath_studio/plots.py _table_label   4 0 0   100%
scanpath_studio/plots.py _hover_label   5 0 0   100%
scanpath_studio/plots.py _plotly_literal   1 0 0   100%
scanpath_studio/plots.py _plotly_literal_values   3 0 0   100%
scanpath_studio/plots.py _fixation_order_labels   6 0 0   100%
scanpath_studio/plots.py _hover_number   4 1 0   75%
scanpath_studio/plots.py _fixation_hover_head   31 0 0   100%
scanpath_studio/plots.py _hover_cell   10 3 0   70%
scanpath_studio/plots.py _hover_cells   1 0 0   100%
scanpath_studio/plots.py _hover_payload   18 1 0   94%
scanpath_studio/plots.py _add_highlight_key   7 0 0   100%
scanpath_studio/plots.py _add_word_label_trace   35 1 0   97%
scanpath_studio/plots.py _image_to_data_uri   12 0 0   100%
scanpath_studio/plots.py _png_pixel_size   11 2 0   82%
scanpath_studio/plots.py _background_image_spec   8 0 0   100%
scanpath_studio/plots.py _add_background_image   7 0 0   100%
scanpath_studio/plots.py _add_saccade_layer   51 0 0   100%
scanpath_studio/plots.py _add_raw_gaze_layer   20 0 0   100%
scanpath_studio/plots.py _fixation_flag_masks   14 1 0   93%
scanpath_studio/plots.py _discard_flagged_fixations   8 1 0   88%
scanpath_studio/plots.py _render_scanpath_figure   237 4 0   98%
scanpath_studio/plots.py add_illustration_label   10 0 0   100%
scanpath_studio/plots.py _apply_heatmap_norm   4 0 0   100%
scanpath_studio/plots.py _heatmap_title   1 0 0   100%
scanpath_studio/plots.py _add_word_level_heatmap   10 0 0   100%
scanpath_studio/plots.py _add_word_measure_heatmap   2 0 0   100%
scanpath_studio/plots.py _draw_word_value_heatmap   22 1 0   95%
scanpath_studio/plots.py _add_density_heatmap   20 2 0   90%
scanpath_studio/plots.py _gaussian_kernel_1d   11 1 0   91%
scanpath_studio/plots.py _blur_axis   6 0 0   100%
scanpath_studio/plots.py _gaussian_blur_2d   8 1 0   88%
scanpath_studio/plots.py interpolated_sigma_px   1 0 0   100%
scanpath_studio/plots.py _interp_grid_shape   7 0 0   100%
scanpath_studio/plots.py _add_interpolated_heatmap   33 2 0   94%
scanpath_studio/plots.py _scanpath_anim_specs   20 0 0   100%
scanpath_studio/plots.py _anim_frame_duration_ms   1 0 0   100%
scanpath_studio/plots.py _anim_timeline   10 0 0   100%
scanpath_studio/plots.py _revealed_xy   4 0 0   100%
scanpath_studio/plots.py _revealed_saccade_xy   8 0 0   100%
scanpath_studio/plots.py _revealed_arrow_xy   3 0 0   100%
scanpath_studio/plots.py animation_playback_ms   2 0 0   100%
scanpath_studio/plots.py animation_timeline_summary   6 0 0   100%
scanpath_studio/plots.py animation_player_post_script   6 0 0   100%
scanpath_studio/plots.py _same_value   34 9 0   74%
scanpath_studio/plots.py _same_sign   1 0 0   100%
scanpath_studio/plots.py _frame_delta   17 0 0   100%
scanpath_studio/plots.py pack_replay_frames   15 0 0   100%
scanpath_studio/plots.py replay_page   13 2 0   85%
scanpath_studio/plots.py _packable   5 1 0   80%
scanpath_studio/plots.py _packed_frames_script   4 0 0   100%
scanpath_studio/plots.py animation_clip_frame_ms   8 1 0   88%
scanpath_studio/plots.py _replay_clock_meta   1 0 0   100%
scanpath_studio/plots.py set_replay_clock   5 0 0   100%
scanpath_studio/plots.py _animation_play_buttons   1 0 0   100%
scanpath_studio/plots.py _animation_time_slider   2 0 0   100%
scanpath_studio/plots.py _render_scanpath_animation   267 1 0   99%
scanpath_studio/plots.py _render_scanpath_animation._trail_marker   6 0 0   100%
scanpath_studio/plots.py _render_scanpath_animation._trail_style   5 0 0   100%
scanpath_studio/plots.py _render_scanpath_animation._trail_traces   4 0 0   100%
scanpath_studio/plots.py _resolve_trial_display_name   11 1 0   91%
scanpath_studio/plots.py _comparison_scanpath_style   4 0 0   100%
scanpath_studio/plots.py _visible_saccade_classes   3 0 0   100%
scanpath_studio/plots.py _comparison_filters   1 0 0   100%
scanpath_studio/plots.py _arrow_class_mask   2 0 0   100%
scanpath_studio/plots.py _comparison_raw_gaze   4 0 0   100%
scanpath_studio/plots.py _add_comparison_raw_gaze_trace   11 1 0   91%
scanpath_studio/plots.py _add_comparison_fixation_trace   89 15 0   83%
scanpath_studio/plots.py _add_comparison_fixation_trace._add   3 0 0   100%
scanpath_studio/plots.py _comparison_metric_colorbar   1 0 0   100%
scanpath_studio/plots.py _word_id_keys   6 1 0   83%
scanpath_studio/plots.py _comparison_word_heatmap_data   26 3 0   88%
scanpath_studio/plots.py _comparison_heatmap_shapes   27 2 0   93%
scanpath_studio/plots.py _comparison_heatmap_colorbar_trace   1 0 0   100%
scanpath_studio/plots.py _comparison_heatmap_colorbar_traces   6 0 0   100%
scanpath_studio/plots.py _make_split_comparison_figure   149 0 0   100%
scanpath_studio/plots.py _compare_stimulus_sides   6 0 0   100%
scanpath_studio/plots.py _render_comparison_figure   106 0 0   100%
scanpath_studio/plots.py make_metric_convergence_figure   18 5 0   72%
scanpath_studio/plots.py gap_runs   10 2 0   80%
scanpath_studio/plots.py break_at_gaps   10 0 0   100%
scanpath_studio/plots.py make_trend_figure   24 0 0   100%
scanpath_studio/plots.py _hex_to_rgba   8 3 0   62%
scanpath_studio/plots.py _no_data_figure   3 0 0   100%
scanpath_studio/plots.py make_small_multiples_figure   27 0 0   100%
scanpath_studio/plots.py make_word_matrix_heatmap   12 0 0   100%
scanpath_studio/plots.py make_word_profile_figure   19 0 0   100%
scanpath_studio/plots.py make_feature_scatter_figure   28 0 0   100%
scanpath_studio/plots.py make_word_rate_figure   13 0 0   100%
scanpath_studio/plots.py make_distribution_figure   12 0 0   100%
scanpath_studio/plots.py make_density_scatter_figure   9 0 0   100%
scanpath_studio/plots.py make_progression_figure   15 0 0   100%
scanpath_studio/plots.py make_paired_bars_figure   16 1 0   94%
scanpath_studio/plots.py make_landing_curve_figure   9 0 0   100%
scanpath_studio/plots.py make_difference_profile_figure   13 0 0   100%
scanpath_studio/plots.py _setting_names   2 0 0   100%
scanpath_studio/plots.py _resolve_figure_settings   3 0 0   100%
scanpath_studio/plots.py make_scanpath_figure   12 0 0   100%
scanpath_studio/plots.py make_scanpath_animation   2 0 0   100%
scanpath_studio/plots.py build_scanpath_replay   12 0 0   100%
scanpath_studio/plots.py replay_size_key_range   5 0 0   100%
scanpath_studio/plots.py _require_one_screen_per_reading   9 0 0   100%
scanpath_studio/plots.py make_comparison_figure   13 0 0   100%
scanpath_studio/plots.py _maybe_add_duration_key   5 0 0   100%
scanpath_studio/plots.py (no function)   403 0 0   100%
scanpath_studio/preprocessing.py detect_right_to_left   8 0 0   100%
scanpath_studio/preprocessing.py add_text_direction   8 1 0   88%
scanpath_studio/preprocessing.py _character_width   7 1 0   86%
scanpath_studio/preprocessing.py merge_short_fixations   37 1 0   97%
scanpath_studio/preprocessing.py _blink_flags   4 0 0   100%
scanpath_studio/preprocessing.py preprocess_fixations   36 2 0   94%
scanpath_studio/preprocessing.py cleaning_report   15 1 0   93%
scanpath_studio/preprocessing.py infer_sentence_ids   11 0 0   100%
scanpath_studio/preprocessing.py sentence_measures   62 0 0   100%
scanpath_studio/preprocessing.py character_grid   40 4 0   90%
scanpath_studio/preprocessing.py duration_mass_table   36 7 0   81%
scanpath_studio/preprocessing.py _word_letter_geometry   21 2 0   90%
scanpath_studio/preprocessing.py _letter_position_in_word   15 2 0   87%
scanpath_studio/preprocessing.py saccade_table   36 1 0   97%
scanpath_studio/preprocessing.py saccade_table._letter_position   1 0 0   100%
scanpath_studio/preprocessing.py measure_sensitivity   37 2 0   95%
scanpath_studio/preprocessing.py (no function)   24 0 0   100%
scanpath_studio/progress.py Task.__init__   16 0 0   100%
scanpath_studio/progress.py Task.cancelled   1 0 0   100%
scanpath_studio/progress.py Task.finished   2 0 0   100%
scanpath_studio/progress.py Task.worked   2 0 0   100%
scanpath_studio/progress.py Task.cancel   1 0 0   100%
scanpath_studio/progress.py Task._checkpoint   8 0 0   100%
scanpath_studio/progress.py Task.report   11 0 0   100%
scanpath_studio/progress.py Task.step_to   15 0 0   100%
scanpath_studio/progress.py Task.finish   12 0 0   100%
scanpath_studio/progress.py Task.snapshot   2 0 0   100%
scanpath_studio/progress.py begin   6 0 0   100%
scanpath_studio/progress.py activate   1 0 0   100%
scanpath_studio/progress.py deactivate   1 0 0   100%
scanpath_studio/progress.py active   1 0 0   100%
scanpath_studio/progress.py task   5 0 0   100%
scanpath_studio/progress.py scope   4 0 0   100%
scanpath_studio/progress.py report   3 0 0   100%
scanpath_studio/progress.py step_to   3 0 0   100%
scanpath_studio/progress.py running   3 0 0   100%
scanpath_studio/progress.py cancel   4 0 0   100%
scanpath_studio/progress.py last_duration   2 0 0   100%
scanpath_studio/progress.py (no function)   56 0 0   100%
scanpath_studio/session_keys.py _compare_style_params   1 0 0   100%
scanpath_studio/session_keys.py compare_state_keys   1 0 0   100%
scanpath_studio/session_keys.py rename_legacy_keys   7 0 0   100%
scanpath_studio/session_keys.py keep_legacy_marker_scale   5 0 0   100%
scanpath_studio/session_keys.py (no function)   231 0 0   100%
scanpath_studio/similarity.py levenshtein   15 0 0   100%
scanpath_studio/similarity.py normalized_levenshtein   4 0 0   100%
scanpath_studio/similarity.py assign_single_trial_word_ids   3 1 0   67%
scanpath_studio/similarity.py _ordered_fixations   3 0 0   100%
scanpath_studio/similarity.py ordered_word_ids   8 0 0   100%
scanpath_studio/similarity.py aoi_sequence   2 0 0   100%
scanpath_studio/similarity.py _nld_metric   1 0 0   100%
scanpath_studio/similarity.py _context   1 0 0   100%
scanpath_studio/similarity.py compute_similarity_table   16 2 0   88%
scanpath_studio/similarity.py _eval_indices   5 0 0   100%
scanpath_studio/similarity.py nld_by_fixation_index   10 0 0   100%
scanpath_studio/similarity.py _rebased_onsets   1 0 0   100%
scanpath_studio/similarity.py nld_by_time   17 0 0   100%
scanpath_studio/similarity.py (no function)   27 0 0   100%
scanpath_studio/streamlit_entry.py (no function)   2 2 0   0%
scanpath_studio/styles.py get_app_css   5 0 0   100%
scanpath_studio/styles.py menu_width_css   7 1 0   86%
scanpath_studio/styles.py widen_menu   4 0 0   100%
scanpath_studio/styles.py selector_track_floor   7 0 0   100%
scanpath_studio/styles.py mapping_menu_css   1 0 0   100%
scanpath_studio/styles.py (no function)   7 0 0   100%
scanpath_studio/synthetic.py make_synthetic_words   2 0 0   100%
scanpath_studio/synthetic.py make_synthetic_fixations   2 0 0   100%
scanpath_studio/synthetic.py load_synthetic_data   1 0 0   100%
scanpath_studio/synthetic.py example_import_tables   5 0 0   100%
scanpath_studio/synthetic.py _column_notes   1 0 0   100%
scanpath_studio/synthetic.py example_readme   2 0 0   100%
scanpath_studio/synthetic.py example_import_zip   7 0 0   100%
scanpath_studio/synthetic.py make_multipart_synthetic_data   14 0 0   100%
scanpath_studio/synthetic.py (no function)   29 0 0   100%
scanpath_studio/tabs.py corpus_subtabs   1 0 0   100%
scanpath_studio/tabs.py _accept_old_corpus_subtab   7 1 0   86%
scanpath_studio/tabs.py _safe_filename   1 0 0   100%
scanpath_studio/tabs.py _step_screen   6 1 0   83%
scanpath_studio/tabs.py _render_screen_navigator   18 0 0   100%
scanpath_studio/tabs.py _part_catalog_for_display   6 1 0   83%
scanpath_studio/tabs.py _embed_html_iframe   1 0 0   100%
scanpath_studio/tabs.py _figure_alt   2 0 0   100%
scanpath_studio/tabs.py _scanpath_alt   2 0 0   100%
scanpath_studio/tabs.py _plain_title   2 0 0   100%
scanpath_studio/tabs.py _true_scale_html   8 0 0   100%
scanpath_studio/tabs.py _true_scale_plot_id   1 0 0   100%
scanpath_studio/tabs.py _render_true_scale_chart   2 0 0   100%
scanpath_studio/tabs.py _true_scale_plot_html   12 0 0   100%
scanpath_studio/tabs.py _render_true_scale_plot   3 0 0   100%
scanpath_studio/tabs.py _different_texts_note   3 0 0   100%
scanpath_studio/tabs.py _image_download_component   1 0 0   100%
scanpath_studio/tabs.py _print_size_setting   3 0 0   100%
scanpath_studio/tabs.py _png_scale   4 0 0   100%
scanpath_studio/tabs.py _render_print_size   15 1 0   93%
scanpath_studio/tabs.py _render_save_plot_button   17 1 0   94%
scanpath_studio/tabs.py _html_self_contained   1 0 0   100%
scanpath_studio/tabs.py _render_html_files_choice   1 0 0   100%
scanpath_studio/tabs.py _figure_download_data   3 0 0   100%
scanpath_studio/tabs.py _animation_html   6 0 0   100%
scanpath_studio/tabs.py _render_animation_export   51 14 0   73%
scanpath_studio/tabs.py _render_animation_export._on_status   8 8 0   0%
scanpath_studio/tabs.py _fix_window_note   10 1 0   90%
scanpath_studio/tabs.py _fix_window_note._cut   5 0 0   100%
scanpath_studio/tabs.py _slice_fix_range   4 0 0   100%
scanpath_studio/tabs.py _drift_corrected   4 0 0   100%
scanpath_studio/tabs.py _marked_text_column   3 0 0   100%
scanpath_studio/tabs.py _build_figure_settings   1 0 0   100%
scanpath_studio/tabs.py _snippet_settings_at_api_defaults   8 0 0   100%
scanpath_studio/tabs.py _publish_snippet_state   4 0 0   100%
scanpath_studio/tabs.py _amend_snippet_settings   8 0 0   100%
scanpath_studio/tabs.py _amend_snippet_title_caption   4 0 0   100%
scanpath_studio/tabs.py _amend_snippet_compare_labels   4 0 0   100%
scanpath_studio/tabs.py _figure_input_key   15 2 0   87%
scanpath_studio/tabs.py _cached_scanpath_figure   2 0 0   100%
scanpath_studio/tabs.py _cached_scanpath_animation   2 0 0   100%
scanpath_studio/tabs.py _ReplayView.from_figure   3 0 0   100%
scanpath_studio/tabs.py _ReplayView.plot_html   1 0 0   100%
scanpath_studio/tabs.py _ReplayView.figure_dict   1 0 0   100%
scanpath_studio/tabs.py _ReplayView.figure   2 0 0   100%
scanpath_studio/tabs.py _cached_replay_view   1 0 0   100%
scanpath_studio/tabs.py _replay_page_html   1 0 0   100%
scanpath_studio/tabs.py _order_compare_options   7 0 0   100%
scanpath_studio/tabs.py _compare_source_name   2 0 0   100%
scanpath_studio/tabs.py _compare_source_choices   7 0 0   100%
scanpath_studio/tabs.py _cancel_compare_source   2 0 0   100%
scanpath_studio/tabs.py _claim_compare_task   4 0 0   100%
scanpath_studio/tabs.py _dataset_label   2 0 0   100%
scanpath_studio/tabs.py _abandon_compare_task   3 0 0   100%
scanpath_studio/tabs.py _release_compare_task   2 0 0   100%
scanpath_studio/tabs.py _resolve_compare_source   21 1 0   95%
scanpath_studio/tabs.py _render_compare_dataset_cell   2 0 0   100%
scanpath_studio/tabs.py _compare_label_display   6 0 0   100%
scanpath_studio/tabs.py _render_compare_filters   5 0 0   100%
scanpath_studio/tabs.py _narrow_secondary   17 8 0   53%
scanpath_studio/tabs.py _render_compare_selector   128 12 0   91%
scanpath_studio/tabs.py _render_compare_selector._reserve   2 0 0   100%
scanpath_studio/tabs.py _render_compare_selector._remember_compare_identity   3 0 0   100%
scanpath_studio/tabs.py _render_compare_selector._on_compare_slider   2 2 0   0%
scanpath_studio/tabs.py _render_compare_selector._step_compare   5 0 0   100%
scanpath_studio/tabs.py _field_label   1 0 0   100%
scanpath_studio/tabs.py _is_boolish   4 0 0   100%
scanpath_studio/tabs.py _flag_mask   1 0 0   100%
scanpath_studio/tabs.py _detect_span_columns   4 0 0   100%
scanpath_studio/tabs.py _detect_question_columns   15 0 0   100%
scanpath_studio/tabs.py _c_stimulus_field_candidates   1 0 0   100%
scanpath_studio/tabs.py _stimulus_field_candidates   11 0 0   100%
scanpath_studio/tabs.py _stimulus_fields   9 0 0   100%
scanpath_studio/tabs.py _render_stimulus_field_picker   8 1 0   88%
scanpath_studio/tabs.py _literal   2 0 0   100%
scanpath_studio/tabs.py _context_block_html   2 0 0   100%
scanpath_studio/tabs.py _field_label_html   3 0 0   100%
scanpath_studio/tabs.py _context_html   1 0 0   100%
scanpath_studio/tabs.py _answer_mark   2 0 0   100%
scanpath_studio/tabs.py _question_text   7 1 0   86%
scanpath_studio/tabs.py _parse_comprehension_questions   25 0 0   100%
scanpath_studio/tabs.py _render_comprehension_questions   19 0 0   100%
scanpath_studio/tabs.py _is_boolish_span   1 0 0   100%
scanpath_studio/tabs.py _span_bg_for   3 0 0   100%
scanpath_studio/tabs.py _ordered_words   4 1 0   75%
scanpath_studio/tabs.py _render_paragraph_with_spans   22 3 0   86%
scanpath_studio/tabs.py _span_text   5 1 0   80%
scanpath_studio/tabs.py _first_str   5 0 0   100%
scanpath_studio/tabs.py _reading_stimulus_image   6 0 0   100%
scanpath_studio/tabs.py _servable_image_path   11 0 0   100%
scanpath_studio/tabs.py _first_num   5 0 0   100%
scanpath_studio/tabs.py _first_bool   6 1 0   83%
scanpath_studio/tabs.py _span_fixated_note   13 2 0   85%
scanpath_studio/tabs.py _render_paragraph_panel   52 5 0   90%
scanpath_studio/tabs.py _span_summary_html   1 0 0   100%
scanpath_studio/tabs.py _in_text_fixation_value   9 1 0   89%
scanpath_studio/tabs.py _synthesized_raw_gaze_note   2 0 0   100%
scanpath_studio/tabs.py _synthetic_raw_gaze_plot_note   4 0 0   100%
scanpath_studio/tabs.py _raw_gaze_missing_note   10 0 0   100%
scanpath_studio/tabs.py _no_fixations_note   8 0 0   100%
scanpath_studio/tabs.py _full_screen_note   9 1 0   89%
scanpath_studio/tabs.py _trial_duration_ms   7 1 0   86%
scanpath_studio/tabs.py _summary_rows   22 0 0   100%
scanpath_studio/tabs.py _build_studio_config   7 0 0   100%
scanpath_studio/tabs.py _build_studio_config._setup_provenance_section   5 1 0   80%
scanpath_studio/tabs.py _collect_column_mapping   1 0 0   100%
scanpath_studio/tabs.py render_settings_file   13 1 0   92%
scanpath_studio/tabs.py _compare_setups   15 0 0   100%
scanpath_studio/tabs.py _build_compare_meta   49 6 0   88%
scanpath_studio/tabs.py _first_text_id   6 1 0   83%
scanpath_studio/tabs.py _render_anim_info_box   17 1 0   94%
scanpath_studio/tabs.py _apply_preprocessing_caption   1 0 0   100%
scanpath_studio/tabs.py _preprocessing_report_row   5 0 0   100%
scanpath_studio/tabs.py _annotate_preprocessing   7 0 0   100%
scanpath_studio/tabs.py _combo_row   4 1 0   75%
scanpath_studio/tabs.py _rendered_title_caption   9 0 0   100%
scanpath_studio/tabs.py _apply_title_caption   5 0 0   100%
scanpath_studio/tabs.py _resolve_compare_label   6 0 0   100%
scanpath_studio/tabs.py _shown_dataset_name   2 0 0   100%
scanpath_studio/tabs.py _compare_dataset_name   1 0 0   100%
scanpath_studio/tabs.py _cancel_animation   2 0 0   100%
scanpath_studio/tabs.py _animation_task_key   7 0 0   100%
scanpath_studio/tabs.py _animation_task_key._identity   1 0 0   100%
scanpath_studio/tabs.py _claim_animation_task   4 0 0   100%
scanpath_studio/tabs.py _abandon_animation_task   3 0 0   100%
scanpath_studio/tabs.py _release_animation_task   2 0 0   100%
scanpath_studio/tabs.py _replay_style   3 0 0   100%
scanpath_studio/tabs.py _plan_replay   9 0 0   100%
scanpath_studio/tabs.py _build_and_render_animation   24 0 0   100%
scanpath_studio/tabs.py _build_and_render_animation.finished_figure   12 0 0   100%
scanpath_studio/tabs.py _dataset_table_names   1 0 0   100%
scanpath_studio/tabs.py _render_export_panel   36 7 0   81%
scanpath_studio/tabs.py _chip_value_and_uniqueness   31 6 0   81%
scanpath_studio/tabs.py _trial_text_id   5 0 0   100%
scanpath_studio/tabs.py _first_value   6 0 0   100%
scanpath_studio/tabs.py _chip_color   18 4 0   78%
scanpath_studio/tabs.py _trial_chip_entries   22 0 0   100%
scanpath_studio/tabs.py _is_number   5 0 0   100%
scanpath_studio/tabs.py _chip_table_html   27 0 0   100%
scanpath_studio/tabs.py _chip_table_html.cell   11 0 0   100%
scanpath_studio/tabs.py _chip_table_html.header   3 0 0   100%
scanpath_studio/tabs.py _c_gaze_sample_count   6 1 0   83%
scanpath_studio/tabs.py _render_compare_chip_table   8 0 0   100%
scanpath_studio/tabs.py _render_trial_condition_chips   3 0 0   100%
scanpath_studio/tabs.py _render_chip_menu   4 0 0   100%
scanpath_studio/tabs.py render_single_trial_tab   370 20 0   95%
scanpath_studio/tabs.py render_single_trial_tab._render_dataset_cell   2 0 0   100%
scanpath_studio/tabs.py render_single_trial_tab._render_filters   4 0 0   100%
scanpath_studio/tabs.py render_single_trial_tab._reserve_screen_cell   1 0 0   100%
scanpath_studio/tabs.py render_single_trial_tab._apply_anim_quality   3 3 0   0%
scanpath_studio/tabs.py render_single_trial_tab._mark_anim_quality_custom   1 1 0   0%
scanpath_studio/tabs.py render_single_trial_tab.primary_combo_row   3 0 0   100%
scanpath_studio/tabs.py _bulk_export_task_key   1 0 0   100%
scanpath_studio/tabs.py _stop_bulk_export   3 0 0   100%
scanpath_studio/tabs.py _c_export_unit_count   6 2 0   67%
scanpath_studio/tabs.py _c_export_screen_choices   1 0 0   100%
scanpath_studio/tabs.py _render_bulk_export   70 7 0   90%
scanpath_studio/tabs.py _render_bulk_export.on_status   8 0 0   100%
scanpath_studio/tabs.py _comparison_image_b   19 1 0   95%
scanpath_studio/tabs.py _render_comparison_figure   61 13 0   79%
scanpath_studio/tabs.py _render_comparison_figure._primary_row   5 5 0   0%
scanpath_studio/tabs.py _render_comparison_figure._lookup_text_id   3 0 0   100%
scanpath_studio/tabs.py _render_comparison_figure._unshared   1 0 0   100%
scanpath_studio/tabs.py _c_per_reader_word   1 0 0   100%
scanpath_studio/tabs.py _c_cohort_profile   1 0 0   100%
scanpath_studio/tabs.py _c_word_box_aggregate   1 0 0   100%
scanpath_studio/tabs.py _c_word_feature   1 0 0   100%
scanpath_studio/tabs.py _c_word_rate   1 0 0   100%
scanpath_studio/tabs.py _c_cohort_summary   1 0 0   100%
scanpath_studio/tabs.py _c_trial_summary   1 0 0   100%
scanpath_studio/tabs.py _c_enrich_fix   1 0 0   100%
scanpath_studio/tabs.py _c_trial_keys   1 0 0   100%
scanpath_studio/tabs.py _view_label   1 0 0   100%
scanpath_studio/tabs.py _pretty_col   8 0 0   100%
scanpath_studio/tabs.py _measure_picker   13 2 0   85%
scanpath_studio/tabs.py _views_phrase   4 1 0   75%
scanpath_studio/tabs.py _measure_note   10 1 0   90%
scanpath_studio/tabs.py _observation   2 0 0   100%
scanpath_studio/tabs.py _spread_note   5 1 0   80%
scanpath_studio/tabs.py _normalize_toggle   1 0 0   100%
scanpath_studio/tabs.py _min_readers_input   1 0 0   100%
scanpath_studio/tabs.py _download_tidy   13 3 0   77%
scanpath_studio/tabs.py _tidy_csv   1 1 0   0%
scanpath_studio/tabs.py _recipe_json   7 1 0   86%
scanpath_studio/tabs.py _render_trials_with_open_button   10 2 0   80%
scanpath_studio/tabs.py _render_trials_with_open_button._open   5 5 0   0%
scanpath_studio/tabs.py _apply_min_readers   7 5 0   29%
scanpath_studio/tabs.py _apply_rate_min_readers   15 2 0   87%
scanpath_studio/tabs.py _meta_field   6 0 0   100%
scanpath_studio/tabs.py _meta_table   1 0 0   100%
scanpath_studio/tabs.py _meta_options   1 0 0   100%
scanpath_studio/tabs.py _metadata_group_fields   9 0 0   100%
scanpath_studio/tabs.py _both_frame_values   8 0 0   100%
scanpath_studio/tabs.py _group_text_column   3 0 0   100%
scanpath_studio/tabs.py _group_spec   23 0 0   100%
scanpath_studio/tabs.py _no_match   3 0 0   100%
scanpath_studio/tabs.py _merge_spec   6 0 0   100%
scanpath_studio/tabs.py _merge_spec._norm   1 0 0   100%
scanpath_studio/tabs.py _group_split_columns   9 0 0   100%
scanpath_studio/tabs.py _join_label   4 1 0   75%
scanpath_studio/tabs.py _group_name   2 0 0   100%
scanpath_studio/tabs.py _render_filter_set   13 2 0   85%
scanpath_studio/tabs.py _cohort_reader_ids   7 1 0   86%
scanpath_studio/tabs.py _cohort_readers   1 0 0   100%
scanpath_studio/tabs.py _n_readers   1 0 0   100%
scanpath_studio/tabs.py _render_group_definition   30 2 0   93%
scanpath_studio/tabs.py _warn_word_only_group_fields   4 0 0   100%
scanpath_studio/tabs.py _text_column   4 0 0   100%
scanpath_studio/tabs.py _corpus_unavailable_notice   11 1 0   91%
scanpath_studio/tabs.py _open_measure_mapping   4 4 0   0%
scanpath_studio/tabs.py _render_pool_filters   3 0 0   100%
scanpath_studio/tabs.py pool_filter_frames   3 0 0   100%
scanpath_studio/tabs.py _count_noun   1 0 0   100%
scanpath_studio/tabs.py pool_count_text   5 0 0   100%
scanpath_studio/tabs.py _n_unique_readers   3 1 0   67%
scanpath_studio/tabs.py _md_escape   1 0 0   100%
scanpath_studio/tabs.py data_scope_text   5 0 0   100%
scanpath_studio/tabs.py render_data_scope   2 0 0   100%
scanpath_studio/tabs.py render_analysis_pool_bar   16 0 0   100%
scanpath_studio/tabs.py _clear_pool_filters   2 0 0   100%
scanpath_studio/tabs.py _recipe_section   5 0 0   100%
scanpath_studio/tabs.py render_corpus_analysis_tab   4 0 0   100%
scanpath_studio/tabs.py _render_corpus_analysis_body   24 0 0   100%
scanpath_studio/tabs.py _c_sentence_measures   2 0 0   100%
scanpath_studio/tabs.py _render_per_sentence_tab   16 3 0   81%
scanpath_studio/tabs.py _chart   1 0 0   100%
scanpath_studio/tabs.py _corpus_series_colors   1 0 0   100%
scanpath_studio/tabs.py _scanpath_trial_text   14 0 0   100%
scanpath_studio/tabs.py _text_picker   18 5 0   72%
scanpath_studio/tabs.py _screen_picker   5 2 0   60%
scanpath_studio/tabs.py _participant_picker   7 1 0   86%
scanpath_studio/tabs.py _percentile_among_others   7 1 0   86%
scanpath_studio/tabs.py _ordinal   4 0 0   100%
scanpath_studio/tabs.py render_per_text_tab   70 11 0   84%
scanpath_studio/tabs.py render_per_reader_tab   105 17 0   84%
scanpath_studio/tabs.py render_groups_tab   4 0 0   100%
scanpath_studio/tabs.py _groups_compare_toggle   1 0 0   100%
scanpath_studio/tabs.py render_per_group_tab   95 36 0   62%
scanpath_studio/tabs.py _fmt_stat   3 1 0   67%
scanpath_studio/tabs.py render_group_comparison_tab   107 14 0   87%
scanpath_studio/tabs.py _best_model_indices   8 0 0   100%
scanpath_studio/tabs.py _metric_arrow   1 0 0   100%
scanpath_studio/tabs.py _style_similarity_table   9 0 0   100%
scanpath_studio/tabs.py _style_similarity_table._highlight   7 0 0   100%
scanpath_studio/tabs.py render_alignment_comparison_tab   55 3 0   95%
scanpath_studio/tabs.py render_alignment_comparison_tab._make_fig   5 2 0   60%
scanpath_studio/tabs.py _generation_column_options   19 0 0   100%
scanpath_studio/tabs.py _generation_column_options._rank   6 0 0   100%
scanpath_studio/tabs.py _match_text_column   1 0 0   100%
scanpath_studio/tabs.py _match_options   14 1 0   93%
scanpath_studio/tabs.py _resolve_match   6 3 0   50%
scanpath_studio/tabs.py _collect_generations   28 7 0   75%
scanpath_studio/tabs.py _comparison_trial_words   5 1 0   80%
scanpath_studio/tabs.py _comparison_panel_settings   4 0 0   100%
scanpath_studio/tabs.py _match_panel_caption   6 3 0   50%
scanpath_studio/tabs.py render_multiple_comparison_tab   88 8 0   91%
scanpath_studio/tabs.py render_multiple_comparison_tab._make_fig   1 0 0   100%
scanpath_studio/tabs.py column_label_config   2 0 0   100%
scanpath_studio/tabs.py _render_raw_table   7 1 0   86%
scanpath_studio/tabs.py render_fixations_tab   4 2 0   50%
scanpath_studio/tabs.py render_words_tab   4 0 0   100%
scanpath_studio/tabs.py render_raw_gaze_tab   6 0 0   100%
scanpath_studio/tabs.py _entity_counts   4 0 0   100%
scanpath_studio/tabs.py _count_by   6 0 0   100%
scanpath_studio/tabs.py _with_constants   25 0 0   100%
scanpath_studio/tabs.py _ids_from_data   37 0 0   100%
scanpath_studio/tabs.py _render_raw_metadata_tab   12 2 0   83%
scanpath_studio/tabs.py _build_stimuli_table_cached   45 5 0   89%
scanpath_studio/tabs.py _build_stimuli_table_cached._words_of   1 0 0   100%
scanpath_studio/tabs.py _build_stimuli_table_cached._screen_marker   6 0 0   100%
scanpath_studio/tabs.py _render_data_provenance   19 13 0   32%
scanpath_studio/tabs.py _render_data_provenance._fmt_mtime   1 1 0   0%
scanpath_studio/tabs.py _fill_raw_data_tabs   17 0 0   100%
scanpath_studio/tabs.py _dataset_statistics   12 0 0   100%
scanpath_studio/tabs.py _column_mapping_rows   13 1 0   92%
scanpath_studio/tabs.py _render_readonly_mapping_grid   12 0 0   100%
scanpath_studio/tabs.py _active_stored_dataset   3 0 0   100%
scanpath_studio/tabs.py active_participant_metadata   2 0 0   100%
scanpath_studio/tabs.py _clear_participant_metadata   4 0 0   100%
scanpath_studio/tabs.py _restored_metadata_note   3 0 0   100%
scanpath_studio/tabs.py render_participant_metadata_section   5 1 0   80%
scanpath_studio/tabs.py _participant_metadata_body   59 44 0   25%
scanpath_studio/tabs.py _clear_trial_metadata   4 4 0   0%
scanpath_studio/tabs.py render_trial_metadata_section   5 1 0   80%
scanpath_studio/tabs.py _trial_metadata_body   71 61 0   14%
scanpath_studio/tabs.py _clear_text_metadata   4 4 0   0%
scanpath_studio/tabs.py render_text_metadata_section   5 1 0   80%
scanpath_studio/tabs.py _text_metadata_body   69 59 0   14%
scanpath_studio/tabs.py _join_status_parts   3 3 0   0%
scanpath_studio/tabs.py _combined_rows_note   4 0 0   100%
scanpath_studio/tabs.py _render_key_mismatch   11 11 0   0%
scanpath_studio/tabs.py _id_list   3 3 0   0%
scanpath_studio/tabs.py _metadata_id_count   7 7 0   0%
scanpath_studio/tabs.py _metadata_keep_picker   16 16 0   0%
scanpath_studio/tabs.py commit_deferred_metadata   16 3 0   81%
scanpath_studio/tabs.py _remap_proposed   15 0 0   100%
scanpath_studio/tabs.py _harmonize_noting_join   14 1 0   93%
scanpath_studio/tabs.py _reading_keys   6 2 0   67%
scanpath_studio/tabs.py raw_gaze_identity_problem   15 1 0   93%
scanpath_studio/tabs.py _apply_remap   126 17 0   87%
scanpath_studio/tabs.py _edit_rows   2 0 0   100%
scanpath_studio/tabs.py _added_raw_key   1 0 0   100%
scanpath_studio/tabs.py _render_missing_table_uploads   34 4 0   88%
scanpath_studio/tabs.py _added_table_picks   10 0 0   100%
scanpath_studio/tabs.py _added_table_plan   7 0 0   100%
scanpath_studio/tabs.py _literal_columns   2 0 0   100%
scanpath_studio/tabs.py aggregate_key   1 0 0   100%
scanpath_studio/tabs.py _render_aggregate_toggle   1 0 0   100%
scanpath_studio/tabs.py _render_remap_fields   56 0 0   100%
scanpath_studio/tabs.py _render_remap_fields._cell   1 0 0   100%
scanpath_studio/tabs.py _pending_canvas_estimate   12 0 0   100%
scanpath_studio/tabs.py _pending_field_values   13 2 0   85%
scanpath_studio/tabs.py pending_value_changes   19 1 0   95%
scanpath_studio/tabs.py _pending_keys   1 0 0   100%
scanpath_studio/tabs.py _current_keys   2 0 0   100%
scanpath_studio/tabs.py _c_pending_census   1 0 0   100%
scanpath_studio/tabs.py pending_census   37 3 0   92%
scanpath_studio/tabs.py _render_pending_change_preview   35 1 0   97%
scanpath_studio/tabs.py discard_editor_widgets   7 0 0   100%
scanpath_studio/tabs.py _render_remap_editor   37 0 0   100%
scanpath_studio/tabs.py _editor_signature   1 0 0   100%
scanpath_studio/tabs.py dataset_editor_is_dirty   1 0 0   100%
scanpath_studio/tabs.py _builtin_setup_prefix   1 0 0   100%
scanpath_studio/tabs.py _forget_builtin_setup_widgets   3 0 0   100%
scanpath_studio/tabs.py _reset_builtin_setup   3 0 0   100%
scanpath_studio/tabs.py _setup_groups_differing   3 0 0   100%
scanpath_studio/tabs.py render_builtin_setup_editor   28 0 0   100%
scanpath_studio/tabs.py commit_builtin_setup   10 1 0   90%
scanpath_studio/tabs.py _setup_file_mapping   57 6 0   89%
scanpath_studio/tabs.py _editor_setup_config   8 0 0   100%
scanpath_studio/tabs.py render_dataset_editor_footer   21 0 0   100%
scanpath_studio/tabs.py _request_full_identity_scan   1 1 0   0%
scanpath_studio/tabs.py render_trial_identity_section   22 7 0   68%
scanpath_studio/tabs.py _render_column_mapping_section   18 0 0   100%
scanpath_studio/tabs.py _render_setup_provenance_note   18 1 0   94%
scanpath_studio/tabs.py _render_arrived_provenance_note   9 0 0   100%
scanpath_studio/tabs.py _c_derived_tables   5 0 0   100%
scanpath_studio/tabs.py _format_spread_number   6 0 0   100%
scanpath_studio/tabs.py _format_spread_mean   6 0 0   100%
scanpath_studio/tabs.py _spread_help   10 0 0   100%
scanpath_studio/tabs.py _render_spread_cards   5 0 0   100%
scanpath_studio/tabs.py _render_dataset_stats_tab   16 0 0   100%
scanpath_studio/tabs.py dataset_capabilities   26 3 0   88%
scanpath_studio/tabs.py _c_dataset_capabilities   1 0 0   100%
scanpath_studio/tabs.py render_dataset_capabilities   4 0 0   100%
scanpath_studio/tabs.py _c_data_health   2 0 0   100%
scanpath_studio/tabs.py render_data_health   28 1 0   96%
scanpath_studio/tabs.py render_data_inspection_tab   27 3 0   89%
scanpath_studio/tabs.py (no function)   561 0 2   100%
scanpath_studio/tour.py steps_of   1 0 0   100%
scanpath_studio/tour.py _close_dialog_clientside   1 1 0   0%
scanpath_studio/tour.py tour_opted_out   8 2 0   75%
scanpath_studio/tour.py _tour_optout_script   4 0 0   100%
scanpath_studio/tour.py _render_tour_optout   9 0 0   100%
scanpath_studio/tour.py _step_back   1 1 0   0%
scanpath_studio/tour.py _step_next   1 0 0   100%
scanpath_studio/tour.py _tour_dialog   15 3 0   80%
scanpath_studio/tour.py _exit_spotlight   1 0 0   100%
scanpath_studio/tour.py _dismiss_listener_script   4 0 0   100%
scanpath_studio/tour.py _highlight_css   5 0 0   100%
scanpath_studio/tour.py _group_ring_script   2 0 0   100%
scanpath_studio/tour.py _all_popover_triggers   3 0 0   100%
scanpath_studio/tour.py _popover_script   4 1 0   75%
scanpath_studio/tour.py _scroll_into_view_script   1 0 0   100%
scanpath_studio/tour.py render_spotlight_tour   35 0 0   100%
scanpath_studio/tour.py tour_suppressed   3 0 0   100%
scanpath_studio/tour.py _start_tour   4 0 0   100%
scanpath_studio/tour.py _open_dataset_name   8 1 0   88%
scanpath_studio/tour.py _welcome_body   5 1 0   80%
scanpath_studio/tour.py _arm_tour   4 0 0   100%
scanpath_studio/tour.py maybe_show_welcome_tour   14 1 0   93%
scanpath_studio/tour.py build_tutorial_context   20 2 0   90%
scanpath_studio/tour.py tutorial_availability   16 1 0   94%
scanpath_studio/tour.py filtered_reason   6 0 0   100%
scanpath_studio/tour.py _tutorial_progress   1 0 0   100%
scanpath_studio/tour.py _tutorial_completed   1 0 0   100%
scanpath_studio/tour.py _start_use_case   18 4 0   78%
scanpath_studio/tour.py _move_use_case   3 3 0   0%
scanpath_studio/tour.py _finish_use_case   3 0 0   100%
scanpath_studio/tour.py _restore_tutorial_return   6 0 0   100%
scanpath_studio/tour.py _open_tutorial_surface   10 4 0   60%
scanpath_studio/tour.py _tutorial_surface_is_open   11 3 0   73%
scanpath_studio/tour.py _arm_tutorial_library   1 0 0   100%
scanpath_studio/tour.py maybe_show_tutorial_library   2 0 0   100%
scanpath_studio/tour.py stash_tutorial_context   1 0 0   100%
scanpath_studio/tour.py _tutorial_library_dialog   39 10 0   74%
scanpath_studio/tour.py render_use_case_tutorial   49 6 0   88%
scanpath_studio/tour.py _where_data_goes   8 0 0   100%
scanpath_studio/tour.py faq_items   4 0 0   100%
scanpath_studio/tour.py _faq_dialog   12 1 0   92%
scanpath_studio/tour.py _arm_faq   1 0 0   100%
scanpath_studio/tour.py maybe_show_faq   2 0 0   100%
scanpath_studio/tour.py wizard_guide_opted_out   6 2 0   67%
scanpath_studio/tour.py _wizard_guide_optout_script   4 0 0   100%
scanpath_studio/tour.py _render_wizard_guide_optout   6 0 0   100%
scanpath_studio/tour.py _wizard_guide_go   6 6 0   0%
scanpath_studio/tour.py _wizard_guide_back   1 1 0   0%
scanpath_studio/tour.py _wizard_guide_next   1 1 0   0%
scanpath_studio/tour.py _exit_wizard_guide   1 0 0   100%
scanpath_studio/tour.py render_spotlight_wizard_guide   32 1 0   97%
scanpath_studio/tour.py _arm_wizard_guide   2 0 0   100%
scanpath_studio/tour.py maybe_show_wizard_guide   7 0 0   100%
scanpath_studio/tour.py render_wizard_guide_button   1 0 0   100%
scanpath_studio/tour.py (no function)   122 0 0   100%
scanpath_studio/truncation_tooltip.py tooltip_script   3 0 0   100%
scanpath_studio/truncation_tooltip.py render_truncation_tooltips   1 0 0   100%
scanpath_studio/truncation_tooltip.py (no function)   9 0 0   100%
scanpath_studio/updates.py Release.asset   1 0 0   100%
scanpath_studio/updates.py _ssl_context   1 0 0   100%
scanpath_studio/updates.py _urlopen   1 0 0   100%
scanpath_studio/updates.py latest_release   16 2 0   88%
scanpath_studio/updates.py _http_reason   11 2 0   82%
scanpath_studio/updates.py _release_from   6 0 0   100%
scanpath_studio/updates.py desktop_archive   5 0 0   100%
scanpath_studio/updates.py update_command   4 0 0   100%
scanpath_studio/updates.py _released_on   5 2 0   60%
scanpath_studio/updates.py check_for_updates   23 2 0   91%
scanpath_studio/updates.py (no function)   56 0 0   100%
scanpath_studio/url_state.py _coerce_bool   1 0 0   100%
scanpath_studio/url_state.py _parse_int_range   2 0 0   100%
scanpath_studio/url_state.py _parse_float_range   2 0 0   100%
scanpath_studio/url_state.py _parse_field_list   1 0 0   100%
scanpath_studio/url_state.py _parse_saccade_classes   5 0 0   100%
scanpath_studio/url_state.py _parse_choice   5 0 0   100%
scanpath_studio/url_state.py _parse_compare_layout   1 0 0   100%
scanpath_studio/url_state.py _parse_compare_stimulus   1 0 0   100%
scanpath_studio/url_state.py _parse_marker_size_scale   1 0 0   100%
scanpath_studio/url_state.py _parse_hex_color   4 0 0   100%
scanpath_studio/url_state.py _strip_markup   6 0 0   100%
scanpath_studio/url_state.py compare_value   2 0 0   100%
scanpath_studio/url_state.py parse_compare_value   12 0 0   100%
scanpath_studio/url_state.py _parse_playback_speed   6 0 0   100%
scanpath_studio/url_state.py _parse_print_unit   1 0 0   100%
scanpath_studio/url_state.py _parse_fixclass_mode   1 0 0   100%
scanpath_studio/url_state.py _parse_fixclass_symbol   4 0 0   100%
scanpath_studio/url_state.py _parse_saccade_style_label   5 0 0   100%
scanpath_studio/url_state.py _parse_heatmap_style   5 0 0   100%
scanpath_studio/url_state.py _parse_colorbar_orientation   1 0 0   100%
scanpath_studio/url_state.py _parse_align_algorithm   5 0 0   100%
scanpath_studio/url_state.py _cmp_style_params   1 0 0   100%
scanpath_studio/url_state.py _parse_colorscale   3 1 0   67%
scanpath_studio/url_state.py _clamp_url_value   8 0 0   100%
scanpath_studio/url_state.py _source_choice_for_param   7 1 0   86%
scanpath_studio/url_state.py _slugify_corpus   1 0 0   100%
scanpath_studio/url_state.py corpus_slug   4 0 0   100%
scanpath_studio/url_state.py registry_corpus_slugs   6 0 0   100%
scanpath_studio/url_state.py corpus_choice_for_slug   7 0 0   100%
scanpath_studio/url_state.py _selected_corpus   9 0 0   100%
scanpath_studio/url_state.py _legend_state   1 0 0   100%
scanpath_studio/url_state.py _apply_url_legends   13 3 0   77%
scanpath_studio/url_state.py _legend_query   9 2 0   78%
scanpath_studio/url_state.py _apply_url_palette   7 1 0   86%
scanpath_studio/url_state.py _apply_url_preset   95 5 0   95%
scanpath_studio/url_state.py link_sets   5 2 0   60%
scanpath_studio/url_state.py linked_state_keys   5 2 0   60%
scanpath_studio/url_state.py missing_dataset_message   7 1 0   86%
scanpath_studio/url_state.py resolve_link_dataset   15 3 0   80%
scanpath_studio/url_state.py link_dataset_notice   9 3 0   67%
scanpath_studio/url_state.py scope_link_setup   6 0 0   100%
scanpath_studio/url_state.py link_setup_keys_for   6 0 0   100%
scanpath_studio/url_state.py _closed_choice   2 0 0   100%
scanpath_studio/url_state.py _closed_choice.parse   3 0 0   100%
scanpath_studio/url_state.py _legend_size   3 0 0   100%
scanpath_studio/url_state.py _bounded_number   11 0 0   100%
scanpath_studio/url_state.py sanitize_session_value   41 2 0   95%
scanpath_studio/url_state.py _detect_config_schema   5 0 0   100%
scanpath_studio/url_state.py _migrate_config_1_to_2   1 0 0   100%
scanpath_studio/url_state.py _has_plot_section   1 0 0   100%
scanpath_studio/url_state.py _migrate_config_2_to_3   11 0 0   100%
scanpath_studio/url_state.py _migrate_config_3_to_4   1 0 0   100%
scanpath_studio/url_state.py _migrate_config_4_to_5   9 1 0   89%
scanpath_studio/url_state.py _migrate_config_5_to_6   6 0 0   100%
scanpath_studio/url_state.py _migrate_config_6_to_7   22 0 0   100%
scanpath_studio/url_state.py _migrate_plot_config   14 0 0   100%
scanpath_studio/url_state.py _match_selection   25 1 0   96%
scanpath_studio/url_state.py _restore_selection   10 0 0   100%
scanpath_studio/url_state.py _apply_url_trial_selection   15 0 0   100%
scanpath_studio/url_state.py apply_pending_preprocessing   3 0 0   100%
scanpath_studio/url_state.py request_trial   4 1 0   75%
scanpath_studio/url_state.py _apply_pending_trial_selection   10 0 0   100%
scanpath_studio/url_state.py _seed_column_mapping   17 2 0   88%
scanpath_studio/url_state.py _RestoreContext.section   2 0 0   100%
scanpath_studio/url_state.py _RestoreContext.number   4 0 0   100%
scanpath_studio/url_state.py _RestoreContext.put   4 0 0   100%
scanpath_studio/url_state.py _RestoreContext.put_valid   3 0 0   100%
scanpath_studio/url_state.py _RestoreContext.put_int   4 0 0   100%
scanpath_studio/url_state.py _RestoreContext.put_float   4 1 0   75%
scanpath_studio/url_state.py _restore_plot_config   383 16 0   96%
scanpath_studio/url_state.py _restore_plot_config._bar_value   1 0 0   100%
scanpath_studio/url_state.py _restore_plot_config._stated   1 0 0   100%
scanpath_studio/url_state.py _compare_b_problem   16 3 0   81%
scanpath_studio/url_state.py _restore_figure_mode   25 2 0   92%
scanpath_studio/url_state.py _apply_uploaded_plot_config   31 3 0   90%
scanpath_studio/url_state.py _toast_restored   4 2 0   50%
scanpath_studio/url_state.py _build_share_query   108 2 0   98%
scanpath_studio/url_state.py _restore_compare_b_filters   18 3 0   83%
scanpath_studio/url_state.py _link_defaults   18 0 0   100%
scanpath_studio/url_state.py _same_setting   10 0 0   100%
scanpath_studio/url_state.py _render_share_link_widget   2 0 0   100%
scanpath_studio/url_state.py _snippet_source   31 7 0   77%
scanpath_studio/url_state.py _snippet_source.root   4 0 0   100%
scanpath_studio/url_state.py _has_rows   1 0 0   100%
scanpath_studio/url_state.py _samples_only   2 0 0   100%
scanpath_studio/url_state.py _samples_only.empty   1 0 0   100%
scanpath_studio/url_state.py _snippet_save_kwargs   3 0 0   100%
scanpath_studio/url_state.py _render_code_snippet_body   18 1 0   94%
scanpath_studio/url_state.py _render_share_body   18 4 0   78%
scanpath_studio/url_state.py _go_scanpath   1 0 0   100%
scanpath_studio/url_state.py _go_data   1 1 0   0%
scanpath_studio/url_state.py (no function)   161 0 0   100%
scanpath_studio/utils.py annotation_markers   11 0 0   100%
scanpath_studio/utils.py combo_source   9 0 0   100%
scanpath_studio/utils.py _combo_source_with_raw_gaze   18 1 0   94%
scanpath_studio/utils.py build_combo_options   2 0 0   100%
scanpath_studio/utils.py build_combo_options_for   2 0 0   100%
scanpath_studio/utils.py _build_combo_options_cached   32 2 0   94%
scanpath_studio/utils.py _trial_positions   4 1 0   75%
scanpath_studio/utils.py extract_trial   7 0 0   100%
scanpath_studio/utils.py _trial_sort_column_allowed   7 0 0   100%
scanpath_studio/utils.py _effective_trial_field   9 0 0   100%
scanpath_studio/utils.py _is_missing_scalar   5 2 0   60%
scanpath_studio/utils.py _same_sort_value   7 2 0   71%
scanpath_studio/utils.py _looks_like_free_text   2 0 0   100%
scanpath_studio/utils.py _trial_level_columns_from_frame   34 3 0   91%
scanpath_studio/utils.py _merge_trial_level_sources   21 0 0   100%
scanpath_studio/utils.py _trial_level_sort_columns_cached   6 1 0   83%
scanpath_studio/utils.py _trial_level_sort_columns   1 0 0   100%
scanpath_studio/utils.py _per_trial_stat   13 0 0   100%
scanpath_studio/utils.py trial_sort_keys   22 1 0   95%
scanpath_studio/utils.py _trial_sort_stats_cached   10 0 0   100%
scanpath_studio/utils.py sort_trial_options   8 0 0   100%
scanpath_studio/utils.py _sort_scalar   6 1 0   83%
scanpath_studio/utils.py format_sort_value   8 0 0   100%
scanpath_studio/utils.py _trial_display_label   5 0 0   100%
scanpath_studio/utils.py trial_id_parts   21 0 0   100%
scanpath_studio/utils.py shown_parts   1 0 0   100%
scanpath_studio/utils.py trial_id_display   5 0 0   100%
scanpath_studio/utils.py trial_id_layout   24 1 0   96%
scanpath_studio/utils.py trial_id_shown   9 0 0   100%
scanpath_studio/utils.py trial_id_help   6 0 0   100%
scanpath_studio/utils.py _render_trial_sort_popover   14 1 0   93%
scanpath_studio/utils.py trial_options_snapshot_key   1 0 0   100%
scanpath_studio/utils.py compare_step_linked   1 0 0   100%
scanpath_studio/utils.py step_within   10 0 0   100%
scanpath_studio/utils.py at_list_end   8 0 0   100%
scanpath_studio/utils.py step_linked_compare   11 2 0   82%
scanpath_studio/utils.py row_tail   3 0 0   100%
scanpath_studio/utils.py _select_trial_none_mode   95 3 0   97%
scanpath_studio/utils.py _select_trial_none_mode._option_label   5 0 0   100%
scanpath_studio/utils.py _select_trial_none_mode._format_option   2 0 0   100%
scanpath_studio/utils.py _select_trial_none_mode._on_trial_slider   2 2 0   0%
scanpath_studio/utils.py _select_trial_none_mode._step_trial   5 1 0   80%
scanpath_studio/utils.py _select_trial_none_mode._slider_label   1 0 0   100%
scanpath_studio/utils.py select_trial   7 2 0   71%
scanpath_studio/utils.py compute_trial_stats   8 0 0   100%
scanpath_studio/utils.py safe_summary   4 0 0   100%
scanpath_studio/utils.py _allocate_label   7 0 0   100%
scanpath_studio/utils.py _compare_option_label   3 0 0   100%
scanpath_studio/utils.py friendly_trial_label   16 1 0   94%
scanpath_studio/utils.py build_comparison_options   19 0 0   100%
scanpath_studio/utils.py qualify_for_compare   6 0 0   100%
scanpath_studio/utils.py separate_self_compare   3 0 0   100%
scanpath_studio/utils.py self_compare_participant   1 0 0   100%
scanpath_studio/utils.py qualified_participant   1 0 0   100%
scanpath_studio/utils.py unqualify_for_export   5 1 0   80%
scanpath_studio/utils.py align_compare_columns   5 0 0   100%
scanpath_studio/utils.py (no function)   91 0 0   100%
scanpath_studio/wizard.py _reset_wizard_widgets   7 0 0   100%
scanpath_studio/wizard.py _default_dataset_name   5 1 0   80%
scanpath_studio/wizard.py _safe_dataset_name   12 1 0   92%
scanpath_studio/wizard.py _wizard_finalize_metadata_pools   8 0 0   100%
scanpath_studio/wizard.py _source_recipe   2 0 0   100%
scanpath_studio/wizard.py _finalize_wizard_dataset   24 4 0   83%
scanpath_studio/wizard.py upload_annotations   2 0 0   100%
scanpath_studio/wizard.py _remove_dataset   12 0 0   100%
scanpath_studio/wizard.py rename_dataset   24 3 0   88%
scanpath_studio/wizard.py _render_leave_prompt   4 0 0   100%
scanpath_studio/wizard.py _leave_prompt_dialog   8 0 0   100%
scanpath_studio/wizard.py _enter_add_data_wizard   9 0 0   100%
scanpath_studio/wizard.py _map_section   3 1 0   67%
scanpath_studio/wizard.py _default_trial_columns   17 1 0   94%
scanpath_studio/wizard.py _mapping_key   5 1 0   80%
scanpath_studio/wizard.py _trial_id_values_cached   1 0 0   100%
scanpath_studio/wizard.py _trial_id_values   6 0 0   100%
scanpath_studio/wizard.py _c_propose_word_schema   1 0 0   100%
scanpath_studio/wizard.py _c_propose_fix_schema   1 0 0   100%
scanpath_studio/wizard.py _c_propose_raw_gaze_schema   1 0 0   100%
scanpath_studio/wizard.py _c_categorize_columns   1 0 0   100%
scanpath_studio/wizard.py _c_aggregate_char_boxes   1 0 0   100%
scanpath_studio/wizard.py _readers_do_not_line_up   5 1 0   80%
scanpath_studio/wizard.py _readers_do_not_line_up.check   3 0 0   100%
scanpath_studio/wizard.py _c_normalization_issues   1 0 0   100%
scanpath_studio/wizard.py _schema_key   3 0 0   100%
scanpath_studio/wizard.py _geometry_key   1 0 0   100%
scanpath_studio/wizard.py _c_estimate_canvas   1 0 0   100%
scanpath_studio/wizard.py _render_identity_field   22 0 0   100%
scanpath_studio/wizard.py _render_identity_field._mapping   3 0 0   100%
scanpath_studio/wizard.py _render_identity_field._seed   7 1 0   86%
scanpath_studio/wizard.py _row_note   3 0 0   100%
scanpath_studio/wizard.py _next_available_names   9 9 0   0%
scanpath_studio/wizard.py _memo_derive   7 0 0   100%
scanpath_studio/wizard.py _wizard_filename_derive   96 15 0   84%
scanpath_studio/wizard.py _wizard_filename_derive._split   6 6 0   0%
scanpath_studio/wizard.py _wizard_trial_step   23 0 0   100%
scanpath_studio/wizard.py _distinct_id_count_cached   1 0 0   100%
scanpath_studio/wizard.py _distinct_id_count   6 1 0   83%
scanpath_studio/wizard.py _wizard_participant_text_step   17 0 0   100%
scanpath_studio/wizard.py _clean_multiselect_state   6 1 0   83%
scanpath_studio/wizard.py wide_frame_warning   3 0 0   100%
scanpath_studio/wizard.py _wizard_reader_ids   10 7 0   30%
scanpath_studio/wizard.py _wizard_trial_combos   19 15 0   21%
scanpath_studio/wizard.py _wizard_trial_combos_cached   4 4 0   0%
scanpath_studio/wizard.py _wizard_reader_ids_cached   1 1 0   0%
scanpath_studio/wizard.py _wizard_text_ids   10 7 0   30%
scanpath_studio/wizard.py _row_body   2 0 0   100%
scanpath_studio/wizard.py _wizard_table_keep_picker   42 2 0   95%
scanpath_studio/wizard.py _wizard_restore_config   51 31 0   39%
scanpath_studio/wizard.py _render_restored_config_caption   16 13 0   19%
scanpath_studio/wizard.py _filename_derive_section   4 0 0   100%
scanpath_studio/wizard.py _keep_and_filter_section   5 0 0   100%
scanpath_studio/wizard.py _wizard_setup_config   3 0 0   100%
scanpath_studio/wizard.py current_setup_section   2 0 0   100%
scanpath_studio/wizard.py _render_setup_download   1 0 0   100%
scanpath_studio/wizard.py _wizard_footer   6 0 0   100%
scanpath_studio/wizard.py _recalled   1 0 0   100%
scanpath_studio/wizard.py _remember_setup   3 0 0   100%
scanpath_studio/wizard.py _setup_mode   1 0 0   100%
scanpath_studio/wizard.py _wizard_setup_step   96 4 0   96%
scanpath_studio/wizard.py _mark_missing_setup_groups   4 4 0   0%
scanpath_studio/wizard.py _restored_setup_snapshot   4 1 0   75%
scanpath_studio/wizard.py _restored_setup_answerable_groups   5 0 0   100%
scanpath_studio/wizard.py _apply_restored_setup   16 16 0   0%
scanpath_studio/wizard.py _render_multipleye_upload   43 3 0   93%
scanpath_studio/wizard.py _mark_add_attempted   1 0 0   100%
scanpath_studio/wizard.py _wizard_name_header   6 0 0   100%
scanpath_studio/wizard.py _wizard_statuses   13 0 0   100%
scanpath_studio/wizard.py _wizard_statuses.required   3 0 0   100%
scanpath_studio/wizard.py _render_data_setup   235 7 0   97%
scanpath_studio/wizard.py _render_data_setup._part   5 0 0   100%
scanpath_studio/wizard.py _render_data_setup._render_restore_trigger   3 0 0   100%
scanpath_studio/wizard.py _render_data_setup.upload_box   15 1 0   93%
scanpath_studio/wizard.py _render_data_setup._render_metadata_uploads   13 0 0   100%
scanpath_studio/wizard.py _render_data_setup._render_metadata_uploads._meta_row   3 0 0   100%
scanpath_studio/wizard.py _render_data_setup._cells_for   1 0 0   100%
scanpath_studio/wizard.py _render_data_setup._estimate   3 0 0   100%
scanpath_studio/wizard.py (no function)   141 0 0   100%
scanpath_studio/wizard_shell.py numbered   7 0 0   100%
scanpath_studio/wizard_shell.py open_key   1 0 0   100%
scanpath_studio/wizard_shell.py part_key   1 0 0   100%
scanpath_studio/wizard_shell.py part   12 0 0   100%
scanpath_studio/wizard_shell.py _badge_concept   1 0 0   100%
scanpath_studio/wizard_shell.py badge   1 0 0   100%
scanpath_studio/wizard_shell.py go_to_step   2 0 0   100%
scanpath_studio/wizard_shell.py reset_accordion   2 0 0   100%
scanpath_studio/wizard_shell.py step_panel   4 1 0   75%
scanpath_studio/wizard_shell.py (no function)   39 0 0   100%
Total     33906 2464 51   93%

No items found using the specified filter.