Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
d46b053
Update dependencies and adjust Dockerfile for newer packages
greg-ogs Mar 5, 2025
ff9fbc4
Update codeql.yml
greg-ogs Mar 6, 2025
d049351
Refactor superpixel methods, add new timing metrics, and standardize …
greg-ogs Jul 10, 2025
9c188c8
Update `main.py` image path and reorganize image directories
greg-ogs Jul 10, 2025
3b7bc9e
Add new image assets to the project.
greg-ogs Jul 15, 2025
e6df75a
Refactor `strip_plot` method: adjust plot aesthetics and label sizes,…
greg-ogs Jul 15, 2025
88bf5c8
Automate image processing pipeline in `main.py`, implement batch proc…
greg-ogs Jul 16, 2025
1df49c9
Add script for converting grayscale images to 3D visualizations
greg-ogs Jul 18, 2025
d140e0d
Batch process images for 3D conversion, update visualization method, …
greg-ogs Jul 26, 2025
7782151
Refactor `image_as_3d.py` to use `ImageAs3D` class, improving code or…
greg-ogs Jul 27, 2025
0cb40c1
Refactor `main.py` to improve the image processing workflow.
greg-ogs Jul 27, 2025
7af2091
Save results by directory in a CSV,
greg-ogs Jul 27, 2025
6f3d260
Remove `image_algorithm_performance_tester.py`, refactor `main.py` to…
greg-ogs Jul 27, 2025
1e0833b
Handle cross-platform file naming in CSV generation and comment out u…
greg-ogs Jul 28, 2025
44fc899
Add 3D visualization for superpixel methods (SLIC, Quickshift, Felzen…
greg-ogs Jul 28, 2025
7f85376
Refactor `Superpixels` class implementation: rename class and variabl…
greg-ogs Jul 28, 2025
ac42b2f
Remove commented-out unused dataset import in `main.py` for cleaner c…
greg-ogs Jul 28, 2025
960fab9
Reorder processing sequence in `main.py`.
greg-ogs Jul 29, 2025
9357422
Refactor `main.py` and `centroid_calculator.py` to improve code clari…
greg-ogs Jul 29, 2025
07fab7f
Merge remote-tracking branch 'origin/main' into testing-general
greg-ogs Jul 29, 2025
eb2e4e4
Update README with refined setup instructions.
greg-ogs Jul 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 23 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,47 @@ This project provides a set of techniques for detecting the centroid of a laser
- **Superpixel Segmentation**
Demonstrates how to apply several segmentation algorithms to help isolate the laser beam region in images.
- **Multiple Centroid Detection Methods**
Includes implementations using OpenCV and Scikit-Image, allowing for easy comparison of computation time and detection accuracy.
Includes implementations using OpenCV morphological operations and Scikit-Image CCL, allowing for easy comparison of computation time and detection accuracy.
- **Performance Evaluation**
Measures the execution time of each approach for benchmarking purposes.

## Installation
1. **Clone the repository**
1. **Clone the repository**
``` bash
git clone https://github.com/YourUsername/your-repo.git
git clone https://github.com/greg-ogs/Centroid-for-spot-laser.git
```
1. **Navigate to the project directory**
2. **Navigate to the project directory**
``` bash
cd your-repo
cd Centroid-for-spot-laser
```
1. **Install dependencies**
Make sure you have Python 3.7+ installed, then run:
3. **Install dependencies**
Make sure you have Python 3.7+ environment, then run:
``` bash
pip install --no-cache-dir -r requirements.txt
```
## Usage
1. **Prepare your input image**
Ensure you have an image containing a laser spot to analyze.
2. **Run the script**
``` bash
python main.py
```
This will apply the different segmentation algorithms and centroid methods, then print out the computation times for each approach.
1. **Modify parameters**
Feel free to customize paths, algorithm parameters, or other settings within the code to suit your needs.
>Alternatively, you can build a dev container using the Dockerfile.

## Docker Instructions
### Docker Instructions
1. **Build the Docker image**
``` bash
docker build -t laser-beam-centroid .
```
1. **Run the Docker container**
2. **Run the Docker container**
``` bash
docker run -it --rm laser-beam-centroid
```
This will create a reproducible environment with all required dependencies installed.
## Usage
1. **Prepare your input image**
Ensure you have all the directories / classes in the image directory
2. **Run the script**
``` bash
python main.py
```
This will apply the different segmentation algorithms and centroid methods, then print out the computation times for each approach.

3. **Modify parameters**
Feel free to customize paths, algorithm parameters, or other settings within the code to suit your needs.



Loading