Online Configuration Library - jeanollion/bacmman GitHub Wiki

BACMMAN offers the possibility to manage configurations on an online library stored on github.com as gists, that can be either public or private. Public configuration can be accessed without password, only using the username of the github account where configuration are stored.

This feature is very useful to manage several configurations, share them. It also allows to copy part of a configuration (such as pre-processing, or the processing pipeline of an object class) into an existing configuration. It is also possible to create a dataset directly from a configuration located in a library (Create Dataset from the Library).

Access the library

Open the library from the menu command Import/Export>Online Configuration Library.

The configuration library will be displayed in a new window.

In the upper panel named Github Credentials, the username of the Github account where configurations are stored can be set (eventually a password to to edit configuration access the private one, see section Login to the library)

Browse remote configurations

In the Remote Configuration File panels, all available configuration stored on the library are displayed. Thumbnails are displayed on hover. When several thumbnails are present (e.g. associated to each object class) they are displayed as an animation.

When selecting a configuration, it is displayed in the Remote Configuration panel:

Compare configurations

When a dataset is open, it's configuration is displayed in the Local Configuration panel and compared to the selected remote configuration: differences are displayed in blue.

Edit a local configuration

It is possible either:

  • To copy the remote configuration to the current configuration by clicking Copy to Local
  • To drag and drop elements from the remote configuration to the local configuration.

Save a local configuration to the remote library

You need to be logged in in to be able to edit configurations in the library. See section Login to the library

  • The Save to Remote button will save the currently displayed configuration to a new configuration file
  • The Update Remote button will overwrite the currently displayed configuration to the selected remote configuration file Changes made in the 'remote configuration' panel cannot be saved to the remote library.

Manage configurations blocks

It is also possible to compare only a part of a configuration. In the Step panel one can choose:

  • Whole Configuration: allows to edit all the elements of the configuration. The whole experiment will be displayed in the Local Configuration and Remote Configuration panels.
  • Pre-processing: allows to edit pre-processing for each position and/or template. When selecting either the template or a position, and its pre-processing pipeline will be displayed in the Local Configuration panel. Remote pre-processing pipelines will be displayed in the Remote Configuration panel. Pre-processing pipelines are visible either in Configuration or Configuration Test tabs.
  • Processing: allows to edit processing pipeline of a given object class. When selecting an object class, its processing pipeline will be displayed in the Local Configuration panel. Remote processing pipelines will be displayed in the Remote Configuration panel. Note that in this mode, the Remote Configuration panel will display both remote configuration that contain only one processing pipeline, and also each processing pipeline of remote configuration that contain full configuration, in this case the name will be: <configuration name> [<object class name>] . Processing pipelines are visible either in Configuration or Configuration Test tabs.
  • Measurement: edit the measurement list. Measurement list is available in the Configuration tab.

Since version 3.8.2, a block imported from the library keeps track of it's ID in the library. This allows to easily update it when the remote version changes. Update is performed either:

  • manually: right-click menu on the block in the configuration tree and select update from configuration library.
  • or when downloading a whole configuration from the library that has blocks that have their own independent entries in the library. Those blocks are updated if the variable auto update is true (available on right-click on the block in the configuration tree).

Create Dataset from the Library

Choose the menu command Dataset>New Dataset from Online Library

Set the username of the github account where configuration are stored, eventually a password to access private configuration (see section Login to the library), select a configuration and click on OK.

A new dataset will be created with the selected configuration.

Login to the library

Login to an account is necessary to access private configurations and to store/edit configurations on the server. To do so, an access token (a long password) is required. As it is impossible to remember, BACMMAN will encrypt and store the token on the machine, and associate it with a user-defined password that is much easier to remember. This password is required to decrypt the token and will never be stored on the machine. It will be remembered until BACMMAN is closed.

  • Open the library from the menu command Import/Export>Online Configuration Library.
  • Click on the Generate Token button. The following window will be displayed:

  • If you already have a token, simply enter the username of the Github account, paste the token and enter a password of your choice, and click on Store Token
  • If you do not have a password, you will need to generate one. To do so, follow the instructions (points 1 to 6). Note that you will need to login in to the Github account, and paste the code that is generated from BACMMAN at points 2 (not the one displayed in this page)

Note: This page describes the online library of BACMMAN version>3.3.0 that has been refactored. For earlier versions see this page