A comprehensive GUI application for analyzing the relationship between cell-membrane curvature and PIEZO1 protein locations from fluorescence microscope recordings.
- Interactive Visualization: View original images, binary masks, and analysis overlays side-by-side
- Curvature Analysis: Calculate three types of curvature (sign, magnitude, and normalized)
- Intensity Correlation: Analyze the relationship between curvature and fluorescence intensity
- Temporal Analysis: Track changes across frames and correlate with previous frames
- Edge Movement Detection: Classify cell edge regions as extending, retracting, or stable
- Multi-tab Interface: Dedicated views for different analysis aspects
- Data Export: Comprehensive export options for images, data, and reports
- Python 3.7 or higher
- NumPy, Matplotlib, SciPy
- scikit-image
- pandas
- PyQt5
- tifffile
# Clone the repository
git clone https://github.com/your-username/cell-curvature-analyzer.git
cd cell-curvature-analyzer
# Create and activate a virtual environment (optional but recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install the package
pip install -e .pip install cell-curvature-analyzer# If installed from source with -e flag
cell-curvature-analyzer
# Or run directly from the source directory
python cell_curvature_analyzer.py- Click Open Images to load a microscope image stack (TIFF format)
- Click Open Masks to load corresponding binary masks (TIFF format)
- Set analysis parameters in the right panel
- Click Run Analysis to process all frames
- Visualization Tab: View images and overlay analysis results
- Analysis Results Tab: View frame-specific measurements and correlation plots
- Correlation Analysis Tab: Explore relationships between curvature and intensity
- Temporal Analysis Tab: Analyze changes over time
- Edge Movement Tab: Study cell edge dynamics
- Export Results Tab: Export data and visualizations
- Settings Tab: Configure analysis and visualization parameters
- Log Tab: View logging information and debug messages
- Use the frame navigation controls to move between frames
- Toggle different overlay components in the visualization tab
- View curvature and intensity profiles in the analysis tab
- Explore correlations by movement type in the correlation tab
- Compare current frame with previous/random frames in the temporal tab
- Go to the Export Results tab
- Select the types of data to export (images, raw data, statistics, figures, report)
- Choose an export directory
- Click Export Data
The application calculates three types of curvature at equidistant points along the cell edge:
- Sign Curvature (-1 or 1): Indicates whether the curvature is inward (negative) or outward (positive)
- Magnitude Curvature (≥0): The absolute strength of the curvature
- Normalized Curvature (-1 to 1): Combines direction and magnitude
For each point along the cell edge:
- An inward normal vector is calculated
- A rectangular sampling region extends into the cell
- The mean fluorescence intensity within this region is measured
The application classifies cell edge movement into three categories:
- Extending: Cell growth/protrusion (blue in visualizations)
- Retracting: Cell shrinkage/retraction (red in visualizations)
- Stable: Minimal net movement (gray in visualizations)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- This tool builds upon the curvature analysis approach described in [reference to relevant papers]
- Thanks to all contributors and the scientific community for feedback and suggestions
Built with AI assistance from Claude (Anthropic).
