AI-powered beamline scientist for real-time HEDM data analysis at Argonne National Laboratory's Advanced Photon Source.
./setup_user.sh # One-time setup
./start_beamline_assistant.sh # Start APEXA CLI./start_web_viewer.sh # Start Web UIThen open: http://localhost:8001
That's it! Natural language interface ready for:
- ✅ Detector calibration (CeO2, LaB6, Si)
- ✅ 2D→1D integration with dark subtraction
- ✅ FF-HEDM grain reconstruction
- ✅ NF-HEDM microstructure mapping
- ✅ Phase identification
- ✅ Batch processing
- ✅ Real-time monitoring
For the best experience, view our searchable documentation website:
./serve_docs.sh # Opens at http://localhost:8000Features:
- 🔍 Full-text search across all docs
- 📱 Mobile-friendly responsive design
- 🌓 Dark/light mode toggle
- 📑 Organized navigation and table of contents
- USER_MANUAL.md - Complete guide with examples and tutorials
- WEB_UI_GUIDE.md - Browser-based interface for demos and collaboration
- QUICK_REFERENCE.md - Command cheat sheet for demos
- APEXA_SMART_FEATURES_MANUAL.md - Smart features and AI capabilities
- MIDAS_WORKFLOWS_REFERENCE.md - Technical MIDAS workflow details
APEXA> calibrate using the CeO2 image in this directory
→ Auto Calibrate
✓ Refined parameters saved to refined_MIDAS_params.txt
APEXA> integrate sample.tif using those parameters
→ Integrate 2D To 1D
✓ Output: sample.dat
APEXA> identify phases from the peaks
→ Phase Identification
Detected phases: Ti (α-phase), TiO₂ (rutile)
APEXA> run FF-HEDM workflow on /data/experiment
→ FF-HEDM Full Workflow
✓ Found 2,347 grains
No need to memorize commands - just describe what you want:
- "Calibrate using the ceria file"
- "Integrate with dark subtraction"
- "Run FF-HEDM with 32 CPUs"
Remembers your session:
- Previous files and directories
- Analysis history
- Conversation context
Suggests next steps after each analysis:
- "📊 Suggested next steps: Integrate rings to 1D pattern"
- Auto-validates parameters before execution
- Real-time alerts during beamtime
See APEXA_SMART_FEATURES_MANUAL.md for details on all smart features.
Add new analysis tools in 5 minutes - see USER_MANUAL.md for details.
User → Argo-AI (GPT-4o/Claude/Gemini)
↓
MCP Client (argo_mcp_client.py)
↓
┌─────────┬─────────┬─────────┐
│filesystem│ midas │ executor│
└─────────┴─────────┴─────────┘
User Settings (.env):
ANL_USERNAME=your_username
ARGO_MODEL=gpt4o # or claudesonnet4, gemini25pro
MIDAS_PATH=~/Git/MIDAS # Optional - auto-detectedServer Configuration (servers.config):
filesystem:filesystem_server.py
executor:command_executor_server.py
midas:midas_comprehensive_server.py- Python: 3.10+
- Package Manager: uv
- Network: ANL access for Argo-AI
- MIDAS: Installed with conda environment
- Memory: 16+ GB RAM (64+ GB recommended for FF-HEDM)
MIDAS not detected?
APEXA automatically searches for MIDAS in this order:
$MIDAS_PATHenvironment variable~/Git/MIDAS~/opt/MIDAS/home/beams/S*USER/opt/MIDAS(beamline systems)~/MIDAS/opt/MIDAS~/.MIDAS
To override auto-detection:
export MIDAS_PATH=/path/to/MIDASTool warnings? Restart the assistant - warnings are cosmetic.
Need help?
APEXA> help
APEXA> what can you do?
APEXA> how do I calibrate?
See USER_MANUAL.md for detailed troubleshooting.
Development:
- Pawan Tripathi - Lead Developer
- Advanced Photon Source, Argonne National Laboratory
Core Dependencies:
Copyright © 2024 UChicago Argonne, LLC
See LICENSE for details.
Ready to analyze? Start with:
./start_beamline_assistant.shDocumentation Map:
- New user? → User Manual
- Demo/presentation? → Quick Reference
- MIDAS expert? → MIDAS Workflows
- Want advanced features? → Smart Features