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.1.0.tar.gz (24.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.1.0-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

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

Hashes for resonfit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2fc51c95c17c38ba465cbf7e35c646eeae3ea1ead2ca0c5c1e52c2778ae04057
MD5 7d4cc0693ef98ef7bf68f65d4bb74d2c
BLAKE2b-256 28d916b57a71ee53d8f94db138f878722883e24835a9ae9420d990290f11789c

See more details on using hashes here.

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

Hashes for resonfit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b4aa1ddb1d94c4a593b90ae6f9b3ec2d430860f43daa5e7fc781704ec738772
MD5 5f90e85db2435154c70c4e26902f6728
BLAKE2b-256 2dd2845238924259a411555f376fd17501f6acec23d5a771731af55e1c701472

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