Releases: aaroncelestian/RamanLab
Minor Updates in 1.1.3
RamanLab Version 1.1.3 - Change Summary
Matplotlib Toolbar Fix
The matplotlib toolbar buttons were not properly vertically centered within their containers across RamanLab modules, creating an unprofessional appearance.
Better Batch Processing Monitor
Plots and output data have been optimized. For batch data CSV output, you get two files: 1) summary of all results that can be used for plotting, and 2) full output of all lines (measured profile, background profile, fitting plot profile, residual profile) for every spectra.
Major release 1.1.2
🚀 RamanLab v1.1.2 Update Summary
🎯 Major New Features Implemented
🔄 Automatic Background Git Pull
- Self-updating system that keeps RamanLab current automatically
- Seamless background updates without user intervention
- Eliminates the need for manual git pulls and updates
- Ensures users always have the latest features and bug fixes
🔬 Batch Peak Fitting System
- Completely redesigned batch processing architecture
- Advanced algorithms with superior accuracy and reliability
- Enhanced peak detection capabilities with intelligent automation
- Sophisticated analysis workflows for complex data processing
- Future-ready architecture designed for continuous feature expansion
🎛️ Interface Streamlining
- Removed redundant batch peak fitting button from main interface
- Cleaned up Advanced tab for better user experience
- Eliminated confusion from duplicate entry points
- Enhanced overall application consistency
🔧 Technical Improvements
📁 Code Architecture Overhaul
- Removed legacy
batch_peak_fitting/
directory structure - Added new
advanced_analysis/
directory with sophisticated modules - Reorganized 57 files with 10,742 insertions and 10,020 deletions
- Enhanced system architecture for future feature expansion
🗂️ File Organization
-
Deleted obsolete files:
- Legacy batch peak fitting modules
- Old test files and deprecated components
- Redundant UI components and visualization modules
-
Added new advanced features:
advanced_analysis/
directory with sophisticated modulesBATCH_INTEGRATION_ARCHITECTURE.md
documentationPEAK_DETECTION_OPTIMIZATION_SUMMARY.md
guide- Enhanced test data and sample files
🛠️ Performance Enhancements
- Improved peak detection algorithms with better baseline handling
- Enhanced error handling and robustness throughout the system
- Optimized performance for complex analytical workflows
- Better integration capabilities for advanced research applications
📝 Documentation & Version Management
📋 Version Updates
- Updated to v1.1.2 (resolved version conflict from existing 1.1.1)
- Comprehensive release notes in both
version.py
andVERSION.txt
- Added contact information for user support:
aaron.celestian@gmail.com
- Enhanced version tracking with detailed changelog entries
🏷️ Git Repository Management
- Created official v1.1.2 release tag with comprehensive release notes
- Detailed commit messages documenting all changes
- Clean git history with proper version tracking
- All changes pushed to remote repository for public access
🎉 Impact & Future Roadmap
🌟 User Benefits
- Automatic updates keep software current without manual intervention
- Sophisticated batch processing handles complex analysis workflows
- Cleaner interface reduces confusion and improves usability
- Enhanced reliability with better error handling and robustness
🔮 Future Development
- Continued improvements to the new batch peak fitting system
- Additional sophisticated analysis algorithms in development
- Enhanced automation features planned for upcoming releases
- Expanded integration capabilities for advanced research workflows
📊 Release Statistics
- Version: 1.1.2
- Release Date: July 5, 2025
- Files Changed: 57 files
- Code Changes: 10,742 insertions, 10,020 deletions
- Git Commits: Multiple commits with comprehensive documentation
- Release Tag: v1.1.2 with detailed release notes
Moderate Update to v1.1.4
Current Version: ✅ 1.1.4
🎯 Version 1.1.4 Key Features:
-
🐍 Interactive Jupyter Console Integration
- qtconsole, jupyter-client, ipykernel support
- Live data access within RamanLab
- Custom analysis scripting capabilities
-
📦 Enhanced Dependency Management
update_dependencies.py
script with multiple modes- Interactive and command-line update options
- Virtual environment detection and warnings
-
🔍 Improved Dependency Checking
- Enhanced
check_dependencies.py
with Jupyter detection - Interactive Console component status tracking
- Comprehensive troubleshooting guidance
- Enhanced
-
📋 User Documentation
JUPYTER_INTEGRATION_UPDATE.md
comprehensive guide- Clear update instructions and troubleshooting
- Multiple installation methods
🔧 Technical Benefits:
- Seamless Updates: Automated dependency management
- Interactive Analysis: Jupyter console integration
- Better UX: Clear documentation and troubleshooting
- Consistent Versioning: All files now reference 1.1.4
- Graceful Degradation: Works with or without new packages
Version 1.1.0
RamanLab v1.1.0 - "Batch Peak Fitting Module Enhancement"
Release Date: January 28, 2025
Release Type: Major Enhancement
Tag: v1.1.0
🎯 Release Overview
RamanLab v1.1.0 represents a significant step forward in reliability and accessibility, specifically addressing critical issues with the batch peak fitting module that prevented many users from accessing this powerful feature. This release ensures that all users can successfully utilize the advanced batch peak fitting capabilities regardless of their system configuration or installation method.
✨ Major Features & Improvements
🔧 Batch Peak Fitting Module Reliability
- Fixed critical import issues that caused "Module not available" errors for many users
- Resolved
ModuleNotFoundError: no module named 'core.config_manager'
- the primary blocker - Added automatic path detection to locate RamanLab root directory regardless of launch method
- Implemented graceful degradation - module works with reduced functionality when core modules unavailable
🛠️ Enhanced Diagnostic Tools
- Comprehensive dependency checker completely rewritten for batch peak fitting diagnostics
- GUI-integrated diagnostics accessible via "🔍 Check Dependencies" button in Advanced tab
- Detailed troubleshooting guidance with system-specific solutions
- Real-time module availability checking with helpful error messages
🚀 Robust Error Handling
- Fallback peak detection using scipy when core modules unavailable
- Enhanced error messages guide users toward specific solutions
- Automatic troubleshooting suggestions for common configuration issues
- Improved user guidance throughout the application
📊 Developer Experience
- Comprehensive MODULE_STATUS tracking for all dependencies
- Enhanced import path management with automatic fallback mechanisms
- Detailed console debugging for development and troubleshooting
- Consistent error handling patterns across all modules
🐛 Bug Fixes
Critical Fixes
- ✅ Fixed batch peak fitting "Module not available" errors affecting Windows, macOS, and Linux users
- ✅ Resolved Python path resolution issues preventing proper module imports
- ✅ Fixed missing
__init__.py
file handling with automatic verification - ✅ Enhanced import error handling with specific troubleshooting steps
User Experience Improvements
- ✅ Improved error messages now provide actionable solutions instead of cryptic technical errors
- ✅ Added GUI dependency checker eliminating need for terminal commands
- ✅ Enhanced module availability feedback with clear status indicators
- ✅ Better integration guidance for users experiencing configuration issues
🔬 Technical Improvements
Architecture Enhancements
- Robust import path setup with automatic RamanLab root detection
- Enhanced BatchPeakFittingAdapter with comprehensive fallback functionality
- Modular dependency checking with detailed status reporting
- Improved error propagation throughout the application stack
Development & Maintenance
- Comprehensive logging for debugging import and configuration issues
- Enhanced code documentation with detailed troubleshooting guides
- Improved test coverage for edge cases and error conditions
- Streamlined deployment with better dependency management
📋 Installation & Upgrade Instructions
For Existing Users
- Goto Help
- Check for Updates
or
# Update your local repository
git pull origin main
# Verify the update
python check_dependencies.py
# Launch RamanLab
python launch_ramanlab.py
For New Users
# Clone the repository
git clone https://github.com/aaroncelestian/RamanLab.git
cd RamanLab
# Install dependencies
pip install -r requirements_qt6.txt
# Check system compatibility
python check_dependencies.py
# Launch RamanLab
python launch_ramanlab.py
Troubleshooting
If you encounter batch peak fitting issues:
- Run the dependency checker:
python check_dependencies.py
- Use the GUI checker: Advanced tab → "🔍 Check Dependencies" button
- Ensure proper working directory: Launch from RamanLab root directory
- Verify Python path: Should include RamanLab root directory
🆕 What's New for Users
Immediate Benefits
- Batch peak fitting now works reliably for all users out of the box
- Clear diagnostic tools help identify and resolve configuration issues quickly
- Better error messages provide specific solutions instead of technical jargon
- Graceful fallback ensures core functionality remains available even with partial installations
Enhanced User Experience
- GUI-based diagnostics accessible directly from the application
- Automatic problem detection with suggested solutions
- Improved stability across different system configurations
- Better guidance for resolving common issues
⚠️ Breaking Changes
None. This release maintains full backward compatibility with existing data, workflows, and configurations.
🔄 Migration Notes
No migration is required. All existing:
- ✅ Spectrum files and data
- ✅ User preferences and settings
- ✅ Database files and configurations
- ✅ Analysis workflows and results
...continue to work without modification.
🧪 Testing & Validation
This release has been tested across:
- Operating Systems: Windows 10/11, macOS (Intel/M1), Ubuntu 20.04/22.04
- Python Versions: 3.8, 3.9, 3.10, 3.11, 3.12
- Installation Methods: Git clone, direct download, various Python environments
- System Configurations: Various path configurations, virtual environments, conda environments
📚 Documentation Updates
- Enhanced README.md with updated version information
- Comprehensive troubleshooting guide in
check_dependencies.py
- Updated installation instructions with common issue resolution
- Improved error message documentation throughout the application
🙏 Acknowledgments
Special thanks to users who reported batch peak fitting issues and provided detailed system information that helped identify and resolve these critical problems. Your feedback directly contributed to making RamanLab more accessible and reliable for everyone.
📊 Release Statistics
- Files Changed: 83
- Code Changes: 12,869 insertions, 12,462 deletions
- Commits: 2 major commits
- Focus Areas: Module reliability, error handling, user experience
- Testing Coverage: Cross-platform validation across multiple configurations
🔗 Useful Links
- 📖 Full Documentation: Available in repository
/docs/
directory - 🐛 Report Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📧 Support: Contact through GitHub or repository documentation
🎯 Next Steps
This release establishes a solid foundation for reliable batch peak fitting. Future releases will focus on:
- Additional analysis modules and capabilities
- Performance optimizations and enhancements
- Expanded file format support
- Advanced visualization features
Full Changelog: v1.0.5...v1.1.0
RamanLab - Cross-platform Raman spectrum analysis tool built with Qt6
Version 1.1.0 • Released January 28, 2025 • MIT License
Critical 1.0.4
Version 1.0.4: Fix Windows database connection issue
- Fixed critical Windows database path mismatch causing 'Empty Database' errors
- Enhanced RamanSpectraQt6 with intelligent fallback path logic
- Priority order: Documents/RamanLab_Qt6/ → script directory → create new
- Added comprehensive database loading debug information
- Maintains backward compatibility with existing installations
- All dependent modules benefit automatically via dependency injection
- Added detailed fix documentation
Version 1.0.3
Moderate update 1.0.3
This version adds a new Database Manager, which can be launched from the help menu. This utility will help find database files and move them to the correct location. It will also check the formatting of the files, look at the total entries, and list some of the contents. Messages will be printed in the text window, and these can be used for troubleshooting.
There are also many bug fixes that I found, but please continue to report them in the Report Bugs in the RamanLab Discussion forum (link in the help menu).
Version 1.0.2
Moderate update 1.0.2
Bug fixes in various places, but specifically focused on the advanced search match process. Changed tab layout to make it more obvious what search method is being used for basic and advanced searches. Also optimized combined and DTW search algorithm speed. Added peak labels to "find peaks" in the process tab of the main window. This makes it easier for the user to do advanced searching of specific peaks. However, the user still needs to be aware that the algorithm is still looking for a single phase for the whole Raman spectrum, and that the chosen algorithm greatly influences the returned results. Working on mixed mineral analysis, but not yet implemented. Testing web-apps for potential distribution.
Minor v1.0.1
Lots of bug fixes, added and improved background subtraction options in the main window and peak fitting window. Added version control that automatically checks for updates and prompts the user.
Initial Release v1.0.0
Initial Release of RamanLab Software Suite
I am excited to announce the initial release of the RamanLab Software Suite, an open-source toolkit designed to streamline and enhance the analysis of Raman spectroscopy data. This release marks a significant milestone in our mission to provide accessible, robust, and reproducible tools for the scientific community working with Raman spectroscopic techniques.
Key Features
- Automated Data Processing: Effortlessly preprocess, baseline-correct, and normalize Raman spectra with customizable workflows.
- Advanced Spectral Analysis: Leverage state-of-the-art algorithms for peak detection, fitting, and quantitative analysis.
- Template Matching & Material Identification: Rapidly identify materials using a flexible template-matching engine, with robust confidence metrics to minimize false positives.
- Interactive Visualization: Explore your data with interactive plotting tools, powered by a consistent and customizable matplotlib configuration.
- Extensible & Modular: Built with Python, the suite is easily extensible to accommodate new methods and integrate with existing pipelines.
- Reproducibility & Transparency: All processing steps are logged and exportable, supporting open science and reproducibility.
Availability
The RamanLab Software Suite is freely available under an open-source license. The source code, documentation, and example datasets can be accessed via our GitHub repository and archived on Zenodo at DOI:10.5281/zenodo.15670748.
Acknowledgments
We thank all contributors, testers, and the broader Raman spectroscopy community for their valuable feedback and support during development.
Citation
If you use RamanLab in your research, please cite this release as:
Aaron J. Celestian, RamanLab Software Suite (Version 1.0.0) [Software]. Zenodo. DOI: 10.5281/zenodo.15670748
For further information, feature requests, or to contribute, please visit our GitHub page or contact Aaron Celestian.
Full Changelog: https://github.com/aaroncelestian/RamanLab/commits/Raman