TissueMAPS is a software framework for distributed analysis and interactive visualization of large-scale, high-dimensional microscopy image datasets.
Online documentation is available at docs.tissuemaps.org.
TissueMAPS uses a distributed client-server model. The server exposes RESTful web services and clients interact with the server via the REST API using either the browser-based user interface or other client interfaces.
The easiest way to set up your own server for development and testing is to use either the pre-build container images available on Docker Hub or the pre-build virtual machines images for Amazon Web Services (AWS):
To run the containerized TissueMAPS server, clone the repository and bring up the containers using Docker Compose:
git clone https://github.com/tissuemaps/tissuemaps ~/tissuemaps cd ~/tissuemaps docker-compose up -d
To run a TissueMAPS server in a cloud virtual machine, launch a new instance from one of the shared Amazon Machine Images (AMIs) using the Elastic Compute Cloud (EC2) console. To find the TissueMAPS images, filter public AMIs in the Frankfurt
region for AMI Name: TissueMAPS server
(see AWS documentation).
For further details and alternative installation options, please refer to the installation guide of the online documentation.
Once you have access to a running server instance, you can interact with it via HTTP protocol.
The easiest way is to interact with the server is via the web-based user interface. To this end, point your web browser to http://localhost:8002
when running the server within a container. Otherwise, just point the browser to the public IP address of your cloud virtual machine. This will redirect you to the login page. Once you have authenticated yourself using your credentials, you will see a list of your existing experiments.
Alternatively, you could use cURL to access resources via the command line:
Authenticate with your credentials:
curl --data '{"username": "devuser", "password": "123456"}' --header "Content-Type:application/json" http://localhost:8002/auth
List your existing experiments using the received JSON web token (replace XXX
with the actual access token):
curl --header "Content-Type:application/json" --header "Authorization:JWT XXX" http://localhost:8002/api/experiments
TissueMAPS also provides a Python client that abstracts the HTTP interface and facilitas interaction with the server. You can install it via the pip Python package manager:
pip install tmclient
List your existing experiments using the tm_client
command line tool:
tm_client -H localhost -P 8002 -u devuser -p 123456 experiment ls
Or using the tmclient
Python package:
from tmclient import TmClient
client = TmClient(host='localhost', port=8002, username='devuser', password='123456')
experiments = client.get_experiments()
print(experiments)
Client code is licensed under Apache 2.0 and server code under GNU Affero General Public License 3.0.
For more information please refer to the license section of the online documentation or the LICENSE.txt
files in the individual Github repositories.