Andromeda allows users to visualize high dimensional data in a 2-dimensional plot using weighted multidimensional scaling. Through the interactive interface users can explore the relationships within their data by adjusting the variable weights and viewing an updated plot. Alternatively users can arrange the items in the plot so that Andromeda can determine new variable weights and create a new projection.
This package also includes a page to fetch data from iNaturalist observations and pair them with satellite RGB and landcover data for analysis with Andromeda.
An Andromeda instance allowing users to perform dimensional reduction on an uploaded CSV file can be found on the Imageomics Hugging Face.
Sample data visualization with Andromeda.
Deployment requires Docker.
Development requires python3 and nodejs.
Our primary deployment environment is Hugging Face Spaces. To deploy a new version change the version in the tag in the Andromeda Space Dockerfile. Hugging Face handles SSL encryption automatically. Deploying in another environment may require additional configuration; previous configurations are discussed in Prior Configurations.
To run the website locally without using Docker requires two terminal sessions.
Python Flask Backend API Server: navigate to the andromeda
folder and run
export ANDROMEDA_DEV_MODE=Y
flask --app main run --debug
For more information, see the Andromeda Backend README.
Frontend nodejs/react development server: navigate to the andromeda-ui
folder and run
npm run dev
For requirements and test information, see the Andromeda UI README.
For instructions on building and running the Docker container see Developing with Docker.
The python backend consists of a Flask REST API server. See the Andromeda Python README for instructions on running locally.
The frontend is a typescript react single page application. The project was generated using nextjs as suggested in the react documentation. See the Andromeda React README for instructions on running locally.
An older version of Andromeda written as a jupyter notebook is at Andromeda_IMG.ipynb.