Overview
VIPR is a flexible AI framework for inference that combines a Nuxt.js frontend with a FastAPI backend and Cement CLI Python project. The framework currently has reflectorch implemented as an example for reflectometry data analysis using neural networks.
Interface Layout
The VIPR interface consists of two main sections:
- Left Panel: Processing pipeline steps configuration (Load Data → Load Model → Normalize → Preprocess → Predict → Postprocess)
- Right Panel: Results visualization (reflectivity curves, SLD profiles, parameters)
Quick Start: Using Predefined Configurations
Step 1: Load Example Configurations
Click the "LOAD EXAMPLES" button in the top header to access predefined configurations.
Step 2: Select Configuration
A modal dialog will appear with available example configurations:
- data_PTCDI-C3_XRR_2025-06-12T11-23-25-881Z.json: X-ray reflectometry data
- Ni500_NR_2025-06-12T11-30-19-178Z.json: Nickel neutron reflectometry
- Ni_on_Glass_NR_2025-06-12T11-41-04-080Z.json: Nickel on glass neutron reflectometry
Select one of the configurations by clicking on it.
Step 3: Configuration Import Confirmation
After selecting a configuration, you will see an "Import successful" notification in the bottom right corner. The pipeline steps will be automatically configured with the selected example settings.
Step 4: Run Prediction
The results panel will show "No results yet. Configure your settings and click 'Predict' to see the results here." Click the "RUN PREDICTION" button to start the inference process.
Step 5: View Results
After the prediction completes, results will be displayed in the right panel:
- Reflectivity Curves: Graph showing experimental data (blue line), predicted values (orange dashed line), and polished results
- Model Parameters Table: Shows predicted and polished values for:
- Layer thicknesses (L2, L1)
- Surface roughnesses (L2, L1, substrate)
- Scattering length densities (SLD L2)
Additional Features
Live Prediction
Toggle "Live Prediction" to automatically update results when configuration parameters change.
Manual Configuration
Each pipeline step can be manually configured by clicking the "EDIT CONFIGURATION" button next to any step in the left panel.
Save/Load Custom Configurations
Use the "SAVE" and "LOAD" buttons in the header to export or import your own configuration files.
Pipeline Steps Overview
- Load Data: Specifies the experimental data file (reflectometry measurements)
- Load Model: Selects the neural network model for analysis (e.g., reflectorch)
- Normalize: Optional data normalization step
- Preprocess: Data preprocessing (e.g., interpolation)
- Predict: Main inference step with parameter prediction
- Postprocess: Post-processing of results
Getting Started Tip
For new users, start with the predefined example configurations to understand the workflow, then modify parameters or upload your own data files as needed.