Welcome to MULTIPAC test bench’s documentation!
Contents:
- Introduction
- Configuration
- Load files
- Gallery
- Tutorials
- Load files
- Plot signals measured by the instruments
- Plot an instrument data vs another
- Interactive plots
- Plot data from several tests on the same Figure
- Plot evolution of thresholds during test
- Plot voltage thresholds from several tests
- Create susceptibility charts
- Validate Somersalo scaling law
- Reconstruct the voltage from the field probes
- Animate the measured signals
- Bibliography
- API Reference
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/checkouts/2.0.x/docs/manual/notebooks/reconstruct_voltage.ipynb, line 199999.)
Todo
Integrate to
MultipactorTest.sweet_plot()? Maybe a dedicated method is more suited.Handle increasing/decreasing potentials to avoid superposition of the two distributions.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/checkouts/2.0.x/docs/manual/plot_rpa_data.ipynb, line 566.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/current_probe.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/electric_field/field_probe.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
To refactor so that it takes calibration_folder as argument
instead of calibration_file. Idea is to be more DRY.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/electric_field/field_probe.py:docstring of multipac_testbench.instruments.electric_field.field_probe.FieldProbe._rf_rack_calibration_constants, line 3.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/electric_field/i_electric_field.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
voltage fitting, overload: they work but this not clean, not clean at all
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/electric_field/reconstructed.py:docstring of multipac_testbench.instruments.electric_field.reconstructed, line 6.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/electric_field/reconstructed.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/electric_field/reconstructed.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/instrument.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Find out the units for optical fibre.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/optical_fibre.py:docstring of multipac_testbench.instruments.optical_fibre, line 3.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/optical_fibre.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/penning.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/penning.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/power.py:docstring of multipac_testbench.instruments.power.Power.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/power.py:docstring of multipac_testbench.instruments.power.Power.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/power.py:docstring of multipac_testbench.instruments.power.Power.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/power.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Accept str inputs?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/predicates.py:docstring of multipac_testbench.instruments.predicates.instrument_type_selector, line 3.)
Todo
Implement predicate applying on measurement points names?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/predicates.py:docstring of multipac_testbench.instruments.predicates.measurement_point_excluder, line 3.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/reflection_coefficient.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/rpa.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/rpa.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/rpa.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/swr.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/instruments/virtual_instrument.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
Allow for TXT or XLSX input files.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/loader.py:docstring of multipac_testbench.multipactor_test.loader._load_file, line 3.)
Todo
Allow to trim data (remove noisy useless data at end of exp)
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/multipactor_test.py:docstring of multipac_testbench.multipactor_test.multipactor_test, line 3.)
Todo
name of pick ups in animation
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/multipactor_test.py:docstring of multipac_testbench.multipactor_test.multipactor_test, line 6.)
Todo
histograms for mp voltages? Maybe then add a gaussian fit, then we can determine the 3sigma multipactor limits?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/multipactor_test.py:docstring of multipac_testbench.multipactor_test.multipactor_test, line 9.)
Todo
to_ignore, to_exclude arguments should have more consistent names.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/multipactor_test.py:docstring of multipac_testbench.multipactor_test.multipactor_test, line 13.)
Todo
Find out why following lines result in strange plot linestyles.
measurement_points: list[IMeasurementPoint] = self.pick_ups
if self.global_diagnostics is not None:
measurement_points.append(self.global_diagnostics)
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/multipactor_test.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.add_post_treater, line 3.)
Todo
Kwargs mixed up between the different methods.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/multipactor_test.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.sweet_plot, line 3.)
Todo
Add a way to fit exponential (?) law on the thresholds. Will need to change the x-axis.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/multipactor_test.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.plot_thresholds, line 8.)
Todo
last_frame badly handled: gif will be as long as if the
last_frame was not set, except that images won’t be updated
after the last frame.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/multipactor_test.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.animate_instruments_vs_position, line 3.)
Todo
Also show from global diagnostic
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/multipactor_test.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.scatter_instruments_data, line 7.)
Todo
User should be able to select: reconstructed or measured electric field.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/multipactor_test.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.scatter_instruments_data, line 10.)
Todo
Fix this. Or not? This is not the most explicit way to display data…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/multipactor_test.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.scatter_instruments_data, line 14.)
Todo
Kwargs mixed up between the different methods.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/power_step.py:docstring of multipac_testbench.multipactor_test.power_step.PowerStep.sweet_plot, line 3.)
Todo
Find out why following lines result in strange plot linestyles.
measurement_points: list[IMeasurementPoint] = self.pick_ups
if self.global_diagnostics is not None:
measurement_points.append(self.global_diagnostics)
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/power_step.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.add_post_treater, line 3.)
Todo
last_frame badly handled: gif will be as long as if the
last_frame was not set, except that images won’t be updated
after the last frame.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/power_step.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.animate_instruments_vs_position, line 3.)
Todo
Add a way to fit exponential (?) law on the thresholds. Will need to change the x-axis.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/power_step.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.plot_thresholds, line 8.)
Todo
Also show from global diagnostic
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/power_step.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.scatter_instruments_data, line 7.)
Todo
User should be able to select: reconstructed or measured electric field.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/power_step.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.scatter_instruments_data, line 10.)
Todo
Fix this. Or not? This is not the most explicit way to display data…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/multipactor_test/power_step.py:docstring of multipac_testbench.multipactor_test.multipactor_test.MultipactorTest.scatter_instruments_data, line 14.)
Todo
Consider adding post-processing to remove isolated True values.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/scripts/multipactor_detector_study.py:docstring of multipac_testbench.instruments.instrument.Instrument.growth_mask, line 44.)
Todo
For some reason, two point is plotted on the one point ax instead of the two point…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/test_campaign.py:docstring of multipac_testbench.test_campaign.TestCampaign.somersalo_chart, line 3.)
Todo
Determine what this function should precisely plot. As for now, it plots last lower and upper power barriers. Alternatives would be to plot every power that led to multipacting during last power cycle, or every power that led to multipacting during whole test.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/test_campaign.py:docstring of multipac_testbench.test_campaign.TestCampaign._add_somersalo_measured, line 3.)
Todo
Handle isolated mp zones? Characterized by two Threshold objects at same position, same indexes. One is upper, other is lower. One is enter, other is exit
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/threshold/threshold.py:docstring of multipac_testbench.threshold.threshold.Threshold, line 3.)
Todo
Modernize this, with type hint etc.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/util/log_manager.py:docstring of multipac_testbench.util.log_manager, line 13.)
Todo
Fill above/below the extrema.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/util/plot.py:docstring of multipac_testbench.util.plot.plot_extrema_markers, line 3.)
Todo
Illustration in documentation.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/util/post_treaters.py:docstring of multipac_testbench.util.post_treaters.lower_envelope, line 3.)
Todo
May also use scipy.ndimage.percentile_filter(). May be more robust
with noisy data or occasional downward spikes. To test.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/multipac-testbench/envs/2.0.x/lib/python3.12/site-packages/multipac_testbench/util/post_treaters.py:docstring of multipac_testbench.util.post_treaters.lower_envelope, line 6.)