Welcome to MULTIPAC test bench’s documentation!

Contents:

Todo

Find out why correlation electric field vs power is so bad… In previous campaign, we had:

Old fit

(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.)

Indices and tables