Skip to content

danielhackl-tu/Superconductor_Annealing_Toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Annealing Data Analysis Suite

A comprehensive toolkit for analyzing and visualizing resistance and voltage measurements from semiconductor annealing experiments. This project provides tools for processing raw measurement data, handling sensor errors, and generating publication-quality plots.

🔬 Main Analysis Scripts

Core Plotting Tools (Primary Scripts)

annealing_plot_resistance.py

The main resistance analysis tool for single annealing runs.

Usage:

python annealing_plot_resistance.py PATH_TO_DATA_FILE.dat [options]

Examples:

python annealing_plot_resistance.py SPSCS09/SPSCS09_021/Step_1_SPSCS09_021_in_O2.dat
python annealing_plot_resistance.py your_data.dat --title "Custom Analysis" --tmin 10 --tmax 60
python annealing_plot_resistance.py your_data.dat --outlieroff --noarrows

Features:

  • Auto-detects voltage/current polarities for proper processing
  • Handles missing temperature data with intelligent repair
  • Identifies heating and cooling phases with directional arrows
  • Provides start and end point markers with resistance values
  • Automatic outlier removal (can be disabled with --outlieroff)
  • Publication-quality plots with customizable options

annealing_plot_resistance_overlay.py

Overlay multiple annealing runs for comparative analysis.

Usage:

python annealing_plot_resistance_overlay.py FILE1.dat FILE2.dat [FILE3.dat ...] [options]

Example:

python annealing_plot_resistance_overlay.py SPSCS09_024.dat SPSCS09_025.dat SPSCS09_028.dat --title "Sample Comparison"

Features:

  • Compare multiple annealing runs on the same plot
  • Automatic color and marker cycling for clear differentiation
  • Sample identification from filenames
  • Ideal for batch analysis and sample comparison

annealing_plot_voltage.py

Voltage-focused analysis with enhanced visualization options.

Usage:

python annealing_plot_voltage.py PATH_TO_DATA_FILE.dat [options]

Features:

  • Voltage measurements in mV for better readability
  • Raw data visualization options
  • Same data processing pipeline as resistance analysis
  • Complementary analysis to resistance measurements

Common Options for All Plotting Scripts

  • --title "Custom Title" - Set a custom plot title
  • --tmin X - Only include data after X minutes
  • --tmax Y - Only include data before Y minutes
  • --noarrows - Hide direction arrows in temperature plots
  • --outlieroff - Disable automatic outlier removal
  • --showraw - Show raw measurements as points with lines

🧪 Experimental Analysis Scripts

Note: These scripts were experimental attempts at advanced modeling but did not yield the expected results for our specific use case.

analyze_annealing_Bruker.py

Attempted linear resistance modeling for Bruker tape samples.

  • Implements simple linear temperature coefficient models
  • Designed for metallic behavior analysis
  • Status: Experimental - did not provide satisfactory fits for our data

analyze_annealing_SuperPower.py

Advanced hysteresis-aware modeling for superconductor data.

  • Complex multi-parameter fitting with separate heating/cooling phases
  • Implements physics-based models with activation energies
  • Status: Experimental - overly complex for practical use

🛠 Supporting Scripts

messkript.py

Data acquisition script for real-time measurements.

  • Interfaces with Keithley 2400 sourcemeter via Prologix adapter
  • Alternating current measurements (+/- polarity)
  • Serial communication with temperature sensors
  • Outputs tab-separated data files

ohmic_contacts_analysis.py

Linearity analysis for ohmic contact verification.

  • R² quantification for contact quality assessment
  • Separate analysis for positive and negative current polarities
  • Current range analysis for different measurement regimes

📁 Project Structure

Annealing-Ofen/
├── README.md                           # This file
├── requirements.txt                    # Python dependencies
├── annealing_plot_resistance.py       # ⭐ Main resistance analysis
├── annealing_plot_resistance_overlay.py # ⭐ Multi-file comparison
├── annealing_plot_voltage.py          # ⭐ Voltage analysis
├── analyze_annealing_Bruker.py        # Experimental modeling
├── analyze_annealing_SuperPower.py    # Experimental modeling
├── messkript.py                       # Data acquisition
├── ohmic_contacts_analysis.py         # Contact analysis
├── plots/                             # Generated plots (PDF)
├── processed_data/                    # Processed data files
├── temperature_repairs/               # Temperature sensor repair logs
├── Bruker/                           # Bruker sample data
├── SPSCS09/                          # SPSCS09 sample data
└── older_measurements/               # Archived data

🚀 Quick Start

  1. Install dependencies:

    pip install -r requirements.txt
  2. Analyze a single measurement:

    python annealing_plot_resistance.py your_data_file.dat
  3. Compare multiple measurements:

    python annealing_plot_resistance_overlay.py file1.dat file2.dat file3.dat
  4. Analyze voltage data:

    python annealing_plot_voltage.py your_data_file.dat

📊 Output Files

Generated Plots (saved to plots/ folder)

  • PDF format for publication quality
  • Resistance vs Temperature with heating/cooling phases
  • Resistance vs Time profiles
  • Overlay comparisons for multiple samples

Processed Data (saved to processed_data/ folder)

  • Tab-separated format with essential columns
  • Cleaned data with outliers removed and interpolated values
  • Time stamps, temperature, voltage, and resistance columns

Temperature Repairs (saved to temperature_repairs/ folder)

  • Verification plots showing temperature sensor error corrections
  • Before/after comparisons for data quality assurance

🔧 Data Format

The scripts expect tab-separated data files with the following columns:

timestamp    resistance    temperature    voltage    current

Example data line:

2025-01-15T10:30:45.123+01:00    0.1234    25.6    0.00123    0.01

🎨 Features

Intelligent Data Processing

  • Automatic polarity detection for voltage/current measurements
  • Temperature sensor error repair (-1 value interpolation)
  • Outlier detection and removal using statistical methods
  • Time-based filtering for specific analysis windows

Publication-Quality Visualization

  • Professional styling with seaborn and matplotlib
  • Chemical formula formatting (O₂ subscripts)
  • Directional arrows indicating heating/cooling phases
  • Start/end markers with numerical values
  • Customizable titles and labels

Robust File Handling

  • Automatic file discovery in standard directories
  • Flexible input parsing for different data formats
  • Error handling with informative messages
  • Cross-platform compatibility

🤖 AI Development Acknowledgment

This codebase was developed with significant assistance from GitHub Copilot during March-June 2025. The AI assistance was particularly valuable for:

  • Data processing pipeline design and error handling
  • Statistical analysis implementation and outlier detection
  • Matplotlib visualization and publication-quality formatting
  • Code structure and documentation improvements

The core scientific algorithms and analysis approaches were designed by the research team, with AI assistance primarily in implementation, optimization, and code quality enhancement.

📋 Requirements

See requirements.txt for the complete list of dependencies. Key packages include:

  • pandas - Data manipulation and analysis
  • numpy - Numerical computations
  • matplotlib - Plotting and visualization
  • seaborn - Statistical data visualization
  • scipy - Scientific computing and curve fitting
  • bokeh - Color palettes for consistent plotting

🔬 Scientific Context

This toolkit is designed for analyzing superconductor annealing experiments where:

  • Resistance measurements track material properties during thermal cycling
  • Temperature profiles show heating and cooling phases
  • Multiple samples require comparative analysis
  • Publication-quality plots are needed for research documentation

The annealing process typically involves heating samples in controlled atmospheres (O₂, Ar) to study temperature-dependent electrical properties and phase transitions.

📈 Usage Tips

  1. Start with resistance analysis - Most informative for superconductor studies
  2. Use overlay plots for comparing different samples or conditions
  3. Check temperature repairs folder if sensor errors occur
  4. Apply time filtering to focus on specific temperature ranges
  5. Disable outlier removal if you need to preserve all raw data points

🐛 Troubleshooting

Common issues:

  • File not found: Check file paths and use absolute paths if needed
  • Missing columns: Verify data format matches expected tab-separated structure
  • Temperature sensor errors: Script automatically repairs -1 values via interpolation
  • Memory issues: Use time filtering (--tmin, --tmax) for large datasets

📄 License

This project is part of ongoing research. Please contact the development team for usage permissions and collaboration opportunities.


Development Team: Research Group
Development Period: March - June 2025
AI Assistant: GitHub Copilot
Status: Active development with experimental features

About

Superconductor Defect Annealing Plot Script and Data Analysis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages