├── .circleci └── config.yml ├── .editorconfig ├── .github ├── ISSUE_TEMPLATE │ ├── 01-bug-report.yml │ ├── 02-question.yml │ ├── 03-feature-request.yml │ ├── 04-documentation.yml │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── create_issue_if_cookiecutter.yml │ ├── has_label.yml │ └── has_version_milestone.yml ├── .gitignore ├── .readthedocs.yml ├── CONTRIBUTING.rst ├── HISTORY.rst ├── LICENSE ├── MANIFEST.in ├── README.md ├── docs ├── Makefile ├── api_reference.rst ├── conf.py ├── contributing.rst ├── history.rst ├── index.rst ├── make.bat ├── modules │ ├── analytic.rst │ └── pyrato.rst ├── pyrato.rst └── readme.rst ├── examples └── energy_decay_curves_and_reverberation_time.ipynb ├── pyproject.toml ├── pyrato ├── __init__.py ├── analytic │ ├── __init__.py │ ├── analytic.py │ └── impedance.py ├── dsp.py ├── edc.py ├── rap.py └── roomacoustics.py └── tests ├── __init__.py ├── data ├── analytic_impedance │ ├── k_ns_x.csv │ ├── k_ns_x_zeta15.csv │ ├── k_ns_y.csv │ ├── k_ns_y_zeta15.csv │ ├── k_ns_z.csv │ ├── k_ns_z_zeta15.csv │ ├── ks.csv │ ├── mode_indices.csv │ ├── mode_indices_zeta15.csv │ ├── p_x.csv │ └── p_x_zeta15.csv ├── analytic_rir_impedance.npy ├── analytic_rir_impedance_no_cav.npy ├── analytic_rir_rigid_walls.csv ├── analytic_rtf_impedance.npy └── analytic_rtf_impedance_no_cav.npy ├── private ├── comparison_fenics.ipynb ├── fenics │ ├── ks_fenics.csv │ └── p_R_fenics.csv └── rectangular_room_impedance.ipynb ├── test_analytic.py ├── test_analytic_impedance.py ├── test_data ├── analytic_rir_psnr50_1D.csv ├── analytic_rir_psnr50_2D.csv ├── edc_chu_1D.csv ├── edc_chu_2D.csv ├── edc_lundeby_1D.csv ├── edc_lundeby_2D.csv ├── edc_lundeby_chu_1D.csv ├── edc_lundeby_chu_2D.csv ├── edc_truncation_1D.csv ├── edc_truncation_2D.csv ├── generate_test_data.py ├── intersection_time_1D.csv ├── intersection_time_2D.csv ├── noise_energy_1D.csv ├── noise_energy_2D.csv ├── noise_energy_from_edc_1D.csv ├── noise_energy_from_edc_2D.csv ├── preprocessing_1D.csv ├── preprocessing_2D.csv ├── preprocessing_time_shift_1D.csv ├── preprocessing_time_shift_2D.csv ├── preprocessing_time_shift_channel_independent_1D.csv ├── preprocessing_time_shift_channel_independent_2D.csv ├── smoothed_rir_1D.csv ├── smoothed_rir_2D.csv ├── substracted_1D.csv ├── substracted_2D.csv └── test_notebook.ipynb ├── test_deprecation_warnings.py ├── test_dsp.py ├── test_edc.py ├── test_edc_noise_handling.py ├── test_roomacoustics.py └── test_rt.py /.circleci/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.circleci/config.yml -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/01-bug-report.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.github/ISSUE_TEMPLATE/01-bug-report.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/02-question.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.github/ISSUE_TEMPLATE/02-question.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/03-feature-request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.github/ISSUE_TEMPLATE/03-feature-request.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/04-documentation.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.github/ISSUE_TEMPLATE/04-documentation.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/create_issue_if_cookiecutter.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.github/workflows/create_issue_if_cookiecutter.yml -------------------------------------------------------------------------------- /.github/workflows/has_label.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.github/workflows/has_label.yml -------------------------------------------------------------------------------- /.github/workflows/has_version_milestone.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.github/workflows/has_version_milestone.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.gitignore -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/.readthedocs.yml -------------------------------------------------------------------------------- /CONTRIBUTING.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/CONTRIBUTING.rst -------------------------------------------------------------------------------- /HISTORY.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/HISTORY.rst -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/README.md -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/api_reference.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/docs/api_reference.rst -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/contributing.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../CONTRIBUTING.rst 2 | -------------------------------------------------------------------------------- /docs/history.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../HISTORY.rst 2 | -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/docs/make.bat -------------------------------------------------------------------------------- /docs/modules/analytic.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/docs/modules/analytic.rst -------------------------------------------------------------------------------- /docs/modules/pyrato.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/docs/modules/pyrato.rst -------------------------------------------------------------------------------- /docs/pyrato.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/docs/pyrato.rst -------------------------------------------------------------------------------- /docs/readme.rst: -------------------------------------------------------------------------------- 1 | .. mdinclude:: ../README.md 2 | -------------------------------------------------------------------------------- /examples/energy_decay_curves_and_reverberation_time.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/examples/energy_decay_curves_and_reverberation_time.ipynb -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/pyproject.toml -------------------------------------------------------------------------------- /pyrato/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/pyrato/__init__.py -------------------------------------------------------------------------------- /pyrato/analytic/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/pyrato/analytic/__init__.py -------------------------------------------------------------------------------- /pyrato/analytic/analytic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/pyrato/analytic/analytic.py -------------------------------------------------------------------------------- /pyrato/analytic/impedance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/pyrato/analytic/impedance.py -------------------------------------------------------------------------------- /pyrato/dsp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/pyrato/dsp.py -------------------------------------------------------------------------------- /pyrato/edc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/pyrato/edc.py -------------------------------------------------------------------------------- /pyrato/rap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/pyrato/rap.py -------------------------------------------------------------------------------- /pyrato/roomacoustics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/pyrato/roomacoustics.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/data/analytic_impedance/k_ns_x.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_impedance/k_ns_x.csv -------------------------------------------------------------------------------- /tests/data/analytic_impedance/k_ns_x_zeta15.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_impedance/k_ns_x_zeta15.csv -------------------------------------------------------------------------------- /tests/data/analytic_impedance/k_ns_y.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_impedance/k_ns_y.csv -------------------------------------------------------------------------------- /tests/data/analytic_impedance/k_ns_y_zeta15.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_impedance/k_ns_y_zeta15.csv -------------------------------------------------------------------------------- /tests/data/analytic_impedance/k_ns_z.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_impedance/k_ns_z.csv -------------------------------------------------------------------------------- /tests/data/analytic_impedance/k_ns_z_zeta15.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_impedance/k_ns_z_zeta15.csv -------------------------------------------------------------------------------- /tests/data/analytic_impedance/ks.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_impedance/ks.csv -------------------------------------------------------------------------------- /tests/data/analytic_impedance/mode_indices.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_impedance/mode_indices.csv -------------------------------------------------------------------------------- /tests/data/analytic_impedance/mode_indices_zeta15.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_impedance/mode_indices_zeta15.csv -------------------------------------------------------------------------------- /tests/data/analytic_impedance/p_x.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_impedance/p_x.csv -------------------------------------------------------------------------------- /tests/data/analytic_impedance/p_x_zeta15.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_impedance/p_x_zeta15.csv -------------------------------------------------------------------------------- /tests/data/analytic_rir_impedance.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_rir_impedance.npy -------------------------------------------------------------------------------- /tests/data/analytic_rir_impedance_no_cav.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_rir_impedance_no_cav.npy -------------------------------------------------------------------------------- /tests/data/analytic_rir_rigid_walls.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_rir_rigid_walls.csv -------------------------------------------------------------------------------- /tests/data/analytic_rtf_impedance.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_rtf_impedance.npy -------------------------------------------------------------------------------- /tests/data/analytic_rtf_impedance_no_cav.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/data/analytic_rtf_impedance_no_cav.npy -------------------------------------------------------------------------------- /tests/private/comparison_fenics.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/private/comparison_fenics.ipynb -------------------------------------------------------------------------------- /tests/private/fenics/ks_fenics.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/private/fenics/ks_fenics.csv -------------------------------------------------------------------------------- /tests/private/fenics/p_R_fenics.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/private/fenics/p_R_fenics.csv -------------------------------------------------------------------------------- /tests/private/rectangular_room_impedance.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/private/rectangular_room_impedance.ipynb -------------------------------------------------------------------------------- /tests/test_analytic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_analytic.py -------------------------------------------------------------------------------- /tests/test_analytic_impedance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_analytic_impedance.py -------------------------------------------------------------------------------- /tests/test_data/analytic_rir_psnr50_1D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/analytic_rir_psnr50_1D.csv -------------------------------------------------------------------------------- /tests/test_data/analytic_rir_psnr50_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/analytic_rir_psnr50_2D.csv -------------------------------------------------------------------------------- /tests/test_data/edc_chu_1D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/edc_chu_1D.csv -------------------------------------------------------------------------------- /tests/test_data/edc_chu_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/edc_chu_2D.csv -------------------------------------------------------------------------------- /tests/test_data/edc_lundeby_1D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/edc_lundeby_1D.csv -------------------------------------------------------------------------------- /tests/test_data/edc_lundeby_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/edc_lundeby_2D.csv -------------------------------------------------------------------------------- /tests/test_data/edc_lundeby_chu_1D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/edc_lundeby_chu_1D.csv -------------------------------------------------------------------------------- /tests/test_data/edc_lundeby_chu_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/edc_lundeby_chu_2D.csv -------------------------------------------------------------------------------- /tests/test_data/edc_truncation_1D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/edc_truncation_1D.csv -------------------------------------------------------------------------------- /tests/test_data/edc_truncation_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/edc_truncation_2D.csv -------------------------------------------------------------------------------- /tests/test_data/generate_test_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/generate_test_data.py -------------------------------------------------------------------------------- /tests/test_data/intersection_time_1D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/intersection_time_1D.csv -------------------------------------------------------------------------------- /tests/test_data/intersection_time_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/intersection_time_2D.csv -------------------------------------------------------------------------------- /tests/test_data/noise_energy_1D.csv: -------------------------------------------------------------------------------- 1 | 9.887613159292005271e-05 2 | -------------------------------------------------------------------------------- /tests/test_data/noise_energy_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/noise_energy_2D.csv -------------------------------------------------------------------------------- /tests/test_data/noise_energy_from_edc_1D.csv: -------------------------------------------------------------------------------- 1 | 6.783588182146403818e-05 2 | -------------------------------------------------------------------------------- /tests/test_data/noise_energy_from_edc_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/noise_energy_from_edc_2D.csv -------------------------------------------------------------------------------- /tests/test_data/preprocessing_1D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/preprocessing_1D.csv -------------------------------------------------------------------------------- /tests/test_data/preprocessing_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/preprocessing_2D.csv -------------------------------------------------------------------------------- /tests/test_data/preprocessing_time_shift_1D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/preprocessing_time_shift_1D.csv -------------------------------------------------------------------------------- /tests/test_data/preprocessing_time_shift_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/preprocessing_time_shift_2D.csv -------------------------------------------------------------------------------- /tests/test_data/preprocessing_time_shift_channel_independent_1D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/preprocessing_time_shift_channel_independent_1D.csv -------------------------------------------------------------------------------- /tests/test_data/preprocessing_time_shift_channel_independent_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/preprocessing_time_shift_channel_independent_2D.csv -------------------------------------------------------------------------------- /tests/test_data/smoothed_rir_1D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/smoothed_rir_1D.csv -------------------------------------------------------------------------------- /tests/test_data/smoothed_rir_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/smoothed_rir_2D.csv -------------------------------------------------------------------------------- /tests/test_data/substracted_1D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/substracted_1D.csv -------------------------------------------------------------------------------- /tests/test_data/substracted_2D.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/substracted_2D.csv -------------------------------------------------------------------------------- /tests/test_data/test_notebook.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_data/test_notebook.ipynb -------------------------------------------------------------------------------- /tests/test_deprecation_warnings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_deprecation_warnings.py -------------------------------------------------------------------------------- /tests/test_dsp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_dsp.py -------------------------------------------------------------------------------- /tests/test_edc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_edc.py -------------------------------------------------------------------------------- /tests/test_edc_noise_handling.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_edc_noise_handling.py -------------------------------------------------------------------------------- /tests/test_roomacoustics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_roomacoustics.py -------------------------------------------------------------------------------- /tests/test_rt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyfar/pyrato/HEAD/tests/test_rt.py --------------------------------------------------------------------------------