Design & Architecture
SlideRelabeler features a modern and powerful frontend built with React, Redux, and Redux-Saga. The backend server invokes Python code to interact with WSI files, providing a seamless de-identification workflow.
The project incorporates modified code from the DSA-WSI-DeID and is modeled on svs-deidentifier.
Getting Started
- Clone the repository:
git clone https://github.com/BrainDigitalSlideArchive/SlideRelabeler.git - Navigate to directory:
cd SlideRelabeler - Create conda environment:
conda env create -f environment.yml - Activate environment:
conda activate sliderelabeler - Install dependencies:
npm install - Launch development app:
npm start
large-image[common] installation due to rawpy not being found, you may need to install cmake and clone the rawpy repository directly. See the GitHub issue for detailed solutions.
Build Options
Development Mode
Opens the app using your local Python installation
PyInstaller Build & Test
Packages Python code with PyInstaller and launches the app
Use Pre-built PyInstaller
Uses existing PyInstaller executable without rebuilding
Production Build
Creates a standalone Electron application in the out/ directory
Resources & References
- Electron Documentation - Main framework documentation
- Electron Forge - Build and development tools
- Python + Electron Guide - Useful Stack Overflow discussion
- Python inside Electron - Simon Willison's blog post
Initial templating was created with: npm init electron-app@latest . -- --template=vite