A modular tool for fitting superconducting resonator data
Project description
ResonFit
A modular Python package for analyzing and fitting superconducting resonator S21 data.
Overview
ResonFit provides a comprehensive and extensible framework for analyzing S21 transmission data from superconducting microwave resonators. It is designed to be modular and flexible, allowing users to customize their analysis pipeline while providing sensible defaults based on established methods.
The package is currently under active development. See our Development Plan for the current implementation status and future plans.
Features (Planned)
-
📊 Data Preprocessing
- Cable delay correction
- Amplitude and phase normalization
- Background removal
-
🔍 Fitting Methods
- DCM (Diameter Correction Method)
- Inverse S21 Method
- CPZM (Closest Pole and Zero Method)
-
🧩 Flexible Pipeline
- Combine different preprocessing and fitting methods
- Customize each step of the analysis process
-
📈 Visualization Tools
- Complex plane plots
- Amplitude and phase plots
- Residual analysis
Installation (Coming Soon)
pip install resonfit
Quick Example (Preview)
from resonfit import ResonatorPipeline
from resonfit.preprocessing import CableDelayCorrector, AmplitudePhaseNormalizer
from resonfit.fitting.methods import DCMFitter
import numpy as np
# Load data
freqs = np.linspace(5e9, 6e9, 1001)
s21 = your_data_loading_function()
# Create pipeline
pipeline = ResonatorPipeline()
pipeline.add_preprocessor(CableDelayCorrector())
pipeline.add_preprocessor(AmplitudePhaseNormalizer())
pipeline.set_fitter(DCMFitter(use_weights=True))
# Run fitting
results = pipeline.run(freqs, s21, plot=True)
# Print results
print(f"Resonance frequency: {results['fr']/1e9:.6f} GHz")
print(f"Quality factors: Qi={results['Qi']:.0f}, Qc={results['Qc_mag']:.0f}, Ql={results['Ql']:.0f}")
Development Status
ResonFit is currently in the early development stage. You can track our progress in the Development Plan.
Contributing
Contributions are welcome! If you'd like to help with the development of ResonFit, please check our Development Plan for areas that need attention.
License
This project will be licensed under the MIT License (to be added).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file resonfit-0.1.0.tar.gz.
File metadata
- Download URL: resonfit-0.1.0.tar.gz
- Upload date:
- Size: 24.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fc51c95c17c38ba465cbf7e35c646eeae3ea1ead2ca0c5c1e52c2778ae04057
|
|
| MD5 |
7d4cc0693ef98ef7bf68f65d4bb74d2c
|
|
| BLAKE2b-256 |
28d916b57a71ee53d8f94db138f878722883e24835a9ae9420d990290f11789c
|
File details
Details for the file resonfit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: resonfit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 29.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b4aa1ddb1d94c4a593b90ae6f9b3ec2d430860f43daa5e7fc781704ec738772
|
|
| MD5 |
5f90e85db2435154c70c4e26902f6728
|
|
| BLAKE2b-256 |
2dd2845238924259a411555f376fd17501f6acec23d5a771731af55e1c701472
|