Giter Site home page Giter Site logo

bdp-tiled's Introduction

tiled

APS local tiled data server template: databroker catalog

Overview

Run the tiled data server locally on workstation SERVER. Since this server provides open access, it is only accessible within the APS firewall.

Startup

To start this tiled server (after configuring as described in the [Install](#install} section), navigate to this directory and run the server within a screen session:

in-screen.sh
Tutorial: screen

See also: https://www.hostinger.com/tutorials/how-to-install-and-use-linux-screen/

Then, use any web browser (within the APS firewall) to visit URL: http://SERVER:8000.

The web interface is a simple (simplistic yet informative) User Interface demonstrating many features of the tiled server and also providing access to online documentation. Visit the documentation to learn how to build your own interface to tiled.

Features

  • serve data from Bluesky databroker catalogs
  • (optional) serve data from user experiment file directory

Additional file content served

  • Identify NeXus/HDF5 files with arbitrary names.
  • Identify SPEC data files with arbitrary names and read them.
  • Read .jpg (and other image format) files.
  • Read the synApps MDA format (Python support)
  • Write a custom data file identifier.
  • Write a custom data file loader.
  • Authentication
  • Learn how to ignore files such as .xml (without startup comments).

Links

Install

  1. Setup and activate a custom micromamba (conda) environment as directed in environment.yml.

    Note: This step defines a CONDA_PREFIX environment variable in the bash shell. Used below.

  2. tiled's configuration file: config.yml:

    1. Copy the template file config.yml.template to config.yml
    2. path is the name that will be seen by the tiled clients.
    3. tree should not be changed
    4. for databroker catalogs, uri is the address of the mongodb catalog for this path
    5. for file directories, directory is the path to the directory. Either absolute or relative to the directory of this README.md file.
    6. Uncomment and edit the second catalog (tree: databroker ...), copy and edit if more catalogs are to be served.
    7. Uncomment and edit the file directory (tree: files) if you wish tomake a file directory available.
  3. Edit bash starter shell script file start-tiled.sh

    1. Override definition of MY_DIR at your choice.
    2. (optional) Activate the micromamba/conda environment (if not done in step 1 above). You may need to change the definition of CONDA_ENV which is the name of the conda environment to use.
    3. (optional) Change the HOST and PORT if needed.
    4. (optional) Remove the --public option if you want to require an authentication token (shown on the console at startup of tiled).
  4. Edit web interface to display additional columns:

    1. In the $CONDA_PREFIX directory, edit file share/tiled/ui/config/bluesky.yml so it has the content indicated by the bluesky.yml below.

    2. Edit file share/tiled/ui/configuration_manifest.yml and add a line at the bottom to include the bluesky.yml file:

        - config/bluesky.yml

Files

bluesky.yml

specs:
  - spec: CatalogOfBlueskyRuns
    columns:
      - header: Bluesky Plan
        select_metadata: start.plan_name
        field: plan_name
      - header: Scan ID
        select_metadata: start.scan_id
        field: scan_id
      - header: Time
        select_metadata: start.time
        field: start_time
    default_columns:
      - plan_name
      - scan_id
      - start_time

bdp-tiled's People

Contributors

prjemian avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

bdp-tiled's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.