From d895d9ea51b0f8c26186ec902c4b998c45a33d6b Mon Sep 17 00:00:00 2001 From: Petr Walczysko Date: Thu, 1 Jul 2021 18:00:22 +0100 Subject: [PATCH 01/36] Add train-the-trainer rst --- index.rst | 5 +++ training.rst | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 training.rst diff --git a/index.rst b/index.rst index 77aafdc2..e019ce05 100644 --- a/index.rst +++ b/index.rst @@ -30,6 +30,10 @@ and how to use those extensions points e.g. OMERO.iviewer, OMERO.figure, OMERO.p :doc:`external_tools` introduces how to analyze data using third party tools e.g. Fiji, CellProfiler, ilastik. +Prepare a training +------------------ + +:doc:`training` presents a step-by-step example of a setup needed to get a training server similar to the one used by the OME Team. All the guides are hosted on GitHub. If you wish to create a new guide, check the instructions on :doc:`write_guide`. @@ -97,4 +101,5 @@ Powered by write_guide example example_facility_manager + training diff --git a/training.rst b/training.rst new file mode 100644 index 00000000..627bbb7c --- /dev/null +++ b/training.rst @@ -0,0 +1,112 @@ +Prepare a training on OMERO +=========================== + +This chapter describes a setup of a training OMERO.server at +your institution. Further, it gives overview of the other training +resources as well as hints for trainers about how to present OMERO in a training session. + +Resources +--------- + +- Community contributions and setups: `Github issue `_. + +- `Useful scripts `_ for setting up the training server. + + +Setup of scripts and OMERO.cli environment +------------------------------------------ + +- Clone the `training-scripts `_ repository:: + + $ git clone https://github.com/ome/training-scripts.git + +- Set up a OMERO.cli as specified under `CLI installation `_. Typically, this environment will be used on your local machine. Alternatively, you can use the OMERO.cli environment of the server you installed below (possibly, but not necessarily, on a different machine). + +Spin up a training server +------------------------- + +Get an empty box or virtual machine with CentOS 7. + +We recommend to use the Ansible management software and use the provided Ansible playbook to install the OMERO.server for training, as this gives you the exact blueprint of the server setup used in trainings by the OME Team. + +You can use the exact `training ansible playbook `_ used by the OME Team for their training server. Alternatively, you might start with a `simpler playbook `_. Both of those playbooks will install the OMERO.web Apps for you. + +You also have the option to follow the server installation steps in the `sysadmin documentation `_. In this case, you will have to install `Apps for OMERO.web `_ in separate, post installation steps. We recommend to install all apps listed on the webpage except OMERO.gallery and OMERO.mapr. + +In case any other installation method was used than `training ansible playbook `_, you have to also set up the server configuration according to the `configuration block in the playbook `_. + +Set up groups and users +----------------------- + +Prepare groups and users as listed in the `provided template sheet `_. Assuming you have the `template sheet `_ in the same directory as the script `create_groups_users.sh `_, you can run:: + + $ SUDOER=trainer bash create_groups_users.sh + +which will create 50 users in your database. +The users are members of four main OMERO.groups, which cover +the group permissions allowed in OMERO. The ``Read-annotate`` group ``Lab 1`` is the main group used in the trainings, +which contains most of the data. + +Rename users to have first and last names of real people (the list of famous scientist names is used) running `the renaming script `_. + +Import images +------------- + +`Import data in-place `_ for all users using `import bash script `_ and the `publicly available data provided `_ or use your own data or `data downloaded from IDR `_. Shell into the machine where you have installed your OMERO.server (necessary for in-place import) and, assuming that you have for example your data in a folder `my-folder` which is visible from that machine:: + + $ IMPORTTYPE=normal NUMBER=15 FOLDER=/path/to/my-folder bash in_place_import_as.sh + +will in-place import the images from `my-folder` into a new Dataset named `my-folder` for user-1 through user-15. + +To achieve a better reproducibility of your imports, you can use a `bulk file `_ pointing to a list of paths of the image files. Assuming you have for example the bulk file `idr0021-experimentA-bulk.yml `_ located on the filesystem you are working on, together with the corresponding `idr0021-experimentA-filePaths.tsv `_ file and the images as specified in the `idr0021-experimentA-filePaths.tsv `_ which you have edited accordingly, you can import:: + + $ OMEUSER=trainer NUMBER=2 BULKFILE=/path/to/idr0021-experimentA-bulk.yml bash in_place_import_as.sh + +to import the images for trainer-1 and trainer-2. + +The `script `_ assumes by default `in-place imports `_. You can adjust it for "classsical", non-in-place import by deleting the ``--transfer=ln_s`` from the script lines or, if using the `bulk file `_ workflow, comment out the ``transfer`` line from the bulk file. + +Image data can also be populated by a `python script `_ which copies images as pixeldata (i.e. not the original images) from `IDR `_ but can be adjusted to point to other OMERO.servers. Note that the script is only creating images of single T and Z, and thus reducing the original images dimensions:: + + $ python idr_copy_plate.py trainer-1 --server $YOUR_SERVER_ADDRESS $PASSWORD $PLATE_ID + +which will copy the Plate from IDR as trainer-1 into your server. + + +Import metadata +--------------- + +Import metadata from a CSV via `OMERO.web `_ or `Command Line Interface `_. + +Annotate images using training-scripts: + +- `Copy Key-Value pairs `_ from IDR or other OMERO server. The command below will copy MapAnnotations from IDR to your server between images inside Projects with IDs 1 (in IDR) and 2 (in your server). The Project in your server is owned and the action is executed by `trainer-1`.:: + + $ python idr_get_map_annotation.py trainer-1 $PASSWORD Project:1 Project:2 --server $YOUR_SERVER_ADDRESS + +- `Add new Key-Value pairs `_. The command below will add Key-Value pairs defined inside the script randomly to the images inside Datasets with name ``big-dataset`` for all 50 users in your server. The $PASSWORD for all the users must be the same.:: + + $ python key_value_pairs.py $PASSWORD big-dataset --server $YOUR_SERVER_ADDRESS + +- `Calibrate images `_. The command below will calibrate all the images within Dataset named ``western-blots`` to `0.33 micrometers per pixel `_ for all 50 users in your server. The $PASSWORD for all the users must be the same.:: + + $ python calibrate_images.py $PASSWORD western-blots --server $YOUR_SERVER_ADDRESS + +- `Add timestamps `_. The command below will set timestamps on the timelapse images within Dataset named `timestamps` with `delta T of 300 seconds `_ for all 50 users in your server. The $PASSWORD for all the users must be the same.:: + + $ python set_timestamps.py $PASSWORD timestamp --server $YOUR_SERVER_ADDRESS + +- `Propagate tags and ratings to all users `_. Supposing that the ``trainer-1`` has a Dataset ``to-tag`` with Tags and Ratings on the images in the Dataset. Further, each user, such as ``user-1``, ``user-2`` has the same-named Dataset with equivalent images in it, but with no Tags and Ratings (a typical situation after a fresh import of images). The command below will link the Tags of ``trainer-1`` which are linked to the images in the ``to-tag`` Dataset to the corresponding images in the ``to-tag`` Datasets of the users. The links between the Tags and the Images will belong to each user. Also, the Ratings which are on the Images of the ``to-tag`` Dataset of ``trainer-1`` will be re-created for the corresponding Images of the users and will belong to those users.:: + + $ python copy_tags_ratings.py to-tag $PASSWORD --server $YOUR_SERVER_ADDRESS + + +Add analytical metadata +----------------------- + +Create an analysis results table using a script run from a 3rd party tool. +For example, you can run the `segmentation script `_ in the `scripting editor of Fiji `_ on a Project in OMERO +containing Datasets with Images which creates an OMERO.table and a CSV file +with results and attaches these to that Project in OMERO. + +These analytical results can be used to `showcase OMERO.parade `_. From b6769d899389ea6e53f8fa89671a0dc842e998c9 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 9 Dec 2022 13:56:25 +0000 Subject: [PATCH 02/36] Update training.rst Co-authored-by: jean-marie burel --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index 627bbb7c..9e2a6f3a 100644 --- a/training.rst +++ b/training.rst @@ -3,7 +3,7 @@ Prepare a training on OMERO This chapter describes a setup of a training OMERO.server at your institution. Further, it gives overview of the other training -resources as well as hints for trainers about how to present OMERO in a training session. +resources as well as hints for trainers about how to present OMERO during a training session. Resources --------- From 5268a7c2e97cc8192f303008934f31b4f81f7ae6 Mon Sep 17 00:00:00 2001 From: Petr Walczysko Date: Fri, 5 Aug 2022 14:51:59 +0100 Subject: [PATCH 03/36] Add installation workflow --- index.rst | 4 +- install.rst | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 install.rst diff --git a/index.rst b/index.rst index e019ce05..f5d84fb9 100644 --- a/index.rst +++ b/index.rst @@ -30,6 +30,8 @@ and how to use those extensions points e.g. OMERO.iviewer, OMERO.figure, OMERO.p :doc:`external_tools` introduces how to analyze data using third party tools e.g. Fiji, CellProfiler, ilastik. +:doc:`install` introduces how to install OMERO. + Prepare a training ------------------ @@ -101,5 +103,5 @@ Powered by write_guide example example_facility_manager + install training - diff --git a/install.rst b/install.rst new file mode 100644 index 00000000..2f8791e0 --- /dev/null +++ b/install.rst @@ -0,0 +1,114 @@ +Install an OMERO server +======================= + +This chapter describes an installation of an OMERO.server and the most important post-installation steps, such as additional apps installation and LDAP configuration. The installation of the server on local machine is not recommended, except for testing or development purposes. The workflow is aimed at system administrators intending to familiarize themselves with OMERO installation. + +Description +----------- + +We will show here: + + +- Where to find the OMERO.server requirements. + +- How to install OMERO.server quickly using a simple Ansible playbook example. + +- How to install OMERO.server very quickly using a provided Docker image. + +- How to configure OMERO.server to work with LDAP, both using Ansible or using manual configuration. + +- How to install applications for OMERO.web, such as OMERO.figure. + +Resources +--------- + +- Webpage `Start with OMERO at your Institution `_ +- `Ansible `_ +- `Ansible documentation `_ +- `Example `_ and `production `_ ansible playbooks. +- `OMERO installation workshop presentation `_ +- `Manual installation documentation `_. +- `System requirements `_ +- `List of Apps for OMERO.web and Command line plugins `_ + +Install a server +---------------- + +Get an empty box or virtual machine with CentOS 7. + +Ansible +------- + +For OMERO installation, we recommend to use the Ansible software suite which enables infrastructure as a code. + +Install ansible (at the time of writing, the ansible-core version was 2.11.12, python version was 3.6.8). Other versions might work too, but are not routinely tested.:: + + $ pip install ansible + +Clone the repository for the one-node example:: + + $ git clone https://github.com/ome/ansible-example-omero-onenode.git + $ cd ansible-example-omero-onenode + +Install requrements:: + + $ ansible-galaxy install -r requirements.yml + +Edit the file ``hosts.yml`` in the same directory and replace the YOUR-HOST-NAME variable with a name of your CentOS 7 box you prepared in the step above to install OMERO on, e.g. ``foo.example.com`` or ``localhost``):: + + all: + hosts: + YOUR-HOST-NAME + +Edit the ``playbook.yml`` file to change the OMERO root password (by default ``ChangeMe``). Then use this playbook to install PostgreSQL, OMERO.server and OMERO.web on one node:: + + $ ansible-playbook --become -i hosts.yml playbook.yml + +Start OMERO.insight or a Command Line Interface (CLI) and log in to ``YOUR-HOST-NAME`` with the username ``root`` and the password you have set in the ``playbook.yml`` above. + +Go to ``https://YOUR-HOST-NAME:4080/webclient/`` in your browser and log in to OMERO.web with the same credentials you used for OMERO.insight above. In case you are on the same machine where you installed your OMERO, go to `http://localhost:4080/webclient/ `_ to access your OMERO.web locally. + +Docker +------ + +Even quicker option than ansible is docker, but you have to be comfortable working with containers. The docker workflow below is written for local installation of OMERO only for convenience, but bear in mind that you will have to install OMERO on a remote server when going into production. + +Assuming that Docker is installed, clone the deployment examples repository (if not already cloned):: + + $ git clone https://github.com/ome/omero-deployment-examples.git + $ cd omero-deployment-examples + $ git clone https://github.com/ome/docker-example-omero.git + $ cd docker-example-omero + +Pull the latest versions of the containers and start them:: + + $ docker-compose pull + $ docker-compose up -d + $ docker-compose logs -f + +Start OMERO.insight or a Command Line Interface (CLI) and log in to ``localhost`` as ``root`` with password ``omero``. + +Go to `http://localhost:4080/webclient/ `_ in your browser and log in to OMERO.web as ``root`` with password ``omero``. + + + +Manual installation +------------------- + +You also have the option to follow the manual server installation steps - see link in Resources section above. This way is harder then using Ansible or Docker, but you will understand the +server installation in-depth after this. + + +Configure LDAP +-------------- + +LDAP is an open standard for querying and modifying directory services that is commonly used for authentication, authorization and accounting (AAA). OMERO.server supports the use of an LDAP server to query (but not modify) AAA information for the purposes of automatic user creation. + +This allows OMERO users to be automatically created and placed in groups according to your existing institution policies. + + + +Install the apps +---------------- + +In order to give your users full OMERO experience, you might want to install apps after you successful OMERO.server and OMERO.web install above. Many user-facing features are released only as applications for OMERO.web, such as full image viewer and OMERO.figure. From a67fecca75a54a8e47ff14ec9b94194c1677f893 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 9 Dec 2022 14:16:48 +0000 Subject: [PATCH 04/36] Adjust the "empty box" sentence cf. J-M's comment --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index 9e2a6f3a..0fe3aa42 100644 --- a/training.rst +++ b/training.rst @@ -25,7 +25,7 @@ Setup of scripts and OMERO.cli environment Spin up a training server ------------------------- -Get an empty box or virtual machine with CentOS 7. +System requirements for an OMERO.server are specified in the `documentation `_. All training servers used by the OME Team run in VMs with CentOS 7. We recommend to use the Ansible management software and use the provided Ansible playbook to install the OMERO.server for training, as this gives you the exact blueprint of the server setup used in trainings by the OME Team. From 1b3df506296377c8e039e4e5cf38d442038d1181 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 9 Dec 2022 14:22:05 +0000 Subject: [PATCH 05/36] Update training.rst Co-authored-by: jean-marie burel --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index 0fe3aa42..54c70887 100644 --- a/training.rst +++ b/training.rst @@ -29,7 +29,7 @@ System requirements for an OMERO.server are specified in the `documentation `_ used by the OME Team for their training server. Alternatively, you might start with a `simpler playbook `_. Both of those playbooks will install the OMERO.web Apps for you. +You can use the exact `training ansible playbook `_ used by the OME Team for their training server. Alternatively, you might start with a `simpler playbook `_. Both of those playbooks will also install the OMERO.web Apps for you. You also have the option to follow the server installation steps in the `sysadmin documentation `_. In this case, you will have to install `Apps for OMERO.web `_ in separate, post installation steps. We recommend to install all apps listed on the webpage except OMERO.gallery and OMERO.mapr. From 3f65e2ca944c774684dc3997db023365c63fd1a2 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 9 Dec 2022 14:22:16 +0000 Subject: [PATCH 06/36] Update training.rst Co-authored-by: jean-marie burel --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index 54c70887..07ed1839 100644 --- a/training.rst +++ b/training.rst @@ -27,7 +27,7 @@ Spin up a training server System requirements for an OMERO.server are specified in the `documentation `_. All training servers used by the OME Team run in VMs with CentOS 7. -We recommend to use the Ansible management software and use the provided Ansible playbook to install the OMERO.server for training, as this gives you the exact blueprint of the server setup used in trainings by the OME Team. +We recommend to use the Ansible management software and use the provided Ansible playbook to install the OMERO.server for training, as this gives you the exact blueprint of the server setup used during trainings run by the OME Team. You can use the exact `training ansible playbook `_ used by the OME Team for their training server. Alternatively, you might start with a `simpler playbook `_. Both of those playbooks will also install the OMERO.web Apps for you. From 81736614d22a4d86a6daae7e74dd8e69fd2d8091 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 9 Dec 2022 16:50:10 +0000 Subject: [PATCH 07/36] Add cleanup scripts --- training.rst | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/training.rst b/training.rst index 07ed1839..a56c9375 100644 --- a/training.rst +++ b/training.rst @@ -66,11 +66,11 @@ to import the images for trainer-1 and trainer-2. The `script `_ assumes by default `in-place imports `_. You can adjust it for "classsical", non-in-place import by deleting the ``--transfer=ln_s`` from the script lines or, if using the `bulk file `_ workflow, comment out the ``transfer`` line from the bulk file. -Image data can also be populated by a `python script `_ which copies images as pixeldata (i.e. not the original images) from `IDR `_ but can be adjusted to point to other OMERO.servers. Note that the script is only creating images of single T and Z, and thus reducing the original images dimensions:: +Image data can also be populated by a `python script `_ which copies images as pixeldata (i.e. not the original images) from `IDR `_ by default. You can adjust the `appropriate line `_ to copy from other OMERO.servers. Note that the script is only creating `images of single T and Z `_, and thus reducing the original images dimensions in case these are multi-z or T images:: $ python idr_copy_plate.py trainer-1 --server $YOUR_SERVER_ADDRESS $PASSWORD $PLATE_ID -which will copy the Plate from IDR as trainer-1 into your server. +will copy the Plate with $PLATE_ID from IDR as trainer-1 into your server. Import metadata @@ -100,7 +100,6 @@ Annotate images using training-scripts: $ python copy_tags_ratings.py to-tag $PASSWORD --server $YOUR_SERVER_ADDRESS - Add analytical metadata ----------------------- @@ -110,3 +109,16 @@ containing Datasets with Images which creates an OMERO.table and a CSV file with results and attaches these to that Project in OMERO. These analytical results can be used to `showcase OMERO.parade `_. + +Cleanup scripts +--------------- + +It might be of great advantage to be able to clean up in batches, but still selectively, metadata added to the images on your training server. + +- `Delete ROIs `_ on all Images inside Datasets of specified name for all users on the server who have such Datasets. In the example below, the Dataset's name is ``with-rois``. The $PASSWORD is the password of the user deleting the ROIs. The deleting user is ``trainer-1`` by default.:: + + $ python delete_ROIs.py --datasetname with-rois --server $YOUR_SERVER_ADDRESS $PASSWORD + +- `Delete Annotations `_ on all Images inside Datasets of specified name for all users on the server who have such Datasets. In the example below, the Dataset's name is ``western-blots`` and the deleted annotation type is ``FileAnnotation``. All other annotation types such as ``TagAnnotation`` etc. will be preserved. The $PASSWORD is the password of the user deleting the ROIs. The deleting user is ``trainer-1`` by default.:: + + $ python delete_annotations.py --anntype file --namespace none --server $YOUR_SERVER_ADDRESS $PASSWORD western-blots \ No newline at end of file From e60d9550519f5f0c4bc1426685cb3c75528e8246 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:18:15 +0000 Subject: [PATCH 08/36] Update install.rst Co-authored-by: jean-marie burel --- install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.rst b/install.rst index 2f8791e0..43d80255 100644 --- a/install.rst +++ b/install.rst @@ -1,7 +1,7 @@ Install an OMERO server ======================= -This chapter describes an installation of an OMERO.server and the most important post-installation steps, such as additional apps installation and LDAP configuration. The installation of the server on local machine is not recommended, except for testing or development purposes. The workflow is aimed at system administrators intending to familiarize themselves with OMERO installation. +This chapter describes an installation of an OMERO.server and the most important post-installation steps, such as additional apps installation and LDAP configuration. The installation of the server on a local machine is not recommended, except for testing or development purposes. The workflow is aimed at system administrators intending to familiarize themselves with an OMERO installation. Description ----------- From 2d51a5419e935f569d396d283b6f5d5a67bf3d54 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:18:33 +0000 Subject: [PATCH 09/36] Update install.rst Co-authored-by: jean-marie burel --- install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.rst b/install.rst index 43d80255..60667d88 100644 --- a/install.rst +++ b/install.rst @@ -17,7 +17,7 @@ We will show here: - How to configure OMERO.server to work with LDAP, both using Ansible or using manual configuration. -- How to install applications for OMERO.web, such as OMERO.figure. +- How to install applications such as OMERO.figure for OMERO.web. Resources --------- From b536b8a66b3859358c5d3a6026298d71b4c811b2 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:18:43 +0000 Subject: [PATCH 10/36] Update install.rst Co-authored-by: jean-marie burel --- install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.rst b/install.rst index 60667d88..8752736d 100644 --- a/install.rst +++ b/install.rst @@ -27,7 +27,7 @@ Resources - `Ansible documentation `_ - `Example `_ and `production `_ ansible playbooks. - `OMERO installation workshop presentation `_ -- `Manual installation documentation `_. +- `Manual installation documentation `_. - `System requirements `_ - `List of Apps for OMERO.web and Command line plugins `_ From 1d4353d91c7ce5e2b6743e625da3fb3107423ee9 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:18:53 +0000 Subject: [PATCH 11/36] Update install.rst Co-authored-by: jean-marie burel --- install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.rst b/install.rst index 8752736d..8a942172 100644 --- a/install.rst +++ b/install.rst @@ -28,7 +28,7 @@ Resources - `Example `_ and `production `_ ansible playbooks. - `OMERO installation workshop presentation `_ - `Manual installation documentation `_. -- `System requirements `_ +- `System requirements `_ - `List of Apps for OMERO.web and Command line plugins `_ Install a server From b4b967230c03b58dcde1b063049c1a5ca46014e4 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:28:18 +0000 Subject: [PATCH 12/36] Update install.rst Co-authored-by: jean-marie burel --- install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.rst b/install.rst index 8a942172..aff7210b 100644 --- a/install.rst +++ b/install.rst @@ -50,7 +50,7 @@ Clone the repository for the one-node example:: $ git clone https://github.com/ome/ansible-example-omero-onenode.git $ cd ansible-example-omero-onenode -Install requrements:: +Install the requirements:: $ ansible-galaxy install -r requirements.yml From a912089e197a4ed4d8e97408d85a64c943d8af7d Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:28:37 +0000 Subject: [PATCH 13/36] Update install.rst Co-authored-by: jean-marie burel --- install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.rst b/install.rst index aff7210b..23327b01 100644 --- a/install.rst +++ b/install.rst @@ -54,7 +54,7 @@ Install the requirements:: $ ansible-galaxy install -r requirements.yml -Edit the file ``hosts.yml`` in the same directory and replace the YOUR-HOST-NAME variable with a name of your CentOS 7 box you prepared in the step above to install OMERO on, e.g. ``foo.example.com`` or ``localhost``):: +Edit the file ``hosts.yml`` in the same directory and replace the YOUR-HOST-NAME variable with a name of your machine you prepared in the step above to install OMERO on, e.g. ``foo.example.com`` or ``localhost``):: all: hosts: From 0dda5a2ea767475ce4cca78ca5c8cb2a2ea4f12c Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:29:01 +0000 Subject: [PATCH 14/36] Update training.rst Co-authored-by: jean-marie burel --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index a56c9375..f51f9eda 100644 --- a/training.rst +++ b/training.rst @@ -2,7 +2,7 @@ Prepare a training on OMERO =========================== This chapter describes a setup of a training OMERO.server at -your institution. Further, it gives overview of the other training +your institution. Further, it gives an overview of the other training resources as well as hints for trainers about how to present OMERO during a training session. Resources From dc8fcf94e2a99866d30fbc13a16a1b3f48fa5502 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:29:29 +0000 Subject: [PATCH 15/36] Update training.rst Co-authored-by: jean-marie burel --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index f51f9eda..58d3f601 100644 --- a/training.rst +++ b/training.rst @@ -33,7 +33,7 @@ You can use the exact `training ansible playbook `_. In this case, you will have to install `Apps for OMERO.web `_ in separate, post installation steps. We recommend to install all apps listed on the webpage except OMERO.gallery and OMERO.mapr. -In case any other installation method was used than `training ansible playbook `_, you have to also set up the server configuration according to the `configuration block in the playbook `_. +In case any other installation method was used than `training ansible playbook `_, you have to also set up the server configuration according to the `configuration block in the playbook `_. Set up groups and users ----------------------- From 6bffc6192fcd1b4f2cbdbac0ce8ca0e5a1f80b51 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:29:47 +0000 Subject: [PATCH 16/36] Update install.rst Co-authored-by: jean-marie burel --- install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.rst b/install.rst index 23327b01..2db7adbb 100644 --- a/install.rst +++ b/install.rst @@ -66,7 +66,7 @@ Edit the ``playbook.yml`` file to change the OMERO root password (by default ``C Start OMERO.insight or a Command Line Interface (CLI) and log in to ``YOUR-HOST-NAME`` with the username ``root`` and the password you have set in the ``playbook.yml`` above. -Go to ``https://YOUR-HOST-NAME:4080/webclient/`` in your browser and log in to OMERO.web with the same credentials you used for OMERO.insight above. In case you are on the same machine where you installed your OMERO, go to `http://localhost:4080/webclient/ `_ to access your OMERO.web locally. +Go to ``https://YOUR-HOST-NAME:4080/webclient/`` in your browser and log in to OMERO.web with the same credentials used above for OMERO.insight. In case you are on the same machine where you installed your OMERO, go to `http://localhost:4080/webclient/ `_ to access your OMERO.web locally. Docker ------ From 1d60c538a601e48081124b31a1ceb5fd54ffa268 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:30:11 +0000 Subject: [PATCH 17/36] Update training.rst Co-authored-by: jean-marie burel --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index 58d3f601..cd323133 100644 --- a/training.rst +++ b/training.rst @@ -66,7 +66,7 @@ to import the images for trainer-1 and trainer-2. The `script `_ assumes by default `in-place imports `_. You can adjust it for "classsical", non-in-place import by deleting the ``--transfer=ln_s`` from the script lines or, if using the `bulk file `_ workflow, comment out the ``transfer`` line from the bulk file. -Image data can also be populated by a `python script `_ which copies images as pixeldata (i.e. not the original images) from `IDR `_ by default. You can adjust the `appropriate line `_ to copy from other OMERO.servers. Note that the script is only creating `images of single T and Z `_, and thus reducing the original images dimensions in case these are multi-z or T images:: +Image data can also be populated by a `Python script `_ which copies images as pixeldata (i.e. not the original images) from `IDR `_ by default. You can adjust the `appropriate line `_ to copy from other OMERO.servers. Note that the script is only creating `images of single T and Z `_, and thus reducing the original images dimensions in case these are multi-z or T images:: $ python idr_copy_plate.py trainer-1 --server $YOUR_SERVER_ADDRESS $PASSWORD $PLATE_ID From f142defcaf66e52f0a9921521f4925e45e72bfb5 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:30:20 +0000 Subject: [PATCH 18/36] Update training.rst Co-authored-by: jean-marie burel --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index cd323133..bc3f794e 100644 --- a/training.rst +++ b/training.rst @@ -88,7 +88,7 @@ Annotate images using training-scripts: $ python key_value_pairs.py $PASSWORD big-dataset --server $YOUR_SERVER_ADDRESS -- `Calibrate images `_. The command below will calibrate all the images within Dataset named ``western-blots`` to `0.33 micrometers per pixel `_ for all 50 users in your server. The $PASSWORD for all the users must be the same.:: +- `Calibrate images `_. The command below will calibrate all the images within Dataset named ``western-blots`` to `0.33 micrometers per pixel `_ for all 50 users in your server. The $PASSWORD for all the users must be the same.:: $ python calibrate_images.py $PASSWORD western-blots --server $YOUR_SERVER_ADDRESS From 0826eb18cb6cbcc36e31d03a649e98a0932263c2 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 11:30:30 +0000 Subject: [PATCH 19/36] Update training.rst Co-authored-by: jean-marie burel --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index bc3f794e..03840341 100644 --- a/training.rst +++ b/training.rst @@ -92,7 +92,7 @@ Annotate images using training-scripts: $ python calibrate_images.py $PASSWORD western-blots --server $YOUR_SERVER_ADDRESS -- `Add timestamps `_. The command below will set timestamps on the timelapse images within Dataset named `timestamps` with `delta T of 300 seconds `_ for all 50 users in your server. The $PASSWORD for all the users must be the same.:: +- `Add timestamps `_. The command below will set timestamps on the timelapse images within Dataset named `timestamps` with `delta T of 300 seconds `_ for all 50 users in your server. The $PASSWORD for all the users must be the same.:: $ python set_timestamps.py $PASSWORD timestamp --server $YOUR_SERVER_ADDRESS From 1f7e120d4562c583678acd6d3d61f2c0f26d1dab Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 12 Dec 2022 17:01:38 +0000 Subject: [PATCH 20/36] Fix "get the box" also in install --- install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.rst b/install.rst index 2db7adbb..42949719 100644 --- a/install.rst +++ b/install.rst @@ -34,7 +34,7 @@ Resources Install a server ---------------- -Get an empty box or virtual machine with CentOS 7. +System requirements for an OMERO.server are specified in the `documentation `_. Ansible ------- From 6db5f59fd7cc0d8bf9df3ec372bfbf1ffb201c4c Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Wed, 14 Dec 2022 16:45:28 +0000 Subject: [PATCH 21/36] Add note about OS coverage cf. JM's comment --- install.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/install.rst b/install.rst index 42949719..6f648beb 100644 --- a/install.rst +++ b/install.rst @@ -35,6 +35,7 @@ Install a server ---------------- System requirements for an OMERO.server are specified in the `documentation `_. +The workflows below were tested on CentOS 7 only. Ansible ------- From b3ed154f6a030ecc8339b31e92103c05faf5b357 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 19 Dec 2022 17:00:58 +0000 Subject: [PATCH 22/36] Add Apps install instructions --- install.rst | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/install.rst b/install.rst index 6f648beb..06d6d99a 100644 --- a/install.rst +++ b/install.rst @@ -113,3 +113,21 @@ Install the apps ---------------- In order to give your users full OMERO experience, you might want to install apps after you successful OMERO.server and OMERO.web install above. Many user-facing features are released only as applications for OMERO.web, such as full image viewer and OMERO.figure. + +1. Install the apps using Ansible: If you used Ansible to install your OMERO.server, we recommend to add the apps installation lines to your Ansible playbook. First, add the `block `_ defining the ``omero_python_addons`` to your ``ome.omero_server`` role. These addons are necessary for OMERO.figure exports. Further, add the block which `defines the packages `_ to your ``ome.omero_web`` role. Furhter, `set the versions of Apps `_ to be installed - you do not have to use the ``override`` logic for that, just define your variables in a ``vars`` block at the end of your playbook such as:: + + vars: + omero_figure_release:"5.1.0" + omero_fpbioimage_release:... + ... + +`Configure `_ the OMERO.iviewer to be the default viewer when the user double-clicks onto a thumbnail in OMERO.web and `set the namespace `_ of the MapAnnotations to be considered by OMERO.mapr. Then, `enable the Open With feature `_ for your installed Apps and add the `centre pane links `_ for the user to be able to start OMERO.parade from OMERO.web. Lastly, add the `block defining the top links for OMERO.figure and OMERO.mapr `_. In another block in your playbook, in a separate `task `_ define the job of downloading the necassary script for OMERO.figure which exports the Figures as pdf. Then rerun the command:: + + $ ansible-playbook --become -i hosts.yml playbook.yml + +2. If you installed the OMERO.server manually, you can also install Apps manually according to LINK to APPS list in the website. But please note that if you used Ansible to install your server, it is not advisable to start making manual installs on top of this, as the next re-run of the Ansible playbook might invalidate the manual changes made. + +Configure your server +--------------------- + +Depending on the environment and purpose of your server, you will need to configure your OMERO.server. If you for example intend to run a training on OMERO using your OMERO.server, you can add to the `omero_server_config_set block `_ the `four parameters `_ - the ``omero.db.poolsize`` and the 3 ``omero.jvmcfg...`` parameters. \ No newline at end of file From af71ffe05267a3e3e33450cbf93181888950eb23 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Tue, 20 Dec 2022 16:29:52 +0000 Subject: [PATCH 23/36] Add apps and config --- install.rst | 46 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/install.rst b/install.rst index 06d6d99a..23bb04cb 100644 --- a/install.rst +++ b/install.rst @@ -114,14 +114,36 @@ Install the apps In order to give your users full OMERO experience, you might want to install apps after you successful OMERO.server and OMERO.web install above. Many user-facing features are released only as applications for OMERO.web, such as full image viewer and OMERO.figure. -1. Install the apps using Ansible: If you used Ansible to install your OMERO.server, we recommend to add the apps installation lines to your Ansible playbook. First, add the `block `_ defining the ``omero_python_addons`` to your ``ome.omero_server`` role. These addons are necessary for OMERO.figure exports. Further, add the block which `defines the packages `_ to your ``ome.omero_web`` role. Furhter, `set the versions of Apps `_ to be installed - you do not have to use the ``override`` logic for that, just define your variables in a ``vars`` block at the end of your playbook such as:: +1. Install the apps using Ansible: If you used Ansible to install your OMERO.server, we recommend to add the apps installation lines to your Ansible playbook. First, create an `omero_server_python_addons block `_ under your `ome.omero_server `_ role block and add the `reportlab `_ and `markdown `_ addons to it. These addons are necessary for OMERO.figure exports. Further, under your `ome.omero_web `_ role block create an `omero_web_config_set definition `_ and add the following blocks to it: + + - `omero_web_apps `_ + + - `omero.web.ui.center_plugins `_ + + - `omero.web.ui.top_links `_ + + - `omero.web.open_with `_ + + - `omero.web.iviewer_view line `_ # enables OMERO.iviewer as default viewer + + - `omero.web.mapr.config `_ + +You also have to `define the App package variables `_ in a `vars block at the end of your playbook `_. You can simplify the definition and ignore the ``override`` logic as follows:: vars: - omero_figure_release:"5.1.0" - omero_fpbioimage_release:... - ... + omero_figure_release: "5.1.0" + omero_web_apps_packages: + - "omero-figure=={{ omero_figure_release }}" + - "omero-fpbioimage" + - "omero-iviewer" + - "omero-mapr" + - "omero-parade" + - "omero-webtagging-autotag" + - "omero-webtagging-tagsearch" -`Configure `_ the OMERO.iviewer to be the default viewer when the user double-clicks onto a thumbnail in OMERO.web and `set the namespace `_ of the MapAnnotations to be considered by OMERO.mapr. Then, `enable the Open With feature `_ for your installed Apps and add the `centre pane links `_ for the user to be able to start OMERO.parade from OMERO.web. Lastly, add the `block defining the top links for OMERO.figure and OMERO.mapr `_. In another block in your playbook, in a separate `task `_ define the job of downloading the necassary script for OMERO.figure which exports the Figures as pdf. Then rerun the command:: +The release number such as ``5.1.0`` above can be taken from `Python package index (Pypi) `_ or you can copy the most recent number from `the OME training playbook `_ . Note that the ``omero_figure_release`` must be defined as shown above, because it is used by the Figure_To_Pdf.py routine described below. + +In a separate `task `_ block `define the job of downloading the necassary script for OMERO.figure `_ which exports the Figures as pdf. Then rerun the command:: $ ansible-playbook --become -i hosts.yml playbook.yml @@ -130,4 +152,16 @@ In order to give your users full OMERO experience, you might want to install app Configure your server --------------------- -Depending on the environment and purpose of your server, you will need to configure your OMERO.server. If you for example intend to run a training on OMERO using your OMERO.server, you can add to the `omero_server_config_set block `_ the `four parameters `_ - the ``omero.db.poolsize`` and the 3 ``omero.jvmcfg...`` parameters. \ No newline at end of file +Depending on the environment and purpose of your server, you will need to configure your OMERO.server. + +The parameters which might be necessary for the OMERO.server accessed by many users at the same time, e.g. in training are defined in the `omero_server_config_set block `_. Add such ``omero_server_config_set`` block to your playbook and include into it + + - `omero.db.poolsize `_ + + - `the 3 omero.jvmcfg... `_ parameters. + +Then rerun the command:: + + $ ansible-playbook --become -i hosts.yml playbook.yml + +The configuration of the OMERO.server can also be achived manually, again, do not mix Ansible and manual workflows on the same server, as the next Ansible run might invalidate your changes made manually. \ No newline at end of file From da0c3c14d9621f37e4f47a3aaf613c7a334f7d0f Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Wed, 4 Jan 2023 18:10:54 +0000 Subject: [PATCH 24/36] bits a bobs --- install.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/install.rst b/install.rst index 23bb04cb..2fcda303 100644 --- a/install.rst +++ b/install.rst @@ -27,9 +27,9 @@ Resources - `Ansible documentation `_ - `Example `_ and `production `_ ansible playbooks. - `OMERO installation workshop presentation `_ -- `Manual installation documentation `_. +- `Manual installation documentation `_ - `System requirements `_ -- `List of Apps for OMERO.web and Command line plugins `_ +- `List of Apps for OMERO.web `_ Install a server ---------------- @@ -158,7 +158,7 @@ The parameters which might be necessary for the OMERO.server accessed by many us - `omero.db.poolsize `_ - - `the 3 omero.jvmcfg... `_ parameters. + - the `omero.jvmcfg `_ parameters. Then rerun the command:: From 6e70376c479b8895d09075182fa14869ad51677f Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 6 Jan 2023 14:05:35 +0000 Subject: [PATCH 25/36] Update install.rst Co-authored-by: jean-marie burel --- install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.rst b/install.rst index 2fcda303..3d713091 100644 --- a/install.rst +++ b/install.rst @@ -72,7 +72,7 @@ Go to ``https://YOUR-HOST-NAME:4080/webclient/`` in your browser and log in to O Docker ------ -Even quicker option than ansible is docker, but you have to be comfortable working with containers. The docker workflow below is written for local installation of OMERO only for convenience, but bear in mind that you will have to install OMERO on a remote server when going into production. +This approach is quicker than the Ansible installation but you should be comfortable working with containers. The docker workflow below is written for local installation of OMERO only for convenience, but bear in mind that you will have to install OMERO on a remote server when going into production. Assuming that Docker is installed, clone the deployment examples repository (if not already cloned):: From 245d70d2a33deab8b611c9f6ecfde1cad19036b7 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 6 Jan 2023 11:03:12 +0000 Subject: [PATCH 26/36] Reword, put LDAP at the end --- install.rst | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/install.rst b/install.rst index 3d713091..3d7f4927 100644 --- a/install.rst +++ b/install.rst @@ -1,7 +1,7 @@ Install an OMERO server ======================= -This chapter describes an installation of an OMERO.server and the most important post-installation steps, such as additional apps installation and LDAP configuration. The installation of the server on a local machine is not recommended, except for testing or development purposes. The workflow is aimed at system administrators intending to familiarize themselves with an OMERO installation. +This chapter describes an installation of an OMERO.server and the most important post-installation steps, such as additional apps installation and LDAP configuration. The installation of the server on a local machine is not recommended, except for testing or development purposes. The chapter is aimed at system administrators intending to familiarize themselves with an OMERO installation or wishing to install OMERO for training purposes. It concentrates mainly on an installation using Ansible. If you intend to install a production OMERO.server, please study `the documentation `_. Description ----------- @@ -25,7 +25,7 @@ Resources - Webpage `Start with OMERO at your Institution `_ - `Ansible `_ - `Ansible documentation `_ -- `Example `_ and `production `_ ansible playbooks. +- `Example `_ and `production `_ ansible playbooks. - `OMERO installation workshop presentation `_ - `Manual installation documentation `_ - `System requirements `_ @@ -91,24 +91,12 @@ Start OMERO.insight or a Command Line Interface (CLI) and log in to ``localhost` Go to `http://localhost:4080/webclient/ `_ in your browser and log in to OMERO.web as ``root`` with password ``omero``. - - Manual installation ------------------- You also have the option to follow the manual server installation steps - see link in Resources section above. This way is harder then using Ansible or Docker, but you will understand the server installation in-depth after this. - -Configure LDAP --------------- - -LDAP is an open standard for querying and modifying directory services that is commonly used for authentication, authorization and accounting (AAA). OMERO.server supports the use of an LDAP server to query (but not modify) AAA information for the purposes of automatic user creation. - -This allows OMERO users to be automatically created and placed in groups according to your existing institution policies. - - - Install the apps ---------------- @@ -164,4 +152,13 @@ Then rerun the command:: $ ansible-playbook --become -i hosts.yml playbook.yml -The configuration of the OMERO.server can also be achived manually, again, do not mix Ansible and manual workflows on the same server, as the next Ansible run might invalidate your changes made manually. \ No newline at end of file +The configuration of the OMERO.server can also be achived `manually `_, but do not mix Ansible and manual workflows on the same server, as the next Ansible run might invalidate your changes made manually. + +Configure LDAP +-------------- + +LDAP is an open standard for querying and modifying directory services that is commonly used for authentication, authorization and accounting (AAA). OMERO.server supports the use of an LDAP server to query (but not modify) AAA information for the purposes of automatic user creation. + +This allows OMERO users to be automatically created and placed in groups according to your existing institution policies. + +1. Add lines to your ``playbook.yml`` \ No newline at end of file From 55511e5f9dfa0c52e9f4191ab39ccda486682ea6 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 6 Jan 2023 14:31:55 +0000 Subject: [PATCH 27/36] Remove the LDAP section --- install.rst | 9 --------- 1 file changed, 9 deletions(-) diff --git a/install.rst b/install.rst index 3d7f4927..63150e22 100644 --- a/install.rst +++ b/install.rst @@ -153,12 +153,3 @@ Then rerun the command:: $ ansible-playbook --become -i hosts.yml playbook.yml The configuration of the OMERO.server can also be achived `manually `_, but do not mix Ansible and manual workflows on the same server, as the next Ansible run might invalidate your changes made manually. - -Configure LDAP --------------- - -LDAP is an open standard for querying and modifying directory services that is commonly used for authentication, authorization and accounting (AAA). OMERO.server supports the use of an LDAP server to query (but not modify) AAA information for the purposes of automatic user creation. - -This allows OMERO users to be automatically created and placed in groups according to your existing institution policies. - -1. Add lines to your ``playbook.yml`` \ No newline at end of file From e44efa5dd0e629e722c8b33aa64d92aede2077a3 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 6 Jan 2023 14:36:19 +0000 Subject: [PATCH 28/36] Clarify --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index 03840341..01a6af1e 100644 --- a/training.rst +++ b/training.rst @@ -20,7 +20,7 @@ Setup of scripts and OMERO.cli environment $ git clone https://github.com/ome/training-scripts.git -- Set up a OMERO.cli as specified under `CLI installation `_. Typically, this environment will be used on your local machine. Alternatively, you can use the OMERO.cli environment of the server you installed below (possibly, but not necessarily, on a different machine). +- Set up a OMERO.cli as specified under `CLI installation `_. Typically, this environment will be used on your local machine. Alternatively, you can use the OMERO.cli environment of the server you installed as specified below. Spin up a training server ------------------------- From 313c958c665a4433b6bf545137e9b8da029e7d65 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 9 Jan 2023 14:33:32 +0000 Subject: [PATCH 29/36] Reword the linkage between train-t-t and install --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index 01a6af1e..3297ee1f 100644 --- a/training.rst +++ b/training.rst @@ -29,7 +29,7 @@ System requirements for an OMERO.server are specified in the `documentation `_ used by the OME Team for their training server. Alternatively, you might start with a `simpler playbook `_. Both of those playbooks will also install the OMERO.web Apps for you. +You can use the exact `training ansible playbook `_ used by the OME Team for their training server. Alternatively, you might take the approach suggested in POINT TO INSTALL, where a very simple playbook is suggested first and the more complex steps are added and explained gradually. You also have the option to follow the server installation steps in the `sysadmin documentation `_. In this case, you will have to install `Apps for OMERO.web `_ in separate, post installation steps. We recommend to install all apps listed on the webpage except OMERO.gallery and OMERO.mapr. From 332b66dbd4c9dfd1c62e26ccb20aa6a977c1a526 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Mon, 9 Jan 2023 15:38:23 +0000 Subject: [PATCH 30/36] links, add warning about manual and ansible --- install.rst | 9 +++++++-- training.rst | 6 +++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/install.rst b/install.rst index 63150e22..8b0f526b 100644 --- a/install.rst +++ b/install.rst @@ -97,6 +97,11 @@ Manual installation You also have the option to follow the manual server installation steps - see link in Resources section above. This way is harder then using Ansible or Docker, but you will understand the server installation in-depth after this. +.. _Warningansible: + +.. warning:: + If you used Ansible to install your server, it is not advisable to start making manual installs on top of this, as the next re-run of the Ansible playbook might invalidate the manual changes made. + Install the apps ---------------- @@ -135,7 +140,7 @@ In a separate `task `_, but note the :ref:`warning `. Configure your server --------------------- @@ -152,4 +157,4 @@ Then rerun the command:: $ ansible-playbook --become -i hosts.yml playbook.yml -The configuration of the OMERO.server can also be achived `manually `_, but do not mix Ansible and manual workflows on the same server, as the next Ansible run might invalidate your changes made manually. +The configuration of the OMERO.server can also be achived `manually `_, but note the :ref:`warning `. diff --git a/training.rst b/training.rst index 3297ee1f..a59ac419 100644 --- a/training.rst +++ b/training.rst @@ -29,11 +29,11 @@ System requirements for an OMERO.server are specified in the `documentation `_ used by the OME Team for their training server. Alternatively, you might take the approach suggested in POINT TO INSTALL, where a very simple playbook is suggested first and the more complex steps are added and explained gradually. +You can use the exact `training ansible playbook `_ used by the OME Team for their training server. Alternatively, you might take the approach suggested in :doc:`install` part of these guides, where a very simple playbook is suggested first and the more complex steps are added and explained gradually. -You also have the option to follow the server installation steps in the `sysadmin documentation `_. In this case, you will have to install `Apps for OMERO.web `_ in separate, post installation steps. We recommend to install all apps listed on the webpage except OMERO.gallery and OMERO.mapr. +:doc:`install` also explains the necessary steps to install Add-ons for OMERO.web such as OMERO.figure and the configuration of the server. -In case any other installation method was used than `training ansible playbook `_, you have to also set up the server configuration according to the `configuration block in the playbook `_. +You also have the option to follow the server installation steps in the `sysadmin documentation `_. In this case, you will have to install `Apps for OMERO.web `_ in separate, post installation steps. We recommend to install all apps listed on the webpage except OMERO.gallery and OMERO.mapr. Set up groups and users ----------------------- From 0bd98437b662a43cc42477d49786995aff6b1290 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Wed, 25 Jan 2023 15:05:12 +0000 Subject: [PATCH 31/36] Remove install.rst --- install.rst | 160 ---------------------------------------------------- 1 file changed, 160 deletions(-) delete mode 100644 install.rst diff --git a/install.rst b/install.rst deleted file mode 100644 index 8b0f526b..00000000 --- a/install.rst +++ /dev/null @@ -1,160 +0,0 @@ -Install an OMERO server -======================= - -This chapter describes an installation of an OMERO.server and the most important post-installation steps, such as additional apps installation and LDAP configuration. The installation of the server on a local machine is not recommended, except for testing or development purposes. The chapter is aimed at system administrators intending to familiarize themselves with an OMERO installation or wishing to install OMERO for training purposes. It concentrates mainly on an installation using Ansible. If you intend to install a production OMERO.server, please study `the documentation `_. - -Description ------------ - -We will show here: - - -- Where to find the OMERO.server requirements. - -- How to install OMERO.server quickly using a simple Ansible playbook example. - -- How to install OMERO.server very quickly using a provided Docker image. - -- How to configure OMERO.server to work with LDAP, both using Ansible or using manual configuration. - -- How to install applications such as OMERO.figure for OMERO.web. - -Resources ---------- - -- Webpage `Start with OMERO at your Institution `_ -- `Ansible `_ -- `Ansible documentation `_ -- `Example `_ and `production `_ ansible playbooks. -- `OMERO installation workshop presentation `_ -- `Manual installation documentation `_ -- `System requirements `_ -- `List of Apps for OMERO.web `_ - -Install a server ----------------- - -System requirements for an OMERO.server are specified in the `documentation `_. -The workflows below were tested on CentOS 7 only. - -Ansible -------- - -For OMERO installation, we recommend to use the Ansible software suite which enables infrastructure as a code. - -Install ansible (at the time of writing, the ansible-core version was 2.11.12, python version was 3.6.8). Other versions might work too, but are not routinely tested.:: - - $ pip install ansible - -Clone the repository for the one-node example:: - - $ git clone https://github.com/ome/ansible-example-omero-onenode.git - $ cd ansible-example-omero-onenode - -Install the requirements:: - - $ ansible-galaxy install -r requirements.yml - -Edit the file ``hosts.yml`` in the same directory and replace the YOUR-HOST-NAME variable with a name of your machine you prepared in the step above to install OMERO on, e.g. ``foo.example.com`` or ``localhost``):: - - all: - hosts: - YOUR-HOST-NAME - -Edit the ``playbook.yml`` file to change the OMERO root password (by default ``ChangeMe``). Then use this playbook to install PostgreSQL, OMERO.server and OMERO.web on one node:: - - $ ansible-playbook --become -i hosts.yml playbook.yml - -Start OMERO.insight or a Command Line Interface (CLI) and log in to ``YOUR-HOST-NAME`` with the username ``root`` and the password you have set in the ``playbook.yml`` above. - -Go to ``https://YOUR-HOST-NAME:4080/webclient/`` in your browser and log in to OMERO.web with the same credentials used above for OMERO.insight. In case you are on the same machine where you installed your OMERO, go to `http://localhost:4080/webclient/ `_ to access your OMERO.web locally. - -Docker ------- - -This approach is quicker than the Ansible installation but you should be comfortable working with containers. The docker workflow below is written for local installation of OMERO only for convenience, but bear in mind that you will have to install OMERO on a remote server when going into production. - -Assuming that Docker is installed, clone the deployment examples repository (if not already cloned):: - - $ git clone https://github.com/ome/omero-deployment-examples.git - $ cd omero-deployment-examples - $ git clone https://github.com/ome/docker-example-omero.git - $ cd docker-example-omero - -Pull the latest versions of the containers and start them:: - - $ docker-compose pull - $ docker-compose up -d - $ docker-compose logs -f - -Start OMERO.insight or a Command Line Interface (CLI) and log in to ``localhost`` as ``root`` with password ``omero``. - -Go to `http://localhost:4080/webclient/ `_ in your browser and log in to OMERO.web as ``root`` with password ``omero``. - -Manual installation -------------------- - -You also have the option to follow the manual server installation steps - see link in Resources section above. This way is harder then using Ansible or Docker, but you will understand the -server installation in-depth after this. - -.. _Warningansible: - -.. warning:: - If you used Ansible to install your server, it is not advisable to start making manual installs on top of this, as the next re-run of the Ansible playbook might invalidate the manual changes made. - -Install the apps ----------------- - -In order to give your users full OMERO experience, you might want to install apps after you successful OMERO.server and OMERO.web install above. Many user-facing features are released only as applications for OMERO.web, such as full image viewer and OMERO.figure. - -1. Install the apps using Ansible: If you used Ansible to install your OMERO.server, we recommend to add the apps installation lines to your Ansible playbook. First, create an `omero_server_python_addons block `_ under your `ome.omero_server `_ role block and add the `reportlab `_ and `markdown `_ addons to it. These addons are necessary for OMERO.figure exports. Further, under your `ome.omero_web `_ role block create an `omero_web_config_set definition `_ and add the following blocks to it: - - - `omero_web_apps `_ - - - `omero.web.ui.center_plugins `_ - - - `omero.web.ui.top_links `_ - - - `omero.web.open_with `_ - - - `omero.web.iviewer_view line `_ # enables OMERO.iviewer as default viewer - - - `omero.web.mapr.config `_ - -You also have to `define the App package variables `_ in a `vars block at the end of your playbook `_. You can simplify the definition and ignore the ``override`` logic as follows:: - - vars: - omero_figure_release: "5.1.0" - omero_web_apps_packages: - - "omero-figure=={{ omero_figure_release }}" - - "omero-fpbioimage" - - "omero-iviewer" - - "omero-mapr" - - "omero-parade" - - "omero-webtagging-autotag" - - "omero-webtagging-tagsearch" - -The release number such as ``5.1.0`` above can be taken from `Python package index (Pypi) `_ or you can copy the most recent number from `the OME training playbook `_ . Note that the ``omero_figure_release`` must be defined as shown above, because it is used by the Figure_To_Pdf.py routine described below. - -In a separate `task `_ block `define the job of downloading the necassary script for OMERO.figure `_ which exports the Figures as pdf. Then rerun the command:: - - $ ansible-playbook --become -i hosts.yml playbook.yml - -2. You can also install Apps manually according to `Apps for OMERO.web `_, but note the :ref:`warning `. - -Configure your server ---------------------- - -Depending on the environment and purpose of your server, you will need to configure your OMERO.server. - -The parameters which might be necessary for the OMERO.server accessed by many users at the same time, e.g. in training are defined in the `omero_server_config_set block `_. Add such ``omero_server_config_set`` block to your playbook and include into it - - - `omero.db.poolsize `_ - - - the `omero.jvmcfg `_ parameters. - -Then rerun the command:: - - $ ansible-playbook --become -i hosts.yml playbook.yml - -The configuration of the OMERO.server can also be achived `manually `_, but note the :ref:`warning `. From 8b8b9482f8f60ad1add717f0fb60d9cdeae2a194 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Wed, 25 Jan 2023 16:13:42 +0000 Subject: [PATCH 32/36] Remove references to install, more precise formulations --- index.rst | 3 --- training.rst | 23 ++++++----------------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/index.rst b/index.rst index f5d84fb9..13deaade 100644 --- a/index.rst +++ b/index.rst @@ -30,8 +30,6 @@ and how to use those extensions points e.g. OMERO.iviewer, OMERO.figure, OMERO.p :doc:`external_tools` introduces how to analyze data using third party tools e.g. Fiji, CellProfiler, ilastik. -:doc:`install` introduces how to install OMERO. - Prepare a training ------------------ @@ -103,5 +101,4 @@ Powered by write_guide example example_facility_manager - install training diff --git a/training.rst b/training.rst index a59ac419..f5a1418b 100644 --- a/training.rst +++ b/training.rst @@ -16,36 +16,25 @@ Resources Setup of scripts and OMERO.cli environment ------------------------------------------ +- This guide assumes that you have installed an OMERO.server for training purposes. + - Clone the `training-scripts `_ repository:: $ git clone https://github.com/ome/training-scripts.git -- Set up a OMERO.cli as specified under `CLI installation `_. Typically, this environment will be used on your local machine. Alternatively, you can use the OMERO.cli environment of the server you installed as specified below. +- Set up a OMERO.cli as specified under `CLI installation `_. Typically, this environment will be used on your local machine. Alternatively, you can use the OMERO.cli environment of the OMERO.server. -Spin up a training server +Setup of groups and users ------------------------- -System requirements for an OMERO.server are specified in the `documentation `_. All training servers used by the OME Team run in VMs with CentOS 7. - -We recommend to use the Ansible management software and use the provided Ansible playbook to install the OMERO.server for training, as this gives you the exact blueprint of the server setup used during trainings run by the OME Team. - -You can use the exact `training ansible playbook `_ used by the OME Team for their training server. Alternatively, you might take the approach suggested in :doc:`install` part of these guides, where a very simple playbook is suggested first and the more complex steps are added and explained gradually. - -:doc:`install` also explains the necessary steps to install Add-ons for OMERO.web such as OMERO.figure and the configuration of the server. - -You also have the option to follow the server installation steps in the `sysadmin documentation `_. In this case, you will have to install `Apps for OMERO.web `_ in separate, post installation steps. We recommend to install all apps listed on the webpage except OMERO.gallery and OMERO.mapr. - -Set up groups and users ------------------------ - Prepare groups and users as listed in the `provided template sheet `_. Assuming you have the `template sheet `_ in the same directory as the script `create_groups_users.sh `_, you can run:: - $ SUDOER=trainer bash create_groups_users.sh + $ HOST=$YOUR_SERVER_ADDRESS PASSWORD=$PASSWORD_FOR_ROOT bash create_groups_users.sh which will create 50 users in your database. The users are members of four main OMERO.groups, which cover the group permissions allowed in OMERO. The ``Read-annotate`` group ``Lab 1`` is the main group used in the trainings, -which contains most of the data. +which contains most of the data in a typical training. The setup in the `template sheet `_ sets this ``Lab 1`` group as a default group in OMERO for all users. Rename users to have first and last names of real people (the list of famous scientist names is used) running `the renaming script `_. From 68522283f4402ea8334b450b705ed8a77c180fc1 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Wed, 25 Jan 2023 18:26:52 +0000 Subject: [PATCH 33/36] Fixes cf. Will's comments --- training.rst | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/training.rst b/training.rst index f5a1418b..3f7f0598 100644 --- a/training.rst +++ b/training.rst @@ -13,8 +13,8 @@ Resources - `Useful scripts `_ for setting up the training server. -Setup of scripts and OMERO.cli environment ------------------------------------------- +Download of scripts and OMERO.cli environment setup +--------------------------------------------------- - This guide assumes that you have installed an OMERO.server for training purposes. @@ -29,6 +29,7 @@ Setup of groups and users Prepare groups and users as listed in the `provided template sheet `_. Assuming you have the `template sheet `_ in the same directory as the script `create_groups_users.sh `_, you can run:: + $ cd training-scripts/maintenance/scripts $ HOST=$YOUR_SERVER_ADDRESS PASSWORD=$PASSWORD_FOR_ROOT bash create_groups_users.sh which will create 50 users in your database. @@ -36,12 +37,15 @@ The users are members of four main OMERO.groups, which cover the group permissions allowed in OMERO. The ``Read-annotate`` group ``Lab 1`` is the main group used in the trainings, which contains most of the data in a typical training. The setup in the `template sheet `_ sets this ``Lab 1`` group as a default group in OMERO for all users. -Rename users to have first and last names of real people (the list of famous scientist names is used) running `the renaming script `_. +Rename users to have first and last names of real people (the list of famous scientist names is used) running `the renaming script `_:: + + $ rename_users.py trainer-1 $PASSWORD --server $YOUR_SERVER_ADDRESS Import images ------------- -`Import data in-place `_ for all users using `import bash script `_ and the `publicly available data provided `_ or use your own data or `data downloaded from IDR `_. Shell into the machine where you have installed your OMERO.server (necessary for in-place import) and, assuming that you have for example your data in a folder `my-folder` which is visible from that machine:: +We like to use `in-place import `_ because it avoids duplicating the data on disk, but if you are only importing a small amount of data you may find non-in-place import (described below) is more convenient. +In-place import is achieved by using `import bash script `_. Use the `publicly available data provided `_ or use your own data or `data downloaded from IDR `_. Shell into the machine where you have installed your OMERO.server (necessary for in-place import) and, assuming that you have for example your data in a folder `my-folder` which is visible from that machine:: $ IMPORTTYPE=normal NUMBER=15 FOLDER=/path/to/my-folder bash in_place_import_as.sh From 2052c094bb0f6e6fe97a2ed3a58650f9b0bb79e6 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Wed, 25 Jan 2023 18:35:42 +0000 Subject: [PATCH 34/36] Fix error found when testing scripts --- training.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training.rst b/training.rst index 3f7f0598..68ad19b8 100644 --- a/training.rst +++ b/training.rst @@ -39,7 +39,7 @@ which contains most of the data in a typical training. The setup in the `templat Rename users to have first and last names of real people (the list of famous scientist names is used) running `the renaming script `_:: - $ rename_users.py trainer-1 $PASSWORD --server $YOUR_SERVER_ADDRESS + $ python rename_users.py trainer-1 $PASSWORD --server $YOUR_SERVER_ADDRESS Import images ------------- From 87011e88cd153856756cf167b6a194b67a415fd2 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Wed, 25 Jan 2023 20:12:23 +0000 Subject: [PATCH 35/36] More corrections from scripts testing --- training.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/training.rst b/training.rst index 68ad19b8..55a7e686 100644 --- a/training.rst +++ b/training.rst @@ -45,15 +45,15 @@ Import images ------------- We like to use `in-place import `_ because it avoids duplicating the data on disk, but if you are only importing a small amount of data you may find non-in-place import (described below) is more convenient. -In-place import is achieved by using `import bash script `_. Use the `publicly available data provided `_ or use your own data or `data downloaded from IDR `_. Shell into the machine where you have installed your OMERO.server (necessary for in-place import) and, assuming that you have for example your data in a folder `my-folder` which is visible from that machine:: +In-place import is achieved by using `import bash script `_. Use the `publicly available data provided `_ or use your own data or `data downloaded from IDR `_. Shell into the machine where you have installed your OMERO.server (necessary for in-place import) and, assuming that you have for example your data in a folder ``my-folder`` which is visible from that machine:: - $ IMPORTTYPE=normal NUMBER=15 FOLDER=/path/to/my-folder bash in_place_import_as.sh + $ HOST=localhost SUDOER=trainer-1 PASSWORD=$PASSWORD_FOR_trainer-1 IMPORTTYPE=normal NUMBER=15 FOLDER=/path/to/my-folder bash in_place_import_as.sh -will in-place import the images from `my-folder` into a new Dataset named `my-folder` for user-1 through user-15. +will in-place import the images from ``my-folder`` into a new Dataset named ``/path/to/my-folder`` for user-1 through user-15. -To achieve a better reproducibility of your imports, you can use a `bulk file `_ pointing to a list of paths of the image files. Assuming you have for example the bulk file `idr0021-experimentA-bulk.yml `_ located on the filesystem you are working on, together with the corresponding `idr0021-experimentA-filePaths.tsv `_ file and the images as specified in the `idr0021-experimentA-filePaths.tsv `_ which you have edited accordingly, you can import:: +To achieve a better reproducibility of your imports, you can use a `bulk file `_ pointing to a list of paths of the image files. Assuming you have for example the bulk file `idr0021-experimentA-bulk.yml `_ located on the filesystem you are working on, together with the corresponding `idr0021-experimentA-filePaths.tsv `_ file and the images as specified in the `idr0021-experimentA-filePaths.tsv `_ which you have edited accordingly, you can run:: - $ OMEUSER=trainer NUMBER=2 BULKFILE=/path/to/idr0021-experimentA-bulk.yml bash in_place_import_as.sh + $ HOST=localhost SUDOER=trainer-1 PASSWORD=$PASSWORD_FOR_trainer-1 OMEUSER=trainer NUMBER=2 BULKFILE=/path/to/idr0021-experimentA-bulk.yml bash in_place_import_as.sh to import the images for trainer-1 and trainer-2. @@ -63,7 +63,7 @@ Image data can also be populated by a `Python script Date: Fri, 27 Jan 2023 12:48:33 +0000 Subject: [PATCH 36/36] Adjust cf. Will's comments --- index.rst | 4 ++-- training.rst | 36 ++++++++++++++++++------------------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/index.rst b/index.rst index 13deaade..08ff1d6b 100644 --- a/index.rst +++ b/index.rst @@ -30,8 +30,8 @@ and how to use those extensions points e.g. OMERO.iviewer, OMERO.figure, OMERO.p :doc:`external_tools` introduces how to analyze data using third party tools e.g. Fiji, CellProfiler, ilastik. -Prepare a training ------------------- +Prepare an OMERO server for training +------------------------------------ :doc:`training` presents a step-by-step example of a setup needed to get a training server similar to the one used by the OME Team. diff --git a/training.rst b/training.rst index 55a7e686..5e016386 100644 --- a/training.rst +++ b/training.rst @@ -1,5 +1,5 @@ -Prepare a training on OMERO -=========================== +Prepare an OMERO server for training +==================================== This chapter describes a setup of a training OMERO.server at your institution. Further, it gives an overview of the other training @@ -27,7 +27,7 @@ Download of scripts and OMERO.cli environment setup Setup of groups and users ------------------------- -Prepare groups and users as listed in the `provided template sheet `_. Assuming you have the `template sheet `_ in the same directory as the script `create_groups_users.sh `_, you can run:: +Prepare groups and users as listed in the `provided template sheet `_. Assuming you have the `template sheet `_ in the same directory as the script `create_groups_users.sh `_, you can run:: $ cd training-scripts/maintenance/scripts $ HOST=$YOUR_SERVER_ADDRESS PASSWORD=$PASSWORD_FOR_ROOT bash create_groups_users.sh @@ -35,9 +35,9 @@ Prepare groups and users as listed in the `provided template sheet `_ sets this ``Lab 1`` group as a default group in OMERO for all users. +which contains most of the data in a typical training. The setup in the `template sheet `_ sets this ``Lab 1`` group as a default group in OMERO for all users. -Rename users to have first and last names of real people (the list of famous scientist names is used) running `the renaming script `_:: +Rename users to have first and last names of real people (the list of famous scientist names is used) running `the renaming script `_:: $ python rename_users.py trainer-1 $PASSWORD --server $YOUR_SERVER_ADDRESS @@ -45,11 +45,11 @@ Import images ------------- We like to use `in-place import `_ because it avoids duplicating the data on disk, but if you are only importing a small amount of data you may find non-in-place import (described below) is more convenient. -In-place import is achieved by using `import bash script `_. Use the `publicly available data provided `_ or use your own data or `data downloaded from IDR `_. Shell into the machine where you have installed your OMERO.server (necessary for in-place import) and, assuming that you have for example your data in a folder ``my-folder`` which is visible from that machine:: +In-place import is achieved by using `import bash script `_. Use the `publicly available data provided `_ or use your own data or `data downloaded from IDR `_. Shell into the machine where you have installed your OMERO.server (necessary for in-place import) and, assuming that you have for example your data in a folder ``my-folder`` which is visible from that machine, run:: $ HOST=localhost SUDOER=trainer-1 PASSWORD=$PASSWORD_FOR_trainer-1 IMPORTTYPE=normal NUMBER=15 FOLDER=/path/to/my-folder bash in_place_import_as.sh -will in-place import the images from ``my-folder`` into a new Dataset named ``/path/to/my-folder`` for user-1 through user-15. +This will in-place import the images from ``my-folder`` into a new Dataset named ``/path/to/my-folder`` for user-1 through user-15. To achieve a better reproducibility of your imports, you can use a `bulk file `_ pointing to a list of paths of the image files. Assuming you have for example the bulk file `idr0021-experimentA-bulk.yml `_ located on the filesystem you are working on, together with the corresponding `idr0021-experimentA-filePaths.tsv `_ file and the images as specified in the `idr0021-experimentA-filePaths.tsv `_ which you have edited accordingly, you can run:: @@ -57,13 +57,13 @@ To achieve a better reproducibility of your imports, you can use a `bulk file `_ assumes by default `in-place imports `_. You can adjust it for "classsical", non-in-place import by deleting the ``--transfer=ln_s`` from the script lines or, if using the `bulk file `_ workflow, comment out the ``transfer`` line from the bulk file. +The `script `_ assumes by default `in-place imports `_. You can adjust it for "classsical", non-in-place import by deleting the ``--transfer=ln_s`` from the script lines or, if using the `bulk file `_ workflow, comment out the ``transfer`` line from the bulk file. -Image data can also be populated by a `Python script `_ which copies images as pixeldata (i.e. not the original images) from `IDR `_ by default. You can adjust the `appropriate line `_ to copy from other OMERO.servers. Note that the script is only creating `images of single T and Z `_, and thus reducing the original images dimensions in case these are multi-z or T images:: +Image data can also be populated by a `Python script `_ which copies images as pixeldata (i.e. not the original images) from `IDR `_ by default. You can adjust the three lines beginning with `idr_client = omero.client(host="idr.openmicroscopy.org", port=4064) `_ to copy from other OMERO.servers. Note that the script is only creating `images of single Z and T `_, and thus reducing the original images dimensions in case these are multi-Z or T images.:: $ python idr_copy_plate.py trainer-1 --server $YOUR_SERVER_ADDRESS $PASSWORD $PLATE_ID -will copy the Plate with $PLATE_ID from IDR as trainer-1 into your server, but note that this ``idr_copy_plate.py`` script only works on Plates which have a single Field (Image) per Well. +This will copy the Plate with ``$PLATE_ID`` from IDR as trainer-1 into your server, but note that this ``idr_copy_plate.py`` script only works on Plates which have a single Field (Image) per Well. Import metadata @@ -73,23 +73,23 @@ Import metadata from a CSV via `OMERO.web `_ from IDR or other OMERO server. The command below will copy MapAnnotations from IDR to your server between images inside Projects with IDs 1 (in IDR) and 2 (in your server). The Project in your server is owned and the action is executed by `trainer-1`.:: +- `Copy Key-Value pairs `_ from IDR or other OMERO server. This script will copy MapAnnotations from Images in IDR to Images with the same names in your server (Datasets names must also match). The command below copies from `Project:1` in IDR to `Project:2` in your server. The Project in your server is owned and the action is executed by `trainer-1`.:: - $ python idr_get_map_annotation.py trainer-1 $PASSWORD Project:1 Project:2 --server $YOUR_SERVER_ADDRESS + $ python idr_get_map_annotation.py trainer-1 $PASSWORD_FOR_trainer-1 Project:1 Project:2 --server $YOUR_SERVER_ADDRESS -- `Add new Key-Value pairs `_. The command below will add Key-Value pairs defined inside the script randomly to the images inside Datasets with name ``big-dataset`` for all 50 users in your server. The $PASSWORD for all the users must be the same.:: +- `Add new Key-Value pairs `_. The command below will add Key-Value pairs defined inside the script randomly to the images inside Datasets with name ``big-dataset`` for all 50 users in your server. The ``$PASSWORD`` for all the users must be the same.:: $ python key_value_pairs.py $PASSWORD big-dataset --server $YOUR_SERVER_ADDRESS -- `Calibrate images `_. The command below will calibrate all the images within Dataset named ``western-blots`` to `0.33 micrometers per pixel `_ for all 50 users in your server. The $PASSWORD for all the users must be the same.:: +- `Calibrate images `_. The command below will calibrate all the images within Dataset named ``western-blots`` to `0.33 micrometers per pixel `_ for all 50 users in your server. The ``$PASSWORD`` for all the users must be the same.:: $ python calibrate_images.py $PASSWORD western-blots --server $YOUR_SERVER_ADDRESS -- `Add timestamps `_. The command below will set timestamps on the timelapse images within Dataset named `timestamps` with `delta T of 300 seconds `_ for all 50 users in your server. The $PASSWORD for all the users must be the same.:: +- `Add timestamps `_. The command below will set timestamps on the timelapse images within Dataset named `timestamps` with `delta T of 300 seconds `_ for all 50 users in your server. The ``$PASSWORD`` for all the users must be the same.:: $ python set_timestamps.py $PASSWORD timestamp --server $YOUR_SERVER_ADDRESS -- `Propagate tags and ratings to all users `_. Supposing that the ``trainer-1`` has a Dataset ``to-tag`` with Tags and Ratings on the images in the Dataset. Further, each user, such as ``user-1``, ``user-2`` has the same-named Dataset with equivalent images in it, but with no Tags and Ratings (a typical situation after a fresh import of images). The command below will link the Tags of ``trainer-1`` which are linked to the images in the ``to-tag`` Dataset to the corresponding images in the ``to-tag`` Datasets of the users. The links between the Tags and the Images will belong to each user. Also, the Ratings which are on the Images of the ``to-tag`` Dataset of ``trainer-1`` will be re-created for the corresponding Images of the users and will belong to those users.:: +- `Propagate tags and ratings to all users `_. Supposing that the ``trainer-1`` has a Dataset ``to-tag`` with Tags and Ratings on the images in the Dataset. Further, each user, such as ``user-1``, ``user-2`` has the same-named Dataset with equivalent images in it, but with no Tags and Ratings (a typical situation after a fresh import of images). The command below will link the Tags of ``trainer-1`` which are linked to the images in the ``to-tag`` Dataset to the corresponding images in the ``to-tag`` Datasets of the users. The links between the Tags and the Images will belong to each user. Also, the Ratings which are on the Images of the ``to-tag`` Dataset of ``trainer-1`` will be re-created for the corresponding Images of the users and will belong to those users.:: $ python copy_tags_ratings.py to-tag $PASSWORD --server $YOUR_SERVER_ADDRESS @@ -108,10 +108,10 @@ Cleanup scripts It might be of great advantage to be able to clean up in batches, but still selectively, metadata added to the images on your training server. -- `Delete ROIs `_ on all Images inside Datasets of specified name for all users on the server who have such Datasets. In the example below, the Dataset's name is ``with-rois``. The $PASSWORD is the password of the user deleting the ROIs. The deleting user is ``trainer-1`` by default.:: +- `Delete ROIs `_ on all Images inside Datasets of specified name for all users on the server who have such Datasets. In the example below, the Dataset's name is ``with-rois``. The ``$PASSWORD`` is the password of the user deleting the ROIs. The deleting user is ``trainer-1`` by default.:: $ python delete_ROIs.py --datasetname with-rois --server $YOUR_SERVER_ADDRESS $PASSWORD -- `Delete Annotations `_ on all Images inside Datasets of specified name for all users on the server who have such Datasets. In the example below, the Dataset's name is ``western-blots`` and the deleted annotation type is ``FileAnnotation``. All other annotation types such as ``TagAnnotation`` etc. will be preserved. The $PASSWORD is the password of the user deleting the ROIs. The deleting user is ``trainer-1`` by default.:: +- `Delete Annotations `_ on all Images inside Datasets of specified name for all users on the server who have such Datasets. In the example below, the Dataset's name is ``western-blots`` and the deleted annotation type is ``FileAnnotation``. All other annotation types such as ``TagAnnotation`` etc. will be preserved. The ``$PASSWORD`` is the password of the user deleting the ROIs. The deleting user is ``trainer-1`` by default.:: $ python delete_annotations.py --anntype file --namespace none --server $YOUR_SERVER_ADDRESS $PASSWORD western-blots \ No newline at end of file