waveorder 3.0.0a1__tar.gz → 3.0.0a2__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.
- waveorder-3.0.0a2/.github/workflows/test.yml +39 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/.gitignore +2 -2
- waveorder-3.0.0a2/.readthedocs.yaml +28 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/CONTRIBUTING.md +29 -4
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/PKG-INFO +41 -16
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/README.md +17 -8
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/README.md +9 -8
- waveorder-3.0.0a2/docs/_static/css/custom.css +8 -0
- waveorder-3.0.0a2/docs/_static/switcher.json +14 -0
- waveorder-3.0.0a2/docs/_static/waveorder.ico +0 -0
- waveorder-3.0.0a2/docs/_static/waveorder.png +0 -0
- waveorder-3.0.0a2/docs/api/settings.rst +6 -0
- waveorder-3.0.0a2/docs/api/stokes.rst +5 -0
- waveorder-3.0.0a2/docs/api.rst +14 -0
- waveorder-3.0.0a2/docs/conf.py +250 -0
- waveorder-3.0.0a2/docs/contact_us.rst +15 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/configs/README.md +18 -10
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/configs/fluorescence.yml +1 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/maintenance/PTI_simulation/PTI_Simulation_Forward_2D3D.py +8 -2
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/maintenance/PTI_simulation/PTI_Simulation_Recon2D.py +5 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/maintenance/PTI_simulation/PTI_Simulation_Recon3D.py +6 -1
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/maintenance/QLIPP_simulation/2D_QLIPP_forward.py +6 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/maintenance/QLIPP_simulation/2D_QLIPP_recon.py +6 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/maintenance/README.md +4 -1
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/models/README.md +8 -5
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/models/inplane_oriented_thick_pol3d.py +6 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/models/inplane_oriented_thick_pol3d_vector.py +7 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/models/isotropic_fluorescent_thick_3d.py +8 -0
- waveorder-3.0.0a2/docs/examples/models/isotropic_fluorescent_thin_3d.py +88 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/models/isotropic_thin_3d.py +5 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/models/phase_thick_3d.py +5 -0
- waveorder-3.0.0a2/docs/examples/visuals/README.rst +4 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/visuals/plot_greens_tensor.py +6 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/visuals/plot_vector_transfer_function_support.py +6 -0
- waveorder-3.0.0a2/docs/examples.rst +13 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/guide}/QLIPP.md +1 -1
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/guide}/buyers-guide.md +5 -3
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/guide}/calibration-guide.md +4 -3
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/guide}/development-guide.md +1 -1
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/guide}/microscope-installation-guide.md +7 -3
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/guide}/napari-plugin-guide.md +21 -21
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/guide}/reconstruction-guide.md +1 -1
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/guide}/software-installation-guide.md +1 -1
- waveorder-3.0.0a2/docs/guide.rst +25 -0
- waveorder-3.0.0a2/docs/index.rst +12 -0
- waveorder-3.0.0a2/docs/scripts/fix_md_links.py +156 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/pyproject.toml +22 -10
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/cli_tests/test_compute_tf.py +17 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/cli_tests/test_reconstruct.py +73 -4
- waveorder-3.0.0a2/tests/models/test_isotropic_fluorescent_thick_3d.py +109 -0
- waveorder-3.0.0a2/tests/models/test_isotropic_fluorescent_thin_3d.py +192 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/models/test_phase_thick_3d.py +16 -12
- waveorder-3.0.0a2/tests/test_examples.py +64 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/test_focus_estimator.py +71 -0
- waveorder-3.0.0a2/tests/util_tests/test_create_empty.py +111 -0
- waveorder-3.0.0a2/waveorder/_version.py +34 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/acq/acquisition_workers.py +0 -1
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/calib/calibration_workers.py +5 -4
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/apply_inverse_models.py +68 -5
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/apply_inverse_transfer_function.py +30 -6
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/compute_transfer_function.py +135 -6
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/gui_widget.py +3 -2
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/parsing.py +14 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/reconstruct.py +3 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/settings.py +1 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/utils.py +46 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/filter.py +1 -2
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/focus.py +54 -16
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/io/visualization.py +8 -5
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/models/inplane_oriented_thick_pol3d_vector.py +3 -3
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/models/isotropic_fluorescent_thick_3d.py +92 -0
- waveorder-3.0.0a2/waveorder/models/isotropic_fluorescent_thin_3d.py +331 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/models/isotropic_thin_3d.py +2 -2
- waveorder-3.0.0a2/waveorder/plugin/job_manager.py +42 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/plugin/main_widget.py +11 -13
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/plugin/tab_recon.py +158 -877
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/scripts/simulate_zarr_acq.py +3 -6
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/visuals/napari_visuals.py +1 -1
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder.egg-info/PKG-INFO +41 -16
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder.egg-info/SOURCES.txt +60 -43
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder.egg-info/requires.txt +24 -6
- waveorder-3.0.0a2/waveorder.egg-info/top_level.txt +1 -0
- waveorder-3.0.0a1/.github/workflows/test.yml +0 -45
- waveorder-3.0.0a1/tests/models/test_isotropic_fluorescent_thick_3d.py +0 -51
- waveorder-3.0.0a1/tests/test_examples.py +0 -65
- waveorder-3.0.0a1/tests/util_tests/test_create_empty.py +0 -60
- waveorder-3.0.0a1/tox.ini +0 -34
- waveorder-3.0.0a1/waveorder/_version.py +0 -21
- waveorder-3.0.0a1/waveorder/cli/jobs_mgmt.py +0 -204
- waveorder-3.0.0a1/waveorder.egg-info/top_level.txt +0 -5
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/.git-blame-ignore-revs +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/.github/workflows/pr.yml +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/.pre-commit-config.yaml +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/CITATION.cff +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/LICENSE +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/__init__.py +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/JCh_Color_legend.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/acq_finished.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/acquire_buttons.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/acquisition_settings.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/advanced.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/cap_bg.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/cli_structure.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/comms_video_screenshot.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/connect_to_mm.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/create_group.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/create_group_voltage.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/create_preset.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/create_preset_voltage.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/general_reconstruction_settings.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/ideal_plot.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/modulation.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/no-overlay.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/overlay-demo.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/overlay.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/phase_reconstruction_settings.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/poincare_swing.svg +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/reconstruction_birefriengence.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/reconstruction_data.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/reconstruction_data_info.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/reconstruction_models.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/reconstruction_queue.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/run_calib.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/run_port.png +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/_static}/images/waveorder_Fig1_Overview.png +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/README.md +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/configs/birefringence-and-phase.yml +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/configs/birefringence.yml +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/configs/phase.yml +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/PTI_experiment/PTI_Experiment_Recon3D_anisotropic_target_small.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/PTI_experiment/PTI_full_FOV_anisotropic_target.ipynb +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/PTI_experiment/PTI_full_FOV_cardiac_muscle.ipynb +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/PTI_experiment/PTI_full_FOV_cardiomyocyte_infected_1.ipynb +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/PTI_experiment/PTI_full_FOV_cardiomyocyte_infected_2.ipynb +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/PTI_experiment/PTI_full_FOV_cardiomyocyte_mock.ipynb +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/PTI_experiment/PTI_full_FOV_human_uterus.ipynb +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/PTI_experiment/PTI_full_FOV_mouse_brain_aco.ipynb +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/PTI_experiment/README.md +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/QLIPP_experiment/2D_QLIPP_recon_experiment.ipynb +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/QLIPP_experiment/3D_QLIPP_recon_experiment.ipynb +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/deprecated/fluorescence_deconvolution/fluorescence_deconv.ipynb +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/maintenance/PTI_simulation/PTI_formulation.html +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/examples/maintenance/PTI_simulation/README.md +0 -0
- {waveorder-3.0.0a1/docs → waveorder-3.0.0a2/docs/guide}/data-schema.md +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/docs/valuable-prs/2023-02-27.110.pr.open.md +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/readme.png +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/setup.cfg +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/__init__.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/acq_tests/test_acq.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/calibration_tests/test_calibration.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/cli_tests/test_cli.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/cli_tests/test_settings.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/conftest.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/mmcore_tests/test_core_func.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/models/test_inplane_oriented_thick_pol3D.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/models/test_isotropic_thin_3d.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/test_correction.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/test_filter.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/test_optics.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/test_sampling.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/test_stokes.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/test_util.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/util_tests/test_io.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/util_tests/test_overlays.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/widget_tests/test_dock_widget.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/tests/widget_tests/test_sample_contributions.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/__init__.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/acq/__init__.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/acq/acq_functions.py +0 -0
- {waveorder-3.0.0a1/docs/images → waveorder-3.0.0a2/waveorder/assets}/HSV_legend.png +0 -0
- {waveorder-3.0.0a1/docs/images → waveorder-3.0.0a2/waveorder/assets}/JCh_legend.png +0 -0
- {waveorder-3.0.0a1/docs/images → waveorder-3.0.0a2/waveorder/assets}/waveorder_plugin_logo.png +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/background_estimator.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/calib/Calibration.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/calib/Optimization.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/calib/__init__.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/main.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/monitor.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/option_eat_all.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/cli/printing.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/correction.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/io/__init__.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/io/_reader.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/io/core_functions.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/io/metadata_reader.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/io/utils.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/models/inplane_oriented_thick_pol3d.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/models/phase_thick_3d.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/napari.yaml +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/optics.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/plugin/__init__.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/plugin/gui.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/plugin/gui.ui +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/reconstruct.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/sampling.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/scripts/__init__.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/scripts/launch_napari.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/scripts/repeat-cal-acq-rec.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/scripts/repeat-calibration.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/scripts/samples.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/stokes.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/util.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/visuals/jupyter_visuals.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/visuals/matplotlib_visuals.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/visuals/utils.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/waveorder_reconstructor.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder/waveorder_simulator.py +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder.egg-info/dependency_links.txt +0 -0
- {waveorder-3.0.0a1 → waveorder-3.0.0a2}/waveorder.egg-info/entry_points.txt +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name: test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
test:
|
|
10
|
+
name: ${{ matrix.platform }} py${{ matrix.python-version }}
|
|
11
|
+
runs-on: ${{ matrix.platform }}
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
platform: [ubuntu-latest, windows-latest, macos-latest]
|
|
15
|
+
python-version: ["3.11", "3.12", "3.13"]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout repo
|
|
19
|
+
uses: actions/checkout@v5
|
|
20
|
+
|
|
21
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
22
|
+
uses: actions/setup-python@v6
|
|
23
|
+
with:
|
|
24
|
+
python-version: ${{ matrix.python-version }}
|
|
25
|
+
|
|
26
|
+
- uses: pyvista/setup-headless-display-action@v4
|
|
27
|
+
with:
|
|
28
|
+
qt: true
|
|
29
|
+
|
|
30
|
+
- name: Install dependencies
|
|
31
|
+
run: |
|
|
32
|
+
python -m pip install --upgrade pip
|
|
33
|
+
python -m pip install '.[all,dev]'
|
|
34
|
+
|
|
35
|
+
- name: Test
|
|
36
|
+
run: python -m pytest -v --color=yes --cov=waveorder --cov-report=xml
|
|
37
|
+
|
|
38
|
+
- name: Coverage
|
|
39
|
+
uses: codecov/codecov-action@v3
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
*.tif[f]
|
|
3
3
|
*.jp[e]g
|
|
4
4
|
*.zar[r]
|
|
5
|
-
*.json
|
|
6
5
|
|
|
7
6
|
# pycharm IDE
|
|
8
7
|
.idea
|
|
@@ -19,6 +18,8 @@ __pycache__/
|
|
|
19
18
|
# Distribution / packaging
|
|
20
19
|
.Python
|
|
21
20
|
build/
|
|
21
|
+
docs/build/
|
|
22
|
+
docs/wo_examples/
|
|
22
23
|
develop-eggs/
|
|
23
24
|
dist/
|
|
24
25
|
downloads/
|
|
@@ -148,7 +149,6 @@ waveorder/_version.py
|
|
|
148
149
|
|
|
149
150
|
# images
|
|
150
151
|
*.npz
|
|
151
|
-
*.png
|
|
152
152
|
*.tif[f]
|
|
153
153
|
*.pdf
|
|
154
154
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Read the Docs configuration file
|
|
2
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
3
|
+
|
|
4
|
+
# Required
|
|
5
|
+
version: 2
|
|
6
|
+
|
|
7
|
+
# Set the OS, Python version, and other tools you might need
|
|
8
|
+
build:
|
|
9
|
+
os: ubuntu-24.04
|
|
10
|
+
tools:
|
|
11
|
+
python: "3.12"
|
|
12
|
+
jobs:
|
|
13
|
+
post_build:
|
|
14
|
+
- python docs/scripts/fix_md_links.py
|
|
15
|
+
|
|
16
|
+
# Optionally, but recommended,
|
|
17
|
+
# declare the Python requirements required to build your documentation
|
|
18
|
+
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
|
|
19
|
+
python:
|
|
20
|
+
install:
|
|
21
|
+
- method: pip
|
|
22
|
+
path: .
|
|
23
|
+
extra_requirements:
|
|
24
|
+
- docs
|
|
25
|
+
|
|
26
|
+
# Build documentation in the "docs/" directory with Sphinx
|
|
27
|
+
sphinx:
|
|
28
|
+
configuration: docs/conf.py
|
|
@@ -41,15 +41,18 @@ git clone https://github.com/mehta-lab/waveorder.git
|
|
|
41
41
|
Otherwise, you can follow [these instructions](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
|
|
42
42
|
to [fork](https://github.com/mehta-lab/waveorder/fork) the repository.
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
Next, install the package in editable mode with all dependencies
|
|
45
45
|
|
|
46
46
|
```sh
|
|
47
47
|
cd waveorder/ # or the renamed project root directory
|
|
48
|
-
pip install -e ".[
|
|
48
|
+
pip install -e ".[all]"
|
|
49
|
+
```
|
|
50
|
+
and check that the tests pass with
|
|
51
|
+
```sh
|
|
52
|
+
pytest
|
|
49
53
|
```
|
|
50
54
|
|
|
51
|
-
|
|
52
|
-
|
|
55
|
+
Finally, make the changes and [track them with Git](https://docs.github.com/en/get-started/using-git/about-git#example-contribute-to-an-existing-repository).
|
|
53
56
|
|
|
54
57
|
### Code style
|
|
55
58
|
|
|
@@ -60,3 +63,25 @@ pre-commit install
|
|
|
60
63
|
```
|
|
61
64
|
|
|
62
65
|
When these packages are executed within the project root directory, they should automatically use the [project settings](./pyproject.toml).
|
|
66
|
+
|
|
67
|
+
### Developing documentation
|
|
68
|
+
|
|
69
|
+
Documentation infrastructure is built using [Markdown (.md)](https://www.sphinx-doc.org/en/master/usage/markdown.html) and [reStructuredText (.rst)](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html) files. [Sphinx](https://www.sphinx-doc.org/en/master/index.html) utilizes these to build highly customization .html pages for User Guides, API References and Examples rendered directly from source code files.
|
|
70
|
+
|
|
71
|
+
#### Building the HTML version locally
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
cd waveorder/ # or the renamed project root directory
|
|
75
|
+
pip install -e ".[all]"
|
|
76
|
+
cd docs/
|
|
77
|
+
sphinx-build -M html ./ ./build
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Generated HTML documentation can be found in the ``build/html`` directory. Open ``build/html/index.html`` to view the home page for the documentation.
|
|
81
|
+
|
|
82
|
+
Automated building of `docs` is done via _read-the-docs_ which will automatically pull commits to the `main` branch and host them here: <https://waveorder.readthedocs.io>
|
|
83
|
+
|
|
84
|
+
#### Documentation change
|
|
85
|
+
|
|
86
|
+
If you find that any documentation in this project is incomplete, inaccurate, or ambiguous, please open an issue.
|
|
87
|
+
We welcome contributions to the documentation from users, particularly user guides that we can collaboratively edit.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: waveorder
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.0a2
|
|
4
4
|
Summary: Wave-optical simulations and deconvolution of optical properties
|
|
5
5
|
Author-email: CZ Biohub SF <compmicro@czbiohub.org>
|
|
6
6
|
Maintainer-email: Talon Chandler <talon.chandler@czbiohub.org>, Shalin Mehta <shalin.mehta@czbiohub.org>
|
|
@@ -56,7 +56,7 @@ License-File: LICENSE
|
|
|
56
56
|
Requires-Dist: click>=8.0.1
|
|
57
57
|
Requires-Dist: colorspacious>=1.1.2
|
|
58
58
|
Requires-Dist: importlib-metadata
|
|
59
|
-
Requires-Dist: iohub<0.
|
|
59
|
+
Requires-Dist: iohub<0.4,>=0.2
|
|
60
60
|
Requires-Dist: ipywidgets>=7.5.1
|
|
61
61
|
Requires-Dist: matplotlib>=3.1.1
|
|
62
62
|
Requires-Dist: natsort>=7.1.1
|
|
@@ -69,20 +69,36 @@ Requires-Dist: scipy>=1.3.0
|
|
|
69
69
|
Requires-Dist: torch>=2.4.1
|
|
70
70
|
Requires-Dist: qtpy
|
|
71
71
|
Requires-Dist: wget>=3.2
|
|
72
|
-
Provides-Extra:
|
|
73
|
-
Requires-Dist: napari[pyqt6]; extra == "
|
|
74
|
-
Requires-Dist: napari-ome-zarr>=0.3.2; extra == "
|
|
75
|
-
Requires-Dist: pycromanager==0.27.2; extra == "
|
|
76
|
-
Requires-Dist: jupyter; extra == "
|
|
72
|
+
Provides-Extra: visual
|
|
73
|
+
Requires-Dist: napari[pyqt6]; extra == "visual"
|
|
74
|
+
Requires-Dist: napari-ome-zarr>=0.3.2; extra == "visual"
|
|
75
|
+
Requires-Dist: pycromanager==0.27.2; extra == "visual"
|
|
76
|
+
Requires-Dist: jupyter; extra == "visual"
|
|
77
77
|
Provides-Extra: dev
|
|
78
78
|
Requires-Dist: black==25.1.0; extra == "dev"
|
|
79
79
|
Requires-Dist: click>=8.2.0; extra == "dev"
|
|
80
80
|
Requires-Dist: hypothesis; extra == "dev"
|
|
81
|
+
Requires-Dist: napari[pyqt6]; extra == "dev"
|
|
81
82
|
Requires-Dist: pre-commit; extra == "dev"
|
|
82
83
|
Requires-Dist: pytest-cov; extra == "dev"
|
|
83
84
|
Requires-Dist: pytest-qt; extra == "dev"
|
|
84
85
|
Requires-Dist: pytest>=5.0.0; extra == "dev"
|
|
85
|
-
|
|
86
|
+
Provides-Extra: docs
|
|
87
|
+
Requires-Dist: sphinx_copybutton; extra == "docs"
|
|
88
|
+
Requires-Dist: sphinxcontrib-video; extra == "docs"
|
|
89
|
+
Requires-Dist: myst_parser; extra == "docs"
|
|
90
|
+
Requires-Dist: sphinx_mdinclude; extra == "docs"
|
|
91
|
+
Requires-Dist: linkify-it-py; extra == "docs"
|
|
92
|
+
Requires-Dist: numpydoc; extra == "docs"
|
|
93
|
+
Requires-Dist: sphinx_sitemap; extra == "docs"
|
|
94
|
+
Requires-Dist: sphinx_gallery; extra == "docs"
|
|
95
|
+
Requires-Dist: pydata_sphinx_theme; extra == "docs"
|
|
96
|
+
Requires-Dist: matplotlib; extra == "docs"
|
|
97
|
+
Requires-Dist: importlib_metadata; extra == "docs"
|
|
98
|
+
Provides-Extra: all
|
|
99
|
+
Requires-Dist: waveorder[visual]; extra == "all"
|
|
100
|
+
Requires-Dist: waveorder[dev]; extra == "all"
|
|
101
|
+
Requires-Dist: waveorder[docs]; extra == "all"
|
|
86
102
|
Dynamic: license-file
|
|
87
103
|
|
|
88
104
|
<p align="center">
|
|
@@ -288,23 +304,32 @@ conda create -y -n waveorder python=3.12
|
|
|
288
304
|
conda activate waveorder
|
|
289
305
|
```
|
|
290
306
|
|
|
291
|
-
|
|
292
|
-
|
|
307
|
+
Most users should install `waveorder` with:
|
|
293
308
|
```sh
|
|
294
|
-
pip install waveorder
|
|
309
|
+
pip install waveorder[visual]
|
|
295
310
|
```
|
|
296
311
|
|
|
297
|
-
|
|
312
|
+
We also maintain three dependency sets for different interfaces:
|
|
313
|
+
|
|
298
314
|
```sh
|
|
299
|
-
pip install
|
|
300
|
-
|
|
301
|
-
|
|
315
|
+
pip install waveorder # API, CLI
|
|
316
|
+
pip install waveorder[visual] # API, CLI, GUI
|
|
317
|
+
pip install waveorder[all] # API, CLI, GUI, docs, dev dependencies
|
|
302
318
|
```
|
|
303
319
|
|
|
320
|
+
|
|
321
|
+
|
|
304
322
|
(M1 users) `pytorch` has [incomplete GPU support](https://github.com/pytorch/pytorch/issues/77764),
|
|
305
323
|
so please use `export PYTORCH_ENABLE_MPS_FALLBACK=1`
|
|
306
324
|
to allow some operators to fallback to CPU if you plan to use GPU acceleration for polarization reconstruction.
|
|
307
325
|
|
|
308
326
|
|
|
309
327
|
## Examples
|
|
310
|
-
The [examples](https://github.com/mehta-lab/waveorder/tree/main/docs/examples) illustrate simulations and reconstruction for 2D QLIPP, 3D phase from brightfield, and 2D/3D PTI methods.
|
|
328
|
+
The [examples](https://github.com/mehta-lab/waveorder/tree/main/docs/examples) illustrate simulations and reconstruction for 2D QLIPP, 3D phase from brightfield, and 2D/3D PTI methods. To run examples, use
|
|
329
|
+
|
|
330
|
+
```sh
|
|
331
|
+
git clone https://github.com/mehta-lab/waveorder.git
|
|
332
|
+
cd waveorder
|
|
333
|
+
pip install -e .[all]
|
|
334
|
+
python ./docs/examples/models/phase_thick_3d.py
|
|
335
|
+
```
|
|
@@ -201,23 +201,32 @@ conda create -y -n waveorder python=3.12
|
|
|
201
201
|
conda activate waveorder
|
|
202
202
|
```
|
|
203
203
|
|
|
204
|
-
|
|
205
|
-
|
|
204
|
+
Most users should install `waveorder` with:
|
|
206
205
|
```sh
|
|
207
|
-
pip install waveorder
|
|
206
|
+
pip install waveorder[visual]
|
|
208
207
|
```
|
|
209
208
|
|
|
210
|
-
|
|
209
|
+
We also maintain three dependency sets for different interfaces:
|
|
210
|
+
|
|
211
211
|
```sh
|
|
212
|
-
pip install
|
|
213
|
-
|
|
214
|
-
|
|
212
|
+
pip install waveorder # API, CLI
|
|
213
|
+
pip install waveorder[visual] # API, CLI, GUI
|
|
214
|
+
pip install waveorder[all] # API, CLI, GUI, docs, dev dependencies
|
|
215
215
|
```
|
|
216
216
|
|
|
217
|
+
|
|
218
|
+
|
|
217
219
|
(M1 users) `pytorch` has [incomplete GPU support](https://github.com/pytorch/pytorch/issues/77764),
|
|
218
220
|
so please use `export PYTORCH_ENABLE_MPS_FALLBACK=1`
|
|
219
221
|
to allow some operators to fallback to CPU if you plan to use GPU acceleration for polarization reconstruction.
|
|
220
222
|
|
|
221
223
|
|
|
222
224
|
## Examples
|
|
223
|
-
The [examples](https://github.com/mehta-lab/waveorder/tree/main/docs/examples) illustrate simulations and reconstruction for 2D QLIPP, 3D phase from brightfield, and 2D/3D PTI methods.
|
|
225
|
+
The [examples](https://github.com/mehta-lab/waveorder/tree/main/docs/examples) illustrate simulations and reconstruction for 2D QLIPP, 3D phase from brightfield, and 2D/3D PTI methods. To run examples, use
|
|
226
|
+
|
|
227
|
+
```sh
|
|
228
|
+
git clone https://github.com/mehta-lab/waveorder.git
|
|
229
|
+
cd waveorder
|
|
230
|
+
pip install -e .[all]
|
|
231
|
+
python ./docs/examples/models/phase_thick_3d.py
|
|
232
|
+
```
|
|
@@ -4,24 +4,25 @@ We have organized our documentation by user type and intended task.
|
|
|
4
4
|
|
|
5
5
|
## Software users
|
|
6
6
|
|
|
7
|
-
**Reconstruct existing data:** start with the [reconstruction guide](
|
|
7
|
+
**Reconstruct existing data:** start with the [reconstruction guide](guide/reconstruction-guide.md) and consult the [data schema](guide/data-schema.md) for `waveorder`'s data format.
|
|
8
8
|
|
|
9
|
-
**Reconstruct with a GUI:** start with the [plugin's reconstruction guide](
|
|
9
|
+
**Reconstruct with a GUI:** start with the [plugin's reconstruction guide](guide/napari-plugin-guide.md#acquisition--reconstruction-tab).
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
**Integrate `waveorder` into my software:** start with [`examples/`](examples/)
|
|
12
13
|
|
|
13
14
|
## Hardware users
|
|
14
15
|
|
|
15
|
-
**Buy hardware for a polarized-light installation:** start with the [buyer's guide](
|
|
16
|
+
**Buy hardware for a polarized-light installation:** start with the [buyer's guide](guide/buyers-guide.md).
|
|
16
17
|
|
|
17
|
-
**Install `waveorder` on my microscope:** start with the [microscope installation guide](
|
|
18
|
+
**Install `waveorder` on my microscope:** start with the [microscope installation guide](guide/microscope-installation-guide.md).
|
|
18
19
|
|
|
19
|
-
**Use the `napari plugin` to calibrate:** start with the [plugin guide](
|
|
20
|
+
**Use the `napari plugin` to calibrate:** start with the [plugin guide](guide/napari-plugin-guide.md).
|
|
20
21
|
|
|
21
|
-
**Understand `waveorder`'s calibration routine**: read the [calibration guide](
|
|
22
|
+
**Understand `waveorder`'s calibration routine**: read the [calibration guide](guide/calibration-guide.md).
|
|
22
23
|
|
|
23
24
|
## Software developers
|
|
24
25
|
|
|
25
|
-
**Set up a development environment and test `waveorder`**: start with the [development guide](
|
|
26
|
+
**Set up a development environment and test `waveorder`**: start with the [development guide](guide/development-guide.md).
|
|
26
27
|
|
|
27
28
|
**Report an error in the documentation or code:** [open an issue](https://github.com/mehta-lab/waveorder/issues/new/choose) or [send us an email](mailto:shalin.mehta@czbiohub.org,talon.chandler@czbiohub.org). We appreciate your help!
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import os
|
|
5
|
+
import re
|
|
6
|
+
|
|
7
|
+
# Add any Sphinx extension module names, as strings. They can be extensions
|
|
8
|
+
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
|
9
|
+
import sys
|
|
10
|
+
|
|
11
|
+
import importlib_metadata
|
|
12
|
+
|
|
13
|
+
# -- General configuration ----------------------------------------------------
|
|
14
|
+
|
|
15
|
+
# If your documentation needs a minimal Sphinx version, state it here.
|
|
16
|
+
# needs_sphinx = '1.0'
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# If extensions (or modules to document with autodoc) are in another directory,
|
|
20
|
+
# add these directories to sys.path here. If the directory is relative to the
|
|
21
|
+
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
|
22
|
+
sys.path.insert(0, os.path.abspath("../"))
|
|
23
|
+
|
|
24
|
+
source_dir = os.path.dirname(__file__)
|
|
25
|
+
sys.path.insert(0, os.path.join(source_dir, "ext"))
|
|
26
|
+
|
|
27
|
+
extensions = [
|
|
28
|
+
"sphinx.ext.autodoc",
|
|
29
|
+
"sphinx.ext.doctest",
|
|
30
|
+
"sphinx.ext.mathjax",
|
|
31
|
+
"sphinx.ext.intersphinx",
|
|
32
|
+
"sphinx.ext.autosummary",
|
|
33
|
+
"sphinx.ext.extlinks",
|
|
34
|
+
"sphinx.ext.viewcode",
|
|
35
|
+
"sphinx_copybutton",
|
|
36
|
+
"numpydoc",
|
|
37
|
+
"myst_parser",
|
|
38
|
+
"sphinx_sitemap",
|
|
39
|
+
"sphinxcontrib.video",
|
|
40
|
+
"sphinx_gallery.gen_gallery",
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
myst_enable_extensions = [
|
|
44
|
+
"amsmath",
|
|
45
|
+
"attrs_inline",
|
|
46
|
+
"colon_fence",
|
|
47
|
+
"deflist",
|
|
48
|
+
"dollarmath",
|
|
49
|
+
"fieldlist",
|
|
50
|
+
"linkify",
|
|
51
|
+
"html_admonition",
|
|
52
|
+
"html_image",
|
|
53
|
+
"replacements",
|
|
54
|
+
"smartquotes",
|
|
55
|
+
"strikethrough",
|
|
56
|
+
"substitution",
|
|
57
|
+
"tasklist",
|
|
58
|
+
]
|
|
59
|
+
|
|
60
|
+
myst_file_suffixes = [".md"]
|
|
61
|
+
myst_all_links_external = True
|
|
62
|
+
|
|
63
|
+
# default url is a dummy for local build
|
|
64
|
+
html_baseurl = os.environ.get("GITHUB_PAGES_URL", f"/build/html/")
|
|
65
|
+
sitemap_locales = ["en"]
|
|
66
|
+
sitemap_url_scheme = "{link}"
|
|
67
|
+
|
|
68
|
+
numpydoc_show_class_members = True
|
|
69
|
+
|
|
70
|
+
# Add any paths that contain templates here, relative to this directory.
|
|
71
|
+
# templates_path = ["_templates"]
|
|
72
|
+
|
|
73
|
+
# The suffix of source filenames.
|
|
74
|
+
source_suffix = {
|
|
75
|
+
".rst": "restructuredtext",
|
|
76
|
+
".md": "markdown",
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
# The encoding of source files.
|
|
80
|
+
# source_encoding = 'utf-8-sig'
|
|
81
|
+
|
|
82
|
+
# The master toctree document.
|
|
83
|
+
master_doc = "index"
|
|
84
|
+
|
|
85
|
+
# General information about the project.
|
|
86
|
+
project = "waveorder"
|
|
87
|
+
copyright = "2023. Talon Chandler. Chan Zuckerberg Biohub. All rights reserved"
|
|
88
|
+
release = importlib_metadata.version("waveorder")
|
|
89
|
+
|
|
90
|
+
json_url = f"./_static/switcher.json"
|
|
91
|
+
if "dev" in release or "rc" in release:
|
|
92
|
+
# json_url = "_static/switcher.json"
|
|
93
|
+
version_match = "latest"
|
|
94
|
+
else:
|
|
95
|
+
version_match = release
|
|
96
|
+
|
|
97
|
+
# The language for content autogenerated by Sphinx. Refer to documentation
|
|
98
|
+
# for a list of supported languages.
|
|
99
|
+
# language = None
|
|
100
|
+
|
|
101
|
+
# There are two options for replacing |today|: either, you set today to some
|
|
102
|
+
# non-false value, then it is used:
|
|
103
|
+
# today = ''
|
|
104
|
+
# Else, today_fmt is used as the format for a strftime call.
|
|
105
|
+
# today_fmt = '%B %d, %Y'
|
|
106
|
+
|
|
107
|
+
# List of patterns, relative to source directory, that match files and
|
|
108
|
+
# directories to ignore when looking for source files.
|
|
109
|
+
exclude_patterns = []
|
|
110
|
+
|
|
111
|
+
# The reST default role (used for this markup `text`) to use for all documents.
|
|
112
|
+
# default_role = None
|
|
113
|
+
|
|
114
|
+
# If true, '()' will be appended to :func: etc. cross-reference text.
|
|
115
|
+
# add_function_parentheses = True
|
|
116
|
+
|
|
117
|
+
# If true, the current module name will be prepended to all description
|
|
118
|
+
# unit titles (such as .. function::).
|
|
119
|
+
# add_module_names = True
|
|
120
|
+
|
|
121
|
+
# If true, sectionauthor and moduleauthor directives will be shown in the
|
|
122
|
+
# output. They are ignored by default.
|
|
123
|
+
# show_authors = False
|
|
124
|
+
|
|
125
|
+
# The name of the Pygments (syntax highlighting) style to use.
|
|
126
|
+
pygments_style = "default"
|
|
127
|
+
|
|
128
|
+
# A list of ignored prefixes for module index sorting.
|
|
129
|
+
# modindex_common_prefix = []
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
# -- Options for HTML output --------------------------------------------------
|
|
133
|
+
|
|
134
|
+
html_theme = "pydata_sphinx_theme"
|
|
135
|
+
|
|
136
|
+
# Theme options are theme-specific and customize the look and feel of a theme
|
|
137
|
+
# further. For a list of options available for each theme, see the
|
|
138
|
+
# documentation.
|
|
139
|
+
html_theme_options = {
|
|
140
|
+
"show_toc_level": 2,
|
|
141
|
+
"switcher": {
|
|
142
|
+
"json_url": json_url,
|
|
143
|
+
"version_match": version_match,
|
|
144
|
+
},
|
|
145
|
+
"icon_links": [
|
|
146
|
+
{
|
|
147
|
+
"name": "GitHub",
|
|
148
|
+
"url": "https://github.com/mehta-lab/waveorder",
|
|
149
|
+
"icon": "fa-brands fa-square-github",
|
|
150
|
+
"type": "fontawesome",
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"navbar_end": ["theme-switcher", "navbar-icon-links", "version-switcher"],
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
# Add any paths that contain custom themes here, relative to this directory.
|
|
157
|
+
# html_theme_path = []
|
|
158
|
+
|
|
159
|
+
# The name for this set of Sphinx documents. If None, it defaults to
|
|
160
|
+
# "<project> v<release> documentation".
|
|
161
|
+
html_title = "waveorder"
|
|
162
|
+
|
|
163
|
+
# A shorter title for the navigation bar. Default is the same as html_title.
|
|
164
|
+
# html_short_title = None
|
|
165
|
+
|
|
166
|
+
# The name of an image file (relative to this directory) to place at the top
|
|
167
|
+
# of the sidebar.
|
|
168
|
+
# html_logo = "resources/1.png"
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
# The name of an image file (within the static path) to use as favicon of the
|
|
172
|
+
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
|
173
|
+
# pixels large.
|
|
174
|
+
# emoji favicon code adapted from:
|
|
175
|
+
# https://twitter.com/LeaVerou/status/1241619866475474946
|
|
176
|
+
html_favicon = "_static/waveorder.ico"
|
|
177
|
+
|
|
178
|
+
# Add any paths that contain custom static files (such as style sheets) here,
|
|
179
|
+
# relative to this directory. They are copied after the builtin static files,
|
|
180
|
+
# so a file named "default.css" will overwrite the builtin "default.css".
|
|
181
|
+
html_static_path = ["_static"]
|
|
182
|
+
html_css_files = [
|
|
183
|
+
"css/custom.css", # Adjust path if your CSS is in a subdirectory
|
|
184
|
+
]
|
|
185
|
+
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
|
186
|
+
# using the given strftime format.
|
|
187
|
+
# html_last_updated_fmt = '%b %d, %Y'
|
|
188
|
+
|
|
189
|
+
# If true, SmartyPants will be used to convert quotes and dashes to
|
|
190
|
+
# typographically correct entities.
|
|
191
|
+
# html_use_smartypants = True
|
|
192
|
+
|
|
193
|
+
# Custom sidebar templates, maps document names to template names.
|
|
194
|
+
html_sidebars = {"**": ["sidebar-nav-bs"]}
|
|
195
|
+
|
|
196
|
+
# Additional templates that should be rendered to pages, maps page names to
|
|
197
|
+
# template names.
|
|
198
|
+
# html_additional_pages = {}
|
|
199
|
+
|
|
200
|
+
# If false, no module index is generated.
|
|
201
|
+
# html_domain_indices = True
|
|
202
|
+
|
|
203
|
+
# If false, no index is generated.
|
|
204
|
+
# html_use_index = True
|
|
205
|
+
|
|
206
|
+
# If true, the index is split into individual pages for each letter.
|
|
207
|
+
# html_split_index = False
|
|
208
|
+
|
|
209
|
+
# If true, links to the reST sources are added to the pages.
|
|
210
|
+
# html_show_sourcelink = True
|
|
211
|
+
|
|
212
|
+
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
|
213
|
+
html_show_sphinx = False
|
|
214
|
+
|
|
215
|
+
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
|
216
|
+
# html_show_copyright = True
|
|
217
|
+
|
|
218
|
+
# If true, an OpenSearch description file will be output, and all pages will
|
|
219
|
+
# contain a <link> tag referring to it. The value of this option must be the
|
|
220
|
+
# base URL from which the finished HTML is served.
|
|
221
|
+
# html_use_opensearch = ''
|
|
222
|
+
|
|
223
|
+
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
|
224
|
+
# html_file_suffix = None
|
|
225
|
+
|
|
226
|
+
# Output file base name for HTML help builder.
|
|
227
|
+
htmlhelp_basename = "waveorderdoc"
|
|
228
|
+
|
|
229
|
+
numpydoc_show_class_members = False
|
|
230
|
+
|
|
231
|
+
# sphinx-gallery config
|
|
232
|
+
sphinx_gallery_conf = {
|
|
233
|
+
"examples_dirs": ["examples"],
|
|
234
|
+
"gallery_dirs": ["wo_examples"],
|
|
235
|
+
"download_all_examples": False,
|
|
236
|
+
"filename_pattern": "/run_",
|
|
237
|
+
"show_signature": False,
|
|
238
|
+
"write_computation_times": False,
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
def setup(app):
|
|
243
|
+
app.connect("source-read", transform_md_links)
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
def transform_md_links(app, docname, source):
|
|
247
|
+
content = source[0]
|
|
248
|
+
# Transform .md links to .html for Sphinx build
|
|
249
|
+
content = re.sub(r"\]\(([^)#]+?)\.md(#[^)]+)?\)", r"](\1.html\2)", content)
|
|
250
|
+
source[0] = content
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Contact Us
|
|
2
|
+
==========
|
|
3
|
+
|
|
4
|
+
If you would like to report a bug, request a feature, or communicate any related problem,
|
|
5
|
+
please create an issue on our
|
|
6
|
+
`GitHub repository <https://github.com/mehta-lab/waveorder>`_
|
|
7
|
+
if there is not an existing issue on the topic.
|
|
8
|
+
You can also track pull-requests, milestones and our plans on our repository.
|
|
9
|
+
|
|
10
|
+
Contributing
|
|
11
|
+
------------
|
|
12
|
+
|
|
13
|
+
Feel free to participate in discussions and contribute,
|
|
14
|
+
but do not forget to read our
|
|
15
|
+
`contributing guidelines <https://github.com/mehta-lab/waveorder/blob/main/CONTRIBUTING.md>`_ first.
|