WebMapManager is a web based application built to provide the same functionality of PyMapManager. It provides a plugin based architecture for visualizing and analyzing time-series annotations and 3D image volumes, making it highly customizable and extensible. Designed for ease of use, WebMapManager is built with a modern interface that simplifies the distribution and adoption of the MapManager.
Explore the live demo at https://mapmanager.net/WebMapManager/.
The WebMapManager project is organized into multiple packages to ensure modularity and extensibility:
- Purpose: The base application.
- Features:
- Plugin system for extensibility.
- Tab and shared state management systems.
- Purpose: Interlanguage interfaces and core functionality.
- Features:
- Communication with the shared
MapManagerCore
Python package. - File loading and saving adaptors.
- Communication with the shared
- Purpose: Image viewer plugin.
- Features:
- Renders image slices.
- Visualizes annotations.
- Interactive editable annotations.
- Purpose: Scatter plot plugin.
- Features:
- Create 2D & 3D scatter plots.
- Custom analysis axes and markers.
- Purpose: Table plugin.
- Features:
- Displays raw data and derived analysis in a table.
- Purpose: Example plugin.
- Features:
- Serves as a starting point for creating new controls, tools, or visualizations for WebMapManager.
Follow these steps to set up the project for development:
- Initialize Git Submodules:
git submodule init git submodule update
- Install Node.js:
- Download and install Node.js from nodejs.org.
- Install Yarn:
- Install Yarn using npm:
npm install -g yarn
- Install Yarn using npm:
- Install Dependencies:
- Install dependencies for the project:
yarn install
- Install dependencies for the project:
- Install Python Dependencies:
- Install Python 3.11+.
- Install the required Python packages:
pip install -r requirements.txt
- Run the server:
yarn dev
- Open http://localhost:3001 in the browser (tested on Google Chrome).
To build the static application for deployment:
- Build the static application:
yarn build
-
Upload the
/build/
directory to your static file server under/WebMapManager/
. -
Optional: To serve the application from a different directory:
- Update the
base
property invite.config.ts
:export default defineConfig({ base: "/your-directory/", ... });
- Update the