Skip to content

dvischi/TissueMAPS

 
 

Repository files navigation

TissueMAPS

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.

Quickstart

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.

Server

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.

Client

Once you have access to a running server instance, you can interact with it via HTTP protocol.

Browser

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.

cURL

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

TmClient

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)

License

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.

About

Main TissueMAPS repository that bundles different repositories.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 61.7%
  • JavaScript 24.6%
  • Python 7.8%
  • MATLAB 3.5%
  • HTML 1.0%
  • CSS 0.7%
  • Other 0.7%