piblin-jax Documentation
piblin-jax is a modern JAX-powered framework for measurement data science, providing a complete reimplementation of piblin with dramatic performance improvements and advanced uncertainty quantification.
Key Features
JAX-Powered Performance: 5-10x CPU speedup, 50-100x GPU acceleration
Bayesian Uncertainty Quantification: NumPyro integration for rigorous uncertainty propagation
100% piblin Compatibility: Drop-in replacement with
import piblin_jax as piblinModern Python 3.12+: Type-safe with modern syntax and functional programming
Non-Linear Fitting: NLSQ integration for advanced curve fitting
Automatic GPU Acceleration: Transparent device placement without configuration
Performance Targets
CPU: 5-10x speedup over piblin baseline
GPU: 50-100x speedup for large datasets
Memory: Efficient batch processing with lazy evaluation
Coverage: >95% test coverage
Quick Start
Installation:
pip install piblin-jax
Basic usage:
import piblin_jax
# Read data
data = piblin_jax.read_file('experiment.csv')
# Create a transform pipeline
from piblin_jax.transform import Pipeline, Interpolate1D, Smoothing
pipeline = Pipeline([
Interpolate1D(new_x=new_points),
Smoothing(window_size=5)
])
# Apply transformations
result = pipeline.apply_to(data)
# Visualize
result.visualize()
piblin Compatibility
For seamless migration from piblin:
import piblin_jax as piblin
# All your existing piblin code works!
data = piblin.read_file('experiment.csv')
# ... rest of your piblin code ...
Contents
User Guide
Tutorials
- Tutorials
- Basic Workflow Tutorial
- Overview
- Step 1: Loading Data
- Step 2: Initial Visualization
- Step 3: Data Smoothing
- Step 4: Interpolation
- Step 5: Building a Pipeline
- Step 6: Region of Interest
- Step 7: Numerical Derivatives
- Step 8: Statistical Analysis
- Step 9: Publication-Quality Plot
- Step 10: Working with Multiple Samples
- Summary
- Next Steps
- Complete Code
- Uncertainty Quantification Tutorial
- Custom Transforms Tutorial
- Rheological Models Tutorial
API Reference
Development