TwoPy 0.1.8__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {twopy-0.1.8 → twopy-0.2.0}/PKG-INFO +2 -1
- {twopy-0.1.8 → twopy-0.2.0}/README.md +1 -0
- {twopy-0.1.8 → twopy-0.2.0}/pyproject.toml +1 -1
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/__init__.py +76 -9
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/__init__.py +77 -9
- twopy-0.2.0/src/twopy/analysis/group_matching.py +612 -0
- twopy-0.2.0/src/twopy/analysis/kernels/__init__.py +352 -0
- twopy-0.2.0/src/twopy/analysis/kernels/_fitting.py +360 -0
- twopy-0.2.0/src/twopy/analysis/kernels/_stimulus.py +432 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/persistence.py +9 -18
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/response_context.py +8 -11
- twopy-0.2.0/src/twopy/analysis/response_maps.py +728 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/response_processing/__init__.py +1 -1
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/response_processing/options.py +7 -8
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/response_processing/signals.py +7 -4
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/response_window_options.py +1 -1
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/responses.py +63 -19
- twopy-0.2.0/src/twopy/analysis/timing.py +315 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/trials.py +1 -84
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/workflow.py +9 -9
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis_cache.py +33 -6
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/api.py +6 -4
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/config.py +172 -36
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/conversion/api.py +63 -6
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/conversion/hdf5_writing.py +1 -1
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/conversion/source_loading.py +26 -6
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/conversion/stimulus_code.py +1 -1
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/conversion/types.py +2 -2
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/converted.py +60 -1
- twopy-0.2.0/src/twopy/custom/__init__.py +69 -0
- twopy-0.2.0/src/twopy/custom/discovery.py +303 -0
- twopy-0.2.0/src/twopy/custom/native.py +27 -0
- twopy-0.2.0/src/twopy/custom/native_workflows/__init__.py +5 -0
- twopy-0.2.0/src/twopy/custom/native_workflows/direction_selectivity.py +201 -0
- twopy-0.2.0/src/twopy/custom/native_workflows/response_kernels.py +502 -0
- twopy-0.2.0/src/twopy/custom/parameters.py +380 -0
- twopy-0.2.0/src/twopy/custom/provenance.py +385 -0
- twopy-0.2.0/src/twopy/custom/registry.py +78 -0
- twopy-0.2.0/src/twopy/custom/types.py +838 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/database/__init__.py +6 -2
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/database/cache.py +1 -1
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/database/catalog.py +1 -1
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/database/generic.py +1 -1
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/database/modeled.py +7 -4
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/database/search.py +180 -6
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/database/types.py +0 -3
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/filenames.py +4 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/hdf5_utils.py +2 -2
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/controls.py +328 -183
- twopy-0.2.0/src/twopy/napari/custom_tab.py +607 -0
- twopy-0.2.0/src/twopy/napari/database_favorites.py +416 -0
- twopy-0.2.0/src/twopy/napari/database_search.py +815 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/display_paths.py +15 -3
- twopy-0.2.0/src/twopy/napari/group_matching.py +596 -0
- twopy-0.2.0/src/twopy/napari/group_matching_images.py +283 -0
- twopy-0.2.0/src/twopy/napari/group_matching_roi.py +1211 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/interactive.py +17 -21
- twopy-0.2.0/src/twopy/napari/latest_worker.py +144 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/live_analysis.py +58 -98
- twopy-0.2.0/src/twopy/napari/load_workflow.py +409 -0
- twopy-0.2.0/src/twopy/napari/loaded_recordings_csv.py +110 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/loading.py +81 -13
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/data.py +173 -38
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/docks/api.py +2 -2
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/docks/options_panel.py +24 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/docks/plot_area.py +46 -0
- twopy-0.2.0/src/twopy/napari/plotting/docks/response_map_area.py +463 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/docks/response_plot_widget.py +743 -24
- twopy-0.2.0/src/twopy/napari/plotting/docks/save_actions.py +129 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/export.py +170 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/export_controls.py +30 -4
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/form_controls.py +5 -1
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/normalization_options.py +6 -1
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/processing_options.py +197 -93
- twopy-0.2.0/src/twopy/napari/plotting/response_map_colors.py +24 -0
- twopy-0.2.0/src/twopy/napari/plotting/response_map_display.py +131 -0
- twopy-0.2.0/src/twopy/napari/plotting/response_map_options.py +350 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/roi_generation/actions.py +2 -2
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/widgets.py +67 -0
- twopy-0.2.0/src/twopy/napari/responses.py +245 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/session.py +42 -11
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/sidebar.py +91 -4
- twopy-0.2.0/src/twopy/napari/text.py +64 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/trial_timeline.py +3 -3
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy.egg-info/PKG-INFO +2 -1
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy.egg-info/SOURCES.txt +52 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_api.py +15 -4
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_background_subtraction.py +15 -17
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_config.py +162 -32
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_conversion.py +194 -15
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_converted.py +73 -111
- twopy-0.2.0/tests/test_custom_workflows.py +926 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_database.py +94 -14
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_epoch_mapping.py +5 -30
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_filenames.py +2 -0
- twopy-0.2.0/tests/test_group_matching.py +384 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_hdf5_utils.py +3 -4
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_inspection.py +3 -3
- twopy-0.2.0/tests/test_kernels.py +482 -0
- twopy-0.2.0/tests/test_load_workflow.py +617 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_matlab.py +5 -5
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_motion.py +4 -33
- twopy-0.2.0/tests/test_napari.py +505 -0
- twopy-0.2.0/tests/test_napari_database_search.py +639 -0
- twopy-0.2.0/tests/test_napari_display.py +132 -0
- twopy-0.2.0/tests/test_napari_export.py +324 -0
- twopy-0.2.0/tests/test_napari_live_controller.py +574 -0
- twopy-0.2.0/tests/test_napari_load_tab.py +445 -0
- twopy-0.2.0/tests/test_napari_loaded_recordings.py +626 -0
- twopy-0.2.0/tests/test_napari_path_resolution.py +619 -0
- twopy-0.2.0/tests/test_napari_plot_controls.py +466 -0
- twopy-0.2.0/tests/test_napari_plot_data.py +366 -0
- twopy-0.2.0/tests/test_napari_plot_widgets.py +799 -0
- twopy-0.2.0/tests/test_napari_processing_controls.py +650 -0
- twopy-0.2.0/tests/test_napari_response_map_display.py +85 -0
- twopy-0.2.0/tests/test_napari_response_workflow.py +756 -0
- twopy-0.2.0/tests/test_napari_roi_generation.py +620 -0
- twopy-0.2.0/tests/test_napari_roi_visibility.py +314 -0
- twopy-0.2.0/tests/test_napari_text.py +49 -0
- twopy-0.2.0/tests/test_napari_timeline.py +251 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_packaging.py +15 -23
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_parity.py +12 -34
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_parity_psycho5.py +12 -67
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_persistence.py +9 -9
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_photodiode_classification.py +4 -31
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_pixel_calibration.py +5 -4
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_real_fixture.py +2 -2
- twopy-0.2.0/tests/test_recording_timing.py +200 -0
- twopy-0.2.0/tests/test_response_map_area.py +98 -0
- twopy-0.2.0/tests/test_response_maps.py +285 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_response_processing.py +45 -28
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_response_roi_extraction.py +12 -38
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_responses.py +21 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_roi.py +9 -13
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_saved_analysis.py +2 -2
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_session.py +7 -6
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_stimulus.py +38 -73
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_synchronization.py +25 -57
- twopy-0.2.0/tests/test_trials.py +182 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_workflow.py +16 -79
- twopy-0.1.8/src/twopy/napari/database_search.py +0 -491
- twopy-0.1.8/src/twopy/napari/plotting/docks/save_actions.py +0 -144
- twopy-0.1.8/src/twopy/napari/responses.py +0 -136
- twopy-0.1.8/src/twopy/napari/text.py +0 -26
- twopy-0.1.8/tests/test_napari.py +0 -5572
- twopy-0.1.8/tests/test_trials.py +0 -372
- {twopy-0.1.8 → twopy-0.2.0}/setup.cfg +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/_segments.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/_version.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/background_subtraction.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/dff.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/dff_options.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/epoch_mapping.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/motion.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/response_processing/apply.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/response_processing/persistence.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/analysis/response_processing/qc.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/calibrations/pixel_calibration_profiles.csv +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/calibrations/pixel_size.csv +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/conversion/__init__.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/conversion/alignment_crop.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/conversion/matlab_values.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/database/connection.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/database/sql.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/frame_ranges.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/inspection.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/matlab.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/__init__.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/__main__.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/dims.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/display.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/errors.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/launcher.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/movie.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/paths.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/__init__.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/dff_options.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/docks/__init__.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/docks/dynamic_options.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/docks/paths.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/docks/visibility_state.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/label_visibility.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/options.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/panels.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/response_window_options.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/roi_generation/__init__.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/roi_generation/controls.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/plotting/roi_generation/options.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/protocols.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/roi.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/state.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/types.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/napari/viewer.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/parity/__init__.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/parity/dff.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/parity/psycho5.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/parity/roi.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/parity/roi_extraction.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/parity/saved_analysis.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/photodiode.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/photodiode_classification.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/pixel_calibration.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/pixel_calibration_profiles.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/response_roi_extraction.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/roi.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/roi_extraction.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/roi_mask_cleanup.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/session.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/spatial.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/stimulus.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/synchronization.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy/typing_guards.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy.egg-info/dependency_links.txt +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy.egg-info/entry_points.txt +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy.egg-info/requires.txt +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/src/twopy.egg-info/top_level.txt +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_dff.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_frame_ranges.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_import.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_parity_roi_extraction.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_pixel_calibration_profiles.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_response_window_options.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_roi_extraction.py +0 -0
- {twopy-0.1.8 → twopy-0.2.0}/tests/test_roi_mask_cleanup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: twopy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Two-photon imaging analysis tool with a napari interface.
|
|
5
5
|
Author-email: Gustavo Madeira Santana <fromweb1@gumadeiras.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -75,6 +75,7 @@ When a source recording has not been converted yet, twopy converts it first. Con
|
|
|
75
75
|
|
|
76
76
|
- [GUI guide](docs/gui.md): napari loading, ROI editing, plotting, and saved outputs.
|
|
77
77
|
- [Python API guide](docs/python_api.md): find recordings, convert data, run analysis, and open napari from scripts.
|
|
78
|
+
- [Custom workflow guide](docs/custom_workflows.md): add versioned local analyses to the napari Custom tab.
|
|
78
79
|
- [Development guide](docs/development.md): source setup and local checks.
|
|
79
80
|
- [Input data spec](docs/input_data_spec.md): short recording folder contract.
|
|
80
81
|
- [Recording file reference](docs/recording_file_schema.md): detailed source and converted file schema.
|
|
@@ -55,6 +55,7 @@ When a source recording has not been converted yet, twopy converts it first. Con
|
|
|
55
55
|
|
|
56
56
|
- [GUI guide](docs/gui.md): napari loading, ROI editing, plotting, and saved outputs.
|
|
57
57
|
- [Python API guide](docs/python_api.md): find recordings, convert data, run analysis, and open napari from scripts.
|
|
58
|
+
- [Custom workflow guide](docs/custom_workflows.md): add versioned local analyses to the napari Custom tab.
|
|
58
59
|
- [Development guide](docs/development.md): source setup and local checks.
|
|
59
60
|
- [Input data spec](docs/input_data_spec.md): short recording folder contract.
|
|
60
61
|
- [Recording file reference](docs/recording_file_schema.md): detailed source and converted file schema.
|
|
@@ -18,36 +18,67 @@ from twopy.analysis import (
|
|
|
18
18
|
DeltaFOverFFitMode,
|
|
19
19
|
DeltaFOverFOptions,
|
|
20
20
|
EpochFrameWindow,
|
|
21
|
+
EpochResponseMap,
|
|
21
22
|
FrameWindow,
|
|
22
23
|
GroupedRoiResponses,
|
|
23
24
|
GroupedRoiResponseSummary,
|
|
24
|
-
|
|
25
|
+
Hemisphere,
|
|
26
|
+
KernelFitMethod,
|
|
27
|
+
KernelStimulusModality,
|
|
25
28
|
LoadedAnalysisOutputs,
|
|
26
29
|
LowPassFilterOptions,
|
|
30
|
+
ManualFovGroupRow,
|
|
31
|
+
ManualRoiMatchGroup,
|
|
32
|
+
ManualRoiMatchRow,
|
|
33
|
+
ManualRoiMatchStatus,
|
|
34
|
+
RecordingKernelFit,
|
|
35
|
+
RecordingTiming,
|
|
36
|
+
ResponseMapData,
|
|
37
|
+
ResponseMapMode,
|
|
38
|
+
ResponseMapOptions,
|
|
27
39
|
ResponseProcessingOptions,
|
|
28
40
|
RoiCorrelationScores,
|
|
29
41
|
RoiDeltaFOverF,
|
|
30
42
|
RoiResponseSummary,
|
|
31
43
|
RoiResponseTrial,
|
|
32
44
|
SmoothingOptions,
|
|
45
|
+
StimulusKernelOptions,
|
|
46
|
+
TimingSource,
|
|
33
47
|
WindowedRoiResponse,
|
|
48
|
+
add_manual_roi_match_group,
|
|
34
49
|
analyze_recording_responses,
|
|
50
|
+
append_manual_roi_match_rows,
|
|
35
51
|
apply_motion_artifact_mask_to_delta_f_over_f,
|
|
52
|
+
compute_recording_response_maps,
|
|
36
53
|
compute_recording_responses,
|
|
37
54
|
compute_roi_delta_f_over_f,
|
|
38
55
|
default_baseline_epoch_number,
|
|
56
|
+
default_kernel_stimulus_column,
|
|
39
57
|
default_recording_baseline_epoch_number,
|
|
40
58
|
extract_background_corrected_roi_traces,
|
|
41
|
-
|
|
59
|
+
finite_mean_and_sem,
|
|
60
|
+
fit_recording_stimulus_kernels,
|
|
61
|
+
fit_stimulus_kernel,
|
|
42
62
|
group_delta_f_over_f_by_epoch,
|
|
43
|
-
interpolate_stimulus_epochs_to_frame_windows,
|
|
44
63
|
is_baseline_epoch_name,
|
|
45
64
|
load_analysis_outputs,
|
|
65
|
+
load_manual_fov_group_rows,
|
|
66
|
+
load_manual_roi_match_rows,
|
|
67
|
+
load_response_map_data,
|
|
46
68
|
make_frame_windows,
|
|
47
|
-
|
|
69
|
+
make_manual_fov_group_rows,
|
|
70
|
+
make_manual_roi_match_rows,
|
|
71
|
+
matched_manual_roi_groups,
|
|
72
|
+
next_group_cell_id,
|
|
48
73
|
no_baseline_epoch_frame_windows,
|
|
74
|
+
remove_manual_roi_match_group,
|
|
75
|
+
replace_manual_roi_match_group,
|
|
49
76
|
resolve_baseline_frame_windows,
|
|
77
|
+
resolve_recording_timing,
|
|
50
78
|
save_analysis_outputs,
|
|
79
|
+
save_manual_fov_group_rows,
|
|
80
|
+
save_manual_roi_match_rows,
|
|
81
|
+
save_response_map_data,
|
|
51
82
|
select_baseline_frame_windows,
|
|
52
83
|
split_traces_by_frame_windows,
|
|
53
84
|
summarize_epoch_roi_responses,
|
|
@@ -58,7 +89,11 @@ from twopy.analysis import (
|
|
|
58
89
|
)
|
|
59
90
|
from twopy.api import find_recordings
|
|
60
91
|
from twopy.conversion import convert_recording_to_twopy, load_source_conversion_inputs
|
|
61
|
-
from twopy.converted import
|
|
92
|
+
from twopy.converted import (
|
|
93
|
+
load_converted_recording,
|
|
94
|
+
recording_frame_rate_hz,
|
|
95
|
+
recording_hemisphere,
|
|
96
|
+
)
|
|
62
97
|
from twopy.napari import (
|
|
63
98
|
NapariRecordingView,
|
|
64
99
|
NapariSidebarWidgets,
|
|
@@ -143,8 +178,10 @@ __all__ = [
|
|
|
143
178
|
"AlignedPhotodiodeEvent",
|
|
144
179
|
"AnalysisResponseRun",
|
|
145
180
|
"AnalysisResponseComputation",
|
|
181
|
+
"add_manual_roi_match_group",
|
|
146
182
|
"analyze_recording_responses",
|
|
147
183
|
"add_twopy_magicgui_controls",
|
|
184
|
+
"append_manual_roi_match_rows",
|
|
148
185
|
"apply_motion_artifact_mask_to_delta_f_over_f",
|
|
149
186
|
"BackgroundCorrectedRoiTraces",
|
|
150
187
|
"BackgroundCorrectionMethod",
|
|
@@ -153,6 +190,7 @@ __all__ = [
|
|
|
153
190
|
"ClassifiedStimulusWindow",
|
|
154
191
|
"classify_recording_photodiode_events",
|
|
155
192
|
"compute_roi_delta_f_over_f",
|
|
193
|
+
"compute_recording_response_maps",
|
|
156
194
|
"compute_recording_responses",
|
|
157
195
|
"CorrelationFilterOptions",
|
|
158
196
|
"convert_recording_to_twopy",
|
|
@@ -161,32 +199,39 @@ __all__ = [
|
|
|
161
199
|
"DEFAULT_PIXEL_CALIBRATION_PATH",
|
|
162
200
|
"DEFAULT_PIXEL_CALIBRATION_PROFILE_PATH",
|
|
163
201
|
"default_baseline_epoch_number",
|
|
202
|
+
"default_kernel_stimulus_column",
|
|
164
203
|
"default_recording_baseline_epoch_number",
|
|
165
204
|
"detect_photodiode_events",
|
|
166
205
|
"detect_recording_photodiode_events",
|
|
167
206
|
"DeltaFOverFBaselineMode",
|
|
168
207
|
"DeltaFOverFFitMode",
|
|
169
208
|
"DeltaFOverFOptions",
|
|
209
|
+
"EpochResponseMap",
|
|
170
210
|
"EpochFrameWindow",
|
|
171
211
|
"extract_background_corrected_roi_traces",
|
|
172
212
|
"extract_response_watershed_rois",
|
|
173
213
|
"extract_rois_from_image",
|
|
174
214
|
"extract_roi_traces",
|
|
175
215
|
"find_recordings",
|
|
176
|
-
"
|
|
216
|
+
"fit_recording_stimulus_kernels",
|
|
217
|
+
"fit_stimulus_kernel",
|
|
177
218
|
"FrameWindow",
|
|
178
219
|
"full_frame_crop",
|
|
179
220
|
"group_delta_f_over_f_by_epoch",
|
|
180
221
|
"GroupedRoiResponseSummary",
|
|
181
222
|
"GroupedRoiResponses",
|
|
223
|
+
"Hemisphere",
|
|
182
224
|
"grid_roi_set",
|
|
183
225
|
"grid_roi_set_microns",
|
|
184
226
|
"grid_size_pixels_from_microns",
|
|
185
|
-
"InterpolatedEpochMapping",
|
|
186
|
-
"interpolate_stimulus_epochs_to_frame_windows",
|
|
187
227
|
"is_baseline_epoch_name",
|
|
228
|
+
"KernelFitMethod",
|
|
229
|
+
"KernelStimulusModality",
|
|
188
230
|
"launch_napari",
|
|
189
231
|
"load_analysis_outputs",
|
|
232
|
+
"load_response_map_data",
|
|
233
|
+
"load_manual_fov_group_rows",
|
|
234
|
+
"load_manual_roi_match_rows",
|
|
190
235
|
"load_converted_recording",
|
|
191
236
|
"load_pixel_calibrations",
|
|
192
237
|
"load_pixel_calibration_profile_mappings",
|
|
@@ -194,11 +239,20 @@ __all__ = [
|
|
|
194
239
|
"load_source_conversion_inputs",
|
|
195
240
|
"LoadedAnalysisOutputs",
|
|
196
241
|
"LowPassFilterOptions",
|
|
242
|
+
"ManualFovGroupRow",
|
|
243
|
+
"ManualRoiMatchGroup",
|
|
244
|
+
"ManualRoiMatchRow",
|
|
245
|
+
"ManualRoiMatchStatus",
|
|
246
|
+
"matched_manual_roi_groups",
|
|
197
247
|
"make_roi_set_from_label_image",
|
|
198
248
|
"make_frame_windows",
|
|
249
|
+
"make_manual_fov_group_rows",
|
|
250
|
+
"make_manual_roi_match_rows",
|
|
199
251
|
"make_roi_set",
|
|
200
|
-
"
|
|
252
|
+
"next_group_cell_id",
|
|
201
253
|
"no_baseline_epoch_frame_windows",
|
|
254
|
+
"remove_manual_roi_match_group",
|
|
255
|
+
"replace_manual_roi_match_group",
|
|
202
256
|
"map_stimulus_specific_column",
|
|
203
257
|
"NapariRecordingView",
|
|
204
258
|
"NapariSidebarWidgets",
|
|
@@ -218,14 +272,21 @@ __all__ = [
|
|
|
218
272
|
"PixelCalibrationRow",
|
|
219
273
|
"ResponseNormalization",
|
|
220
274
|
"ResponsePolarity",
|
|
275
|
+
"ResponseMapData",
|
|
276
|
+
"ResponseMapMode",
|
|
277
|
+
"ResponseMapOptions",
|
|
221
278
|
"ResponseProcessingOptions",
|
|
222
279
|
"ResponseStatistic",
|
|
223
280
|
"ResponseWatershedExtraction",
|
|
224
281
|
"ResponseWatershedScoreImages",
|
|
282
|
+
"RecordingKernelFit",
|
|
283
|
+
"RecordingTiming",
|
|
225
284
|
"recording_frame_rate_hz",
|
|
285
|
+
"recording_hemisphere",
|
|
226
286
|
"resolve_pixel_size_um",
|
|
227
287
|
"resolve_pixel_calibration_profile",
|
|
228
288
|
"resolve_baseline_frame_windows",
|
|
289
|
+
"resolve_recording_timing",
|
|
229
290
|
"response_watershed_roi_set",
|
|
230
291
|
"RoiExtractionConfig",
|
|
231
292
|
"RoiExtractionMethod",
|
|
@@ -238,6 +299,9 @@ __all__ = [
|
|
|
238
299
|
"roi_label_image_from_layer",
|
|
239
300
|
"roi_set_to_label_image",
|
|
240
301
|
"save_analysis_outputs",
|
|
302
|
+
"save_response_map_data",
|
|
303
|
+
"save_manual_fov_group_rows",
|
|
304
|
+
"save_manual_roi_match_rows",
|
|
241
305
|
"save_napari_label_rois",
|
|
242
306
|
"save_roi_set",
|
|
243
307
|
"select_baseline_frame_windows",
|
|
@@ -246,10 +310,13 @@ __all__ = [
|
|
|
246
310
|
"SmoothingOptions",
|
|
247
311
|
"SpatialCrop",
|
|
248
312
|
"SpatialDomain",
|
|
313
|
+
"StimulusKernelOptions",
|
|
249
314
|
"StimulusSpecificColumnMapping",
|
|
250
315
|
"stimulus_epoch_names_by_number",
|
|
316
|
+
"finite_mean_and_sem",
|
|
251
317
|
"summarize_epoch_roi_responses",
|
|
252
318
|
"summarize_grouped_responses",
|
|
319
|
+
"TimingSource",
|
|
253
320
|
"validate_grouped_roi_responses",
|
|
254
321
|
"watershed_roi_set",
|
|
255
322
|
"WindowedRoiResponse",
|
|
@@ -19,9 +19,33 @@ from twopy.analysis.dff import (
|
|
|
19
19
|
compute_roi_delta_f_over_f,
|
|
20
20
|
)
|
|
21
21
|
from twopy.analysis.dff_options import DeltaFOverFBaselineMode, DeltaFOverFOptions
|
|
22
|
-
from twopy.analysis.
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
from twopy.analysis.group_matching import (
|
|
23
|
+
ManualFovGroupRow,
|
|
24
|
+
ManualRoiMatchGroup,
|
|
25
|
+
ManualRoiMatchRow,
|
|
26
|
+
ManualRoiMatchStatus,
|
|
27
|
+
add_manual_roi_match_group,
|
|
28
|
+
append_manual_roi_match_rows,
|
|
29
|
+
load_manual_fov_group_rows,
|
|
30
|
+
load_manual_roi_match_rows,
|
|
31
|
+
make_manual_fov_group_rows,
|
|
32
|
+
make_manual_roi_match_rows,
|
|
33
|
+
matched_manual_roi_groups,
|
|
34
|
+
next_group_cell_id,
|
|
35
|
+
remove_manual_roi_match_group,
|
|
36
|
+
replace_manual_roi_match_group,
|
|
37
|
+
save_manual_fov_group_rows,
|
|
38
|
+
save_manual_roi_match_rows,
|
|
39
|
+
)
|
|
40
|
+
from twopy.analysis.kernels import (
|
|
41
|
+
Hemisphere,
|
|
42
|
+
KernelFitMethod,
|
|
43
|
+
KernelStimulusModality,
|
|
44
|
+
RecordingKernelFit,
|
|
45
|
+
StimulusKernelOptions,
|
|
46
|
+
default_kernel_stimulus_column,
|
|
47
|
+
fit_recording_stimulus_kernels,
|
|
48
|
+
fit_stimulus_kernel,
|
|
25
49
|
)
|
|
26
50
|
from twopy.analysis.motion import apply_motion_artifact_mask_to_delta_f_over_f
|
|
27
51
|
from twopy.analysis.persistence import (
|
|
@@ -33,6 +57,15 @@ from twopy.analysis.persistence import (
|
|
|
33
57
|
write_response_summary_trials_csv,
|
|
34
58
|
)
|
|
35
59
|
from twopy.analysis.response_context import default_recording_baseline_epoch_number
|
|
60
|
+
from twopy.analysis.response_maps import (
|
|
61
|
+
EpochResponseMap,
|
|
62
|
+
ResponseMapData,
|
|
63
|
+
ResponseMapMode,
|
|
64
|
+
ResponseMapOptions,
|
|
65
|
+
compute_recording_response_maps,
|
|
66
|
+
load_response_map_data,
|
|
67
|
+
save_response_map_data,
|
|
68
|
+
)
|
|
36
69
|
from twopy.analysis.response_processing import (
|
|
37
70
|
CorrelationFilterOptions,
|
|
38
71
|
LowPassFilterOptions,
|
|
@@ -45,20 +78,24 @@ from twopy.analysis.responses import (
|
|
|
45
78
|
GroupedRoiResponseSummary,
|
|
46
79
|
RoiResponseSummary,
|
|
47
80
|
RoiResponseTrial,
|
|
81
|
+
finite_mean_and_sem,
|
|
48
82
|
group_delta_f_over_f_by_epoch,
|
|
49
83
|
summarize_epoch_roi_responses,
|
|
50
84
|
summarize_grouped_responses,
|
|
51
85
|
validate_grouped_roi_responses,
|
|
52
86
|
)
|
|
87
|
+
from twopy.analysis.timing import (
|
|
88
|
+
RecordingTiming,
|
|
89
|
+
TimingSource,
|
|
90
|
+
resolve_recording_timing,
|
|
91
|
+
)
|
|
53
92
|
from twopy.analysis.trials import (
|
|
54
93
|
EpochFrameWindow,
|
|
55
94
|
FrameWindow,
|
|
56
95
|
WindowedRoiResponse,
|
|
57
96
|
default_baseline_epoch_number,
|
|
58
|
-
frame_windows_from_photodiode_alignment,
|
|
59
97
|
is_baseline_epoch_name,
|
|
60
98
|
make_frame_windows,
|
|
61
|
-
map_stimulus_epochs_to_frame_windows,
|
|
62
99
|
no_baseline_epoch_frame_windows,
|
|
63
100
|
resolve_baseline_frame_windows,
|
|
64
101
|
select_baseline_frame_windows,
|
|
@@ -85,40 +122,71 @@ __all__ = [
|
|
|
85
122
|
"BackgroundCorrectionMethod",
|
|
86
123
|
"compute_roi_delta_f_over_f",
|
|
87
124
|
"compute_recording_responses",
|
|
125
|
+
"compute_recording_response_maps",
|
|
88
126
|
"CorrelationFilterOptions",
|
|
89
127
|
"default_baseline_epoch_number",
|
|
90
128
|
"default_recording_baseline_epoch_number",
|
|
91
129
|
"DeltaFOverFBaselineMode",
|
|
92
130
|
"DeltaFOverFOptions",
|
|
93
131
|
"DeltaFOverFFitMode",
|
|
132
|
+
"EpochResponseMap",
|
|
94
133
|
"EpochFrameWindow",
|
|
95
134
|
"extract_background_corrected_roi_traces",
|
|
96
|
-
"
|
|
135
|
+
"fit_recording_stimulus_kernels",
|
|
136
|
+
"fit_stimulus_kernel",
|
|
137
|
+
"default_kernel_stimulus_column",
|
|
138
|
+
"Hemisphere",
|
|
97
139
|
"FrameWindow",
|
|
98
140
|
"group_delta_f_over_f_by_epoch",
|
|
99
141
|
"GroupedRoiResponseSummary",
|
|
100
142
|
"GroupedRoiResponses",
|
|
101
|
-
"InterpolatedEpochMapping",
|
|
102
|
-
"interpolate_stimulus_epochs_to_frame_windows",
|
|
103
143
|
"is_baseline_epoch_name",
|
|
144
|
+
"KernelFitMethod",
|
|
145
|
+
"KernelStimulusModality",
|
|
104
146
|
"load_analysis_outputs",
|
|
147
|
+
"load_response_map_data",
|
|
105
148
|
"LoadedAnalysisOutputs",
|
|
106
149
|
"LowPassFilterOptions",
|
|
150
|
+
"ManualFovGroupRow",
|
|
151
|
+
"ManualRoiMatchGroup",
|
|
152
|
+
"ManualRoiMatchRow",
|
|
153
|
+
"ManualRoiMatchStatus",
|
|
154
|
+
"matched_manual_roi_groups",
|
|
107
155
|
"make_frame_windows",
|
|
108
|
-
"
|
|
156
|
+
"make_manual_fov_group_rows",
|
|
157
|
+
"make_manual_roi_match_rows",
|
|
109
158
|
"no_baseline_epoch_frame_windows",
|
|
159
|
+
"next_group_cell_id",
|
|
160
|
+
"RecordingKernelFit",
|
|
161
|
+
"RecordingTiming",
|
|
110
162
|
"RoiDeltaFOverF",
|
|
163
|
+
"ResponseMapData",
|
|
164
|
+
"ResponseMapMode",
|
|
165
|
+
"ResponseMapOptions",
|
|
111
166
|
"ResponseProcessingOptions",
|
|
112
167
|
"RoiCorrelationScores",
|
|
113
168
|
"RoiResponseSummary",
|
|
114
169
|
"RoiResponseTrial",
|
|
115
170
|
"resolve_baseline_frame_windows",
|
|
171
|
+
"resolve_recording_timing",
|
|
172
|
+
"add_manual_roi_match_group",
|
|
173
|
+
"append_manual_roi_match_rows",
|
|
174
|
+
"load_manual_fov_group_rows",
|
|
175
|
+
"load_manual_roi_match_rows",
|
|
176
|
+
"remove_manual_roi_match_group",
|
|
177
|
+
"replace_manual_roi_match_group",
|
|
116
178
|
"save_analysis_outputs",
|
|
179
|
+
"save_response_map_data",
|
|
180
|
+
"save_manual_fov_group_rows",
|
|
181
|
+
"save_manual_roi_match_rows",
|
|
117
182
|
"select_baseline_frame_windows",
|
|
183
|
+
"finite_mean_and_sem",
|
|
118
184
|
"split_traces_by_frame_windows",
|
|
185
|
+
"StimulusKernelOptions",
|
|
119
186
|
"SmoothingOptions",
|
|
120
187
|
"summarize_epoch_roi_responses",
|
|
121
188
|
"summarize_grouped_responses",
|
|
189
|
+
"TimingSource",
|
|
122
190
|
"validate_grouped_roi_responses",
|
|
123
191
|
"WindowedRoiResponse",
|
|
124
192
|
"write_response_summary_grouped_csv",
|