Coverage report: 22%

Files Functions Classes

coverage.py v7.13.1, created at 2026-01-15 17:50 +0000

File function   statements missing excluded   coverage
src / thunderfish / __init__.py (no function)   3 0 0   100%
src / thunderfish / bestwindow.py clip_amplitudes   21 3 0   86%
src / thunderfish / bestwindow.py plot_clipping   10 10 0   0%
src / thunderfish / bestwindow.py add_clip_config   6 0 0   100%
src / thunderfish / bestwindow.py clip_args   3 0 0   100%
src / thunderfish / bestwindow.py best_window_indices   68 16 0   76%
src / thunderfish / bestwindow.py best_window_times   2 0 0   100%
src / thunderfish / bestwindow.py best_window   2 0 0   100%
src / thunderfish / bestwindow.py plot_best_window   29 1 0   97%
src / thunderfish / bestwindow.py plot_data_window   15 2 0   87%
src / thunderfish / bestwindow.py add_best_window_config   11 0 0   100%
src / thunderfish / bestwindow.py best_window_args   1 0 0   100%
src / thunderfish / bestwindow.py analysis_window   61 10 0   84%
src / thunderfish / bestwindow.py main   30 5 0   83%
src / thunderfish / bestwindow.py (no function)   25 5 0   80%
src / thunderfish / checkpulse.py check_pulse   23 23 0   0%
src / thunderfish / checkpulse.py check_pulse.ratio   5 5 0   0%
src / thunderfish / checkpulse.py add_check_pulse_config   5 5 0   0%
src / thunderfish / checkpulse.py check_pulse_args   2 2 0   0%
src / thunderfish / checkpulse.py (no function)   28 28 0   0%
src / thunderfish / chirp.py true_chirp_power_drop   13 13 0   0%
src / thunderfish / chirp.py true_chirp_power_rise_above   10 10 0   0%
src / thunderfish / chirp.py chirp_detection   29 29 0   0%
src / thunderfish / chirp.py chirp_detection_plot   12 12 0   0%
src / thunderfish / chirp.py chirp_analysis   6 6 0   0%
src / thunderfish / chirp.py (no function)   17 17 0   0%
src / thunderfish / collectfish.py collect_fish   288 288 0   0%
src / thunderfish / collectfish.py collect_fish.file_iter   12 12 0   0%
src / thunderfish / collectfish.py collect_fish.find_recording   6 6 0   0%
src / thunderfish / collectfish.py rangestr   10 10 0   0%
src / thunderfish / collectfish.py main   110 110 0   0%
src / thunderfish / collectfish.py (no function)   22 22 0   0%
src / thunderfish / consistentfishes.py find_consistency   8 8 0   0%
src / thunderfish / consistentfishes.py consistent_fishes   12 12 0   0%
src / thunderfish / consistentfishes.py plot_consistent_fishes   12 12 0   0%
src / thunderfish / consistentfishes.py (no function)   27 27 0   0%
src / thunderfish / efield.py efish_monopoles   24 24 0   0%
src / thunderfish / efield.py object_monopoles   11 11 0   0%
src / thunderfish / efield.py epotential   9 9 0   0%
src / thunderfish / efield.py epotential_meshgrid   3 3 0   0%
src / thunderfish / efield.py efield   13 13 0   0%
src / thunderfish / efield.py efield_meshgrid   7 7 0   0%
src / thunderfish / efield.py projection   4 4 0   0%
src / thunderfish / efield.py fieldline   24 24 0   0%
src / thunderfish / efield.py squareroot_transform   10 10 0   0%
src / thunderfish / efield.py plot_fieldlines   32 32 0   0%
src / thunderfish / efield.py main   28 28 0   0%
src / thunderfish / efield.py (no function)   16 16 0   0%
src / thunderfish / eodanalysis.py eod_waveform   31 11 0   65%
src / thunderfish / eodanalysis.py adjust_eodf   1 1 0   0%
src / thunderfish / eodanalysis.py waveeod_waveform   55 55 0   0%
src / thunderfish / eodanalysis.py waveeod_waveform.fourier_wave   7 7 0   0%
src / thunderfish / eodanalysis.py waveeod_waveform.fourier_range   8 8 0   0%
src / thunderfish / eodanalysis.py unfilter   11 11 0   0%
src / thunderfish / eodanalysis.py fourier_series   5 0 0   100%
src / thunderfish / eodanalysis.py analyze_wave   140 36 0   74%
src / thunderfish / eodanalysis.py exp_decay   1 0 0   100%
src / thunderfish / eodanalysis.py pulse_spectrum   26 7 0   73%
src / thunderfish / eodanalysis.py analyze_pulse_spectrum   11 0 0   100%
src / thunderfish / eodanalysis.py analyze_pulse_phases   44 8 0   82%
src / thunderfish / eodanalysis.py gaussian_sum   4 0 0   100%
src / thunderfish / eodanalysis.py gaussian_sum_spectrum   7 0 0   100%
src / thunderfish / eodanalysis.py gaussian_sum_costs   13 0 0   100%
src / thunderfish / eodanalysis.py decompose_pulse   43 18 0   58%
src / thunderfish / eodanalysis.py analyze_pulse_tail   59 23 0   61%
src / thunderfish / eodanalysis.py analyze_pulse_intervals   13 5 0   62%
src / thunderfish / eodanalysis.py analyze_pulse   143 17 0   88%
src / thunderfish / eodanalysis.py load_species_waveforms   43 43 0   0%
src / thunderfish / eodanalysis.py wave_similarity   48 48 0   0%
src / thunderfish / eodanalysis.py pulse_similarity   30 30 0   0%
src / thunderfish / eodanalysis.py clipped_fraction   7 7 0   0%
src / thunderfish / eodanalysis.py wave_quality   64 64 0   0%
src / thunderfish / eodanalysis.py pulse_quality   19 19 0   0%
src / thunderfish / eodanalysis.py plot_eod_recording   23 23 0   0%
src / thunderfish / eodanalysis.py plot_pulse_eods   41 41 0   0%
src / thunderfish / eodanalysis.py plot_eod_snippets   16 16 0   0%
src / thunderfish / eodanalysis.py plot_eod_waveform   122 82 0   33%
src / thunderfish / eodanalysis.py plot_wave_spectrum   24 24 0   0%
src / thunderfish / eodanalysis.py plot_pulse_spectrum   37 7 0   81%
src / thunderfish / eodanalysis.py save_eod_waveform   12 12 0   0%
src / thunderfish / eodanalysis.py load_eod_waveform   4 4 0   0%
src / thunderfish / eodanalysis.py save_wave_eodfs   9 9 0   0%
src / thunderfish / eodanalysis.py load_wave_eodfs   9 9 0   0%
src / thunderfish / eodanalysis.py save_wave_fish   47 47 0   0%
src / thunderfish / eodanalysis.py load_wave_fish   29 29 0   0%
src / thunderfish / eodanalysis.py save_pulse_fish   51 51 0   0%
src / thunderfish / eodanalysis.py load_pulse_fish   32 32 0   0%
src / thunderfish / eodanalysis.py save_wave_spectrum   10 10 0   0%
src / thunderfish / eodanalysis.py load_wave_spectrum   4 4 0   0%
src / thunderfish / eodanalysis.py save_pulse_spectrum   8 8 0   0%
src / thunderfish / eodanalysis.py load_pulse_spectrum   3 3 0   0%
src / thunderfish / eodanalysis.py save_pulse_phases   10 10 0   0%
src / thunderfish / eodanalysis.py load_pulse_phases   8 8 0   0%
src / thunderfish / eodanalysis.py save_pulse_gaussians   12 12 0   0%
src / thunderfish / eodanalysis.py load_pulse_gaussians   8 8 0   0%
src / thunderfish / eodanalysis.py save_pulse_times   15 15 0   0%
src / thunderfish / eodanalysis.py load_pulse_times   3 3 0   0%
src / thunderfish / eodanalysis.py parse_filename   23 23 0   0%
src / thunderfish / eodanalysis.py save_analysis   29 29 0   0%
src / thunderfish / eodanalysis.py save_analysis.write_file_zip   11 11 0   0%
src / thunderfish / eodanalysis.py load_analysis   72 72 0   0%
src / thunderfish / eodanalysis.py load_recording   40 40 0   0%
src / thunderfish / eodanalysis.py add_eod_analysis_config   18 18 0   0%
src / thunderfish / eodanalysis.py eod_waveform_args   2 2 0   0%
src / thunderfish / eodanalysis.py analyze_wave_args   2 2 0   0%
src / thunderfish / eodanalysis.py analyze_pulse_args   3 3 0   0%
src / thunderfish / eodanalysis.py add_species_config   4 4 0   0%
src / thunderfish / eodanalysis.py add_eod_quality_config   10 10 0   0%
src / thunderfish / eodanalysis.py wave_quality_args   2 2 0   0%
src / thunderfish / eodanalysis.py pulse_quality_args   2 2 0   0%
src / thunderfish / eodanalysis.py main   15 15 0   0%
src / thunderfish / eodanalysis.py (no function)   84 3 0   96%
src / thunderfish / eodexplorer.py EODExplorer.__init__   57 57 0   0%
src / thunderfish / eodexplorer.py EODExplorer.__init__.get_spectra   4 4 0   0%
src / thunderfish / eodexplorer.py EODExplorer.fix_scatter_plot   40 40 0   0%
src / thunderfish / eodexplorer.py EODExplorer.fix_waveform_plot   55 55 0   0%
src / thunderfish / eodexplorer.py EODExplorer.list_selection   24 24 0   0%
src / thunderfish / eodexplorer.py EODExplorer.analyze_selection   32 32 0   0%
src / thunderfish / eodexplorer.py EODExplorer.select_EOD_properties   95 95 0   0%
src / thunderfish / eodexplorer.py load_waveform   23 23 0   0%
src / thunderfish / eodexplorer.py main   108 108 0   0%
src / thunderfish / eodexplorer.py (no function)   44 44 0   0%
src / thunderfish / fakefish.py abbrv_genus   2 0 0   100%
src / thunderfish / fakefish.py wavefish_spectrum   18 0 0   100%
src / thunderfish / fakefish.py wavefish_eods   11 0 0   100%
src / thunderfish / fakefish.py normalize_wavefish   18 0 0   100%
src / thunderfish / fakefish.py export_wavefish   29 0 0   100%
src / thunderfish / fakefish.py chirps   23 4 0   83%
src / thunderfish / fakefish.py rises   14 0 0   100%
src / thunderfish / fakefish.py pulsefish_phases   17 0 0   100%
src / thunderfish / fakefish.py pulsefish_spectrum   8 8 0   0%
src / thunderfish / fakefish.py pulsefish_waveform   5 0 0   100%
src / thunderfish / fakefish.py pulsefish_eods   20 0 0   100%
src / thunderfish / fakefish.py normalize_pulsefish   12 0 0   100%
src / thunderfish / fakefish.py export_pulsefish   42 0 0   100%
src / thunderfish / fakefish.py generate_waveform   64 1 0   98%
src / thunderfish / fakefish.py generate_testfiles   83 83 0   0%
src / thunderfish / fakefish.py demo   62 0 0   100%
src / thunderfish / fakefish.py main   16 4 0   75%
src / thunderfish / fakefish.py (no function)   39 2 0   95%
src / thunderfish / fishfinder.py SignalPlot.__init__   101 101 0   0%
src / thunderfish / fishfinder.py SignalPlot.__del__   1 1 0   0%
src / thunderfish / fishfinder.py SignalPlot.remove_peak_annotation   6 6 0   0%
src / thunderfish / fishfinder.py SignalPlot.annotate_peak   11 11 0   0%
src / thunderfish / fishfinder.py SignalPlot.annotate_fish   6 6 0   0%
src / thunderfish / fishfinder.py SignalPlot.update_plots   124 124 0   0%
src / thunderfish / fishfinder.py SignalPlot.keypress   221 221 0   0%
src / thunderfish / fishfinder.py SignalPlot.buttonpress   34 34 0   0%
src / thunderfish / fishfinder.py SignalPlot.onpick   3 3 0   0%
src / thunderfish / fishfinder.py SignalPlot.resize   14 14 0   0%
src / thunderfish / fishfinder.py SignalPlot.plot_waveform   26 26 0   0%
src / thunderfish / fishfinder.py SignalPlot.play_segment   5 5 0   0%
src / thunderfish / fishfinder.py SignalPlot.save_segment   9 9 0   0%
src / thunderfish / fishfinder.py SignalPlot.play_all   1 1 0   0%
src / thunderfish / fishfinder.py SignalPlot.play_tone   1 1 0   0%
src / thunderfish / fishfinder.py short_user_warning   6 6 0   0%
src / thunderfish / fishfinder.py main   28 28 0   0%
src / thunderfish / fishfinder.py (no function)   38 38 0   0%
src / thunderfish / fishshapes.py fish_shape   7 0 0   100%
src / thunderfish / fishshapes.py plot_fish   33 0 0   100%
src / thunderfish / fishshapes.py plot_object   1 0 0   100%
src / thunderfish / fishshapes.py plot_fishfinder   25 0 0   100%
src / thunderfish / fishshapes.py plot_pathes   14 0 0   100%
src / thunderfish / fishshapes.py fish_surface   38 1 0   97%
src / thunderfish / fishshapes.py surface_normals   9 0 0   100%
src / thunderfish / fishshapes.py extract_path   9 0 0   100%
src / thunderfish / fishshapes.py bbox_pathes   14 0 0   100%
src / thunderfish / fishshapes.py translate_pathes   3 0 0   100%
src / thunderfish / fishshapes.py center_pathes   4 0 0   100%
src / thunderfish / fishshapes.py rotate_pathes   6 0 0   100%
src / thunderfish / fishshapes.py flipx_pathes   2 0 0   100%
src / thunderfish / fishshapes.py flipy_pathes   2 0 0   100%
src / thunderfish / fishshapes.py mirror_path   4 0 0   100%
src / thunderfish / fishshapes.py normalize_path   6 0 0   100%
src / thunderfish / fishshapes.py bend_path   12 0 0   100%
src / thunderfish / fishshapes.py export_path   7 0 0   100%
src / thunderfish / fishshapes.py export_fish   10 0 0   100%
src / thunderfish / fishshapes.py export_fish_demo   17 0 0   100%
src / thunderfish / fishshapes.py main   37 0 0   100%
src / thunderfish / fishshapes.py (no function)   47 1 0   98%
src / thunderfish / harmonics.py group_candidate   98 16 0   84%
src / thunderfish / harmonics.py update_group   26 1 0   96%
src / thunderfish / harmonics.py build_harmonic_group   46 1 0   98%
src / thunderfish / harmonics.py retrieve_harmonic_group   14 7 0   50%
src / thunderfish / harmonics.py expand_group   28 4 0   86%
src / thunderfish / harmonics.py extract_fundamentals   83 23 0   72%
src / thunderfish / harmonics.py threshold_estimate   8 0 0   100%
src / thunderfish / harmonics.py harmonic_groups   35 3 0   91%
src / thunderfish / harmonics.py fundamental_freqs   14 1 0   93%
src / thunderfish / harmonics.py fundamental_freqs_and_power   16 1 0   94%
src / thunderfish / harmonics.py add_relative_power   1 0 0   100%
src / thunderfish / harmonics.py add_power_ranks   7 0 0   100%
src / thunderfish / harmonics.py similar_indices   31 8 0   74%
src / thunderfish / harmonics.py unique_mask   27 4 0   85%
src / thunderfish / harmonics.py unique   24 7 0   71%
src / thunderfish / harmonics.py colors_markers   24 0 0   100%
src / thunderfish / harmonics.py plot_harmonic_groups   44 13 0   70%
src / thunderfish / harmonics.py plot_psd_harmonic_groups   13 0 0   100%
src / thunderfish / harmonics.py add_psd_peak_detection_config   7 0 0   100%
src / thunderfish / harmonics.py psd_peak_detection_args   1 0 0   100%
src / thunderfish / harmonics.py add_harmonic_groups_config   14 0 0   100%
src / thunderfish / harmonics.py harmonic_groups_args   1 0 0   100%
src / thunderfish / harmonics.py main   58 5 0   91%
src / thunderfish / harmonics.py (no function)   37 5 0   86%
src / thunderfish / hopkinsloader.py load_hopkins   41 41 0   0%
src / thunderfish / hopkinsloader.py analyse_hopkins   27 27 0   0%
src / thunderfish / hopkinsloader.py (no function)   20 20 0   0%
src / thunderfish / pulseplots.py warn   1 1 0   0%
src / thunderfish / pulseplots.py darker   23 23 0   0%
src / thunderfish / pulseplots.py lighter   23 23 0   0%
src / thunderfish / pulseplots.py xscalebar   53 53 0   0%
src / thunderfish / pulseplots.py yscalebar   53 53 0   0%
src / thunderfish / pulseplots.py arrowed_spines   5 5 0   0%
src / thunderfish / pulseplots.py loghist   1 1 0   0%
src / thunderfish / pulseplots.py plot_all   18 18 0   0%
src / thunderfish / pulseplots.py plot_clustering   118 118 0   0%
src / thunderfish / pulseplots.py plot_bgm   59 59 0   0%
src / thunderfish / pulseplots.py plot_feature_extraction   54 54 0   0%
src / thunderfish / pulseplots.py plot_moving_fish   45 45 0   0%
src / thunderfish / pulseplots.py (no function)   34 34 0   0%
src / thunderfish / pulses.py warn   1 1 0   0%
src / thunderfish / pulses.py unique_counts   10 10 0   0%
src / thunderfish / pulses.py extract_pulsefish   52 52 0   0%
src / thunderfish / pulses.py detect_pulses   56 56 0   0%
src / thunderfish / pulses.py assign_side_peaks   23 23 0   0%
src / thunderfish / pulses.py cluster   136 136 0   0%
src / thunderfish / pulses.py BGM   36 36 0   0%
src / thunderfish / pulses.py merge_gaussians   11 11 0   0%
src / thunderfish / pulses.py extract_snippet_features   6 6 0   0%
src / thunderfish / pulses.py cluster_on_shape   7 7 0   0%
src / thunderfish / pulses.py subtract_slope   8 8 0   0%
src / thunderfish / pulses.py remove_artefacts   17 17 0   0%
src / thunderfish / pulses.py delete_unreliable_fish   14 14 0   0%
src / thunderfish / pulses.py delete_wavefish_and_sidepeaks   34 34 0   0%
src / thunderfish / pulses.py merge_clusters   33 33 0   0%
src / thunderfish / pulses.py extract_means   17 17 0   0%
src / thunderfish / pulses.py find_clipped_clusters   12 12 0   0%
src / thunderfish / pulses.py delete_moving_fish   78 78 0   0%
src / thunderfish / pulses.py remove_sparse_detections   9 9 0   0%
src / thunderfish / pulses.py (no function)   42 42 0   0%
src / thunderfish / pulsetracker.py makeeventlist   38 38 0   0%
src / thunderfish / pulsetracker.py discardnearbyevents   21 21 0   0%
src / thunderfish / pulsetracker.py crosscorrelation   1 1 0   0%
src / thunderfish / pulsetracker.py interpol   3 3 0   0%
src / thunderfish / pulsetracker.py interpolated_array   1 1 0   0%
src / thunderfish / pulsetracker.py cut_snippets   33 33 0   0%
src / thunderfish / pulsetracker.py pc   3 3 0   0%
src / thunderfish / pulsetracker.py chebyshev   7 7 0   0%
src / thunderfish / pulsetracker.py dbscan   8 8 1   0%
src / thunderfish / pulsetracker.py cluster_events   5 5 0   0%
src / thunderfish / pulsetracker.py Peaklist.__init__   9 9 0   0%
src / thunderfish / pulsetracker.py connect_blocks   9 9 0   0%
src / thunderfish / pulsetracker.py alignclusterlabels   18 18 0   0%
src / thunderfish / pulsetracker.py ampwalkclassify3_refactor   127 127 0   0%
src / thunderfish / pulsetracker.py discard_wave_pulses   21 21 0   0%
src / thunderfish / pulsetracker.py plot_events_on_data   16 16 0   0%
src / thunderfish / pulsetracker.py discard_short_classes   8 8 0   0%
src / thunderfish / pulsetracker.py path_leaf   3 3 0   0%
src / thunderfish / pulsetracker.py save_EOD_events_to_npmmp   7 7 0   0%
src / thunderfish / pulsetracker.py create_threshold_array   5 5 0   0%
src / thunderfish / pulsetracker.py alignlabels   10 10 0   0%
src / thunderfish / pulsetracker.py analyze_pulse_data   136 136 0   0%
src / thunderfish / pulsetracker.py main   2 2 0   0%
src / thunderfish / pulsetracker.py (no function)   45 45 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.__init__   193 193 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.__del__   1 1 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.plot_pulses   23 23 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.plot_pulses.plot_pulse_traces   13 13 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.update_plots   18 18 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.on_pick   60 60 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.resize   9 9 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.keypress   144 144 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.play_segment   6 6 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.play_all   1 1 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.save_segment   11 11 0   0%
src / thunderfish / thunderbrowse.py SignalPlot.plot_traces   39 39 0   0%
src / thunderfish / thunderbrowse.py short_user_warning   6 6 0   0%
src / thunderfish / thunderbrowse.py main   25 25 0   0%
src / thunderfish / thunderbrowse.py (no function)   28 28 0   0%
src / thunderfish / thunderfish.py configuration   18 18 0   0%
src / thunderfish / thunderfish.py save_configuration   10 10 0   0%
src / thunderfish / thunderfish.py detect_eods   145 145 0   0%
src / thunderfish / thunderfish.py remove_eod_files   8 8 0   0%
src / thunderfish / thunderfish.py plot_style   4 4 0   0%
src / thunderfish / thunderfish.py axes_style   4 4 0   0%
src / thunderfish / thunderfish.py plot_eods   205 205 0   0%
src / thunderfish / thunderfish.py plot_eods.keypress   9 9 0   0%
src / thunderfish / thunderfish.py plot_eods.recording_format_coord   1 1 0   0%
src / thunderfish / thunderfish.py plot_eods.recordingzoom_format_coord   1 1 0   0%
src / thunderfish / thunderfish.py plot_eods.psd_format_coord   1 1 0   0%
src / thunderfish / thunderfish.py plot_eods.meaneod_format_coord   1 1 0   0%
src / thunderfish / thunderfish.py plot_eods.ampl_format_coord   1 1 0   0%
src / thunderfish / thunderfish.py plot_eods.phase_format_coord   1 1 0   0%
src / thunderfish / thunderfish.py plot_eods.pulsepsd_format_coord   1 1 0   0%
src / thunderfish / thunderfish.py plot_eod_subplots   175 175 0   0%
src / thunderfish / thunderfish.py thunderfish_plot   62 62 0   0%
src / thunderfish / thunderfish.py thunderfish   92 92 0   0%
src / thunderfish / thunderfish.py run_thunderfish   17 17 0   0%
src / thunderfish / thunderfish.py main   130 130 0   0%
src / thunderfish / thunderfish.py (no function)   77 77 0   0%
src / thunderfish / thunderlogger.py add_thunderlogger_config   6 6 0   0%
src / thunderfish / thunderlogger.py extract_eods   104 104 0   0%
src / thunderfish / thunderlogger.py save_times   14 14 0   0%
src / thunderfish / thunderlogger.py load_times   9 9 0   0%
src / thunderfish / thunderlogger.py save_power   8 8 0   0%
src / thunderfish / thunderlogger.py load_power   17 17 0   0%
src / thunderfish / thunderlogger.py save_data   29 29 0   0%
src / thunderfish / thunderlogger.py load_data   61 61 0   0%
src / thunderfish / thunderlogger.py plot_signal_power   28 28 0   0%
src / thunderfish / thunderlogger.py merge_fish   32 32 0   0%
src / thunderfish / thunderlogger.py plot_eod_occurances   64 64 0   0%
src / thunderfish / thunderlogger.py main   119 119 0   0%
src / thunderfish / thunderlogger.py (no function)   38 38 0   0%
src / thunderfish / version.py (no function)   7 0 0   100%
Total     9165 7113 1   22%

No items found using the specified filter.