A Python application built with PyQt5 for classifying segmented images of plankton from the Planktoscope, focusing on time lapse experiments. This tool helps researchers or enthusiasts quickly organize and label images by timepoints.
The Plankton Image Class Maker provides an intuitive GUI that lets you:
- Select a main directory containing images, where each subdirectory represents a different timepoint.
- View segmented images and classify them into different categories using a simple interface.
- Easily manage and reorganize your image datasets.
This tool is especially useful for projects where images are collected over time and an efficient workflow is needed to sort and analyze the data before making object classifiers.
- Graphical User Interface: Built with PyQt5.
- Directory Navigation: Automatically detects subdirectories (each representing a timepoint).
- Image Classification: Allows you to assign classes to segmented plankton images.
- File Management: Uses Python’s standard libraries to move or copy files.
- Python 3.6+
- PyQt5 (for the GUI)
-
Clone the repository:
git clone https://github.com/yourusername/PlanktonImageClassMaker.git cd PlanktonImageClassMaker
-
Install Dependencies:
pip install PyQt5
-
Prepare Your Images:
Ensure your main directory has subdirectories corresponding to different timepoints from your Planktoscope (e.g.,timepoint1,timepoint2, etc.). -
Run the Application:
python ClassMaker.py
-
Select the Main Directory:
The GUI will prompt you to choose the folder that contains your directory containing the timepoint subdirectories. -
Classify Your Images:
Browse the images, and use the on-screen controls to classify each image. -
Save or Move Files:
The application can handle file operations as you classify images, keeping your dataset organized.
-
ClassMaker.py:
- Initializes the PyQt5 application.
- Manages directory selection and loading images from subdirectories.
- Provides user interaction for classification.
- Handles file operations (moving/copying files).
-
Dependencies:
- Standard libraries: os, sys, shutil
- PyQt5 modules:
- QtWidgets (GUI components)
- QtGui (image handling and styling)
- QtCore (core functionalities)
Contributions are welcome! To contribute:
- Fork this repository.
- Create a new branch (e.g.,
feature/my-feature). - Commit your changes with descriptive messages.
- Push your branch and open a pull request.
This project is open source and available under an open license. See the LICENSE file for more information.
- Powered by PyQt5.
- Thanks to the Planktoscope community and all contributors who help improve this project.