Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

resonfit-0.2.0.tar.gz (34.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

resonfit-0.2.0-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file resonfit-0.2.0.tar.gz.

File metadata

  • Download URL: resonfit-0.2.0.tar.gz
  • Upload date:
  • Size: 34.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for resonfit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1ec14f34f961179e809c54bf46e8969934849bb0c91163844a3af3654d6915e6
MD5 ba04fa3618528e1f6d68a344ba3d8b28
BLAKE2b-256 04f36d48278deb7da68fb26ab88b49a0d4272f6a8776bf4b1fa2f4d47493be83

See more details on using hashes here.

File details

Details for the file resonfit-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: resonfit-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for resonfit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 830001beee21e2a3fa8fa82efb143df0d7337434bc7de5653277ba76d4d04053
MD5 604e823b409e8c0d0232ba31a70808b1
BLAKE2b-256 d187c1852efcbf051f12840ad4708583b48a2a7adee95da5b06f96f3ed23537b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page