diff --git a/docs/conf.py b/docs/conf.py index fb4e42e..a325359 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -75,6 +75,8 @@ imagesc_root = 'https://forum.image.sc' extlinks = { + 'modeldoc': (oo_site_root + '/support/ome-model/%s', None), + 'team_plone' : (oo_site_root + '/team/%s', None), # image.sc 'imagesc': (imagesc_root + '/%s', '#%s'), # Trac links @@ -100,6 +102,7 @@ 'security': (oo_root + '/security/%s', None), 'presentations': (downloads_root + '/presentations/%s', None), # Doc links + 'omerodoc': (docs_root + '/omero/latest/%s', None), 'model_doc': (docs_root + '/latest/ome-model/%s', None), 'devs_doc': (docs_root + '/contributing/%s', None), 'schema': (oo_root + '/Schemas/%s', None), @@ -217,6 +220,8 @@ .. |deploy-doc| replace:: Runs :ref:`scc deploy` to update """ +rst_epilog += '.. |C| replace:: **Check**' + # -- Options for LaTeX output ------------------------------------------------- # Grouping the document tree into LaTeX files. List of tuples diff --git a/docs/index.rst b/docs/index.rst index 2c85905..ca54130 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -25,6 +25,7 @@ be valuable to a wider audience. data-model-schema schema-changes components-release + testing_scenarios/index Information specific to developing OMERO, the OME Data Model and file formats, and Bio-Formats can be found in their respective developer documentation diff --git a/docs/testing_scenarios/AdminGroupUserCreate.rst b/docs/testing_scenarios/AdminGroupUserCreate.rst new file mode 100644 index 0000000..3d33e8f --- /dev/null +++ b/docs/testing_scenarios/AdminGroupUserCreate.rst @@ -0,0 +1,517 @@ +Admin: Group/User Create +======================== + +**To test in**: Web, Insight + +**Purpose of the test** is to check the creation of new groups/users functionality when logged in as administrator + +#. Go to administration tab (left pane harmonica (Insight) or Admin tab (Web) [:ref:`AdminGrUsCr001`]) + +#. Create new group + + - using the icon above the tree (Insight only) [:ref:`AdminGrUsCr002`] + - using the button "Add new..." (Web only) [:ref:`AdminGrUsCr003`][:ref:`AdminGrUsCr004`] + - Create private/read-only/read-annotate group + - |C| that a new group was created with permissions as chosen at creation + + +#. (Insight only) - create a new user/group and + + - |C| that when you try to delete the user/group immediately after creation via ``Delete`` key or via context menu, the action is not allowed/does not proceed. + +#. Create new user [:ref:`AdminGrUsCr005`][:ref:`AdminGrUsCr006`][:ref:`AdminGrUsCr007`] + + - |C| that you can see the list of groups in the lower part of the [:ref:`AdminGrUsCr002b`]. + - |C| that you can filter the groups in [:ref:`AdminGrUsCr002b`]. + - Tick/do not tick the Administrator box in the creation window + - |C| that when you use an existing login name for a new user, the action + does not proceed and a popup appears [:ref:`AdminGrUsCr010`]. The login + name must be unique for the whole database, not just for the group the + new user is a member of. + - |C| in Insight - the pop-up warning refers to “User” not “Experimenter” and in Web - warning above Username label (in red) refers to “username”. + - |C| that the new user is (or is not) an Administrator as appropriate + - tick/do not tick the Group owner box (Insight only) [:ref:`AdminGrUsCr008`] + - |C| that the new user is (or is not) Group owner as appropriate + +#. (Web only) Add the new user to one or more existing groups [:ref:`AdminGrUsCr009`]. + + + +.. _AdminGrUsCr001: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/00Web.png + :align: center + + AdminGrUsCr001: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr002: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/001Insight.png + :align: center + + AdminGrUsCr002: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr002b: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/002b.png + :align: center + + New User dialog: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr003: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/001Web.png + :align: center + + AdminGrUsCr003 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr004: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/002Web.png + :align: center + + AdminGrUsCr004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr005: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/001Insight.png + :align: center + + AdminGrUsCr005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr006: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/003Web.png + :align: center + :width: 100% + + AdminGrUsCr006: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr007: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/004Web.png + :align: center + + AdminGrUsCr007: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr008: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/005Insight.png + :align: center + + AdminGrUsCr008 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr009: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/006Web.png + :align: center + + AdminGrUsCr009: + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr010: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/010.png + :align: center + + AdminGrUsCr010: + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr011: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/011Insight.png + :align: center + + AdminGrUsCr011: + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr012: +.. figure:: images/testing_scenarios/GroupUserCreateAdmin/012Insight.png + :align: center + + AdminGrUsCr012: + + + +| +| +| +| +| +| +| +| +| + + diff --git a/docs/testing_scenarios/AdminGroupUserEdit.rst b/docs/testing_scenarios/AdminGroupUserEdit.rst new file mode 100644 index 0000000..21f4657 --- /dev/null +++ b/docs/testing_scenarios/AdminGroupUserEdit.rst @@ -0,0 +1,391 @@ +Admin: Group/User Edit +====================== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the Editing and changing of Group/User as administrator or group owner + +#. Edit group [:ref:`AdminGrUsEd001`][:ref:`AdminGrUsEd002`][:ref:`AdminGrUsEd003`] + +#. Change name/description/permissions and Save + + - |C| the parameters have been changed correctly + - |C| that when you have a Read-Annotate or Read-Write group, you can change the permissions to Read-Only or Private group if there are no annotations of objects by other users + - Have a Read-Annotate and Read-Write group. Make sure one user in these groups annotates objects of another user (none of the users is Admin or Group Owner). + - |C| that when you try to downgrade the permissions to Read-Only or Private, the action will not proceed, and in both Web and Insight you get a informative warning message + +#. Add and remove users (=members) + + - using Edit group window (Web only) [:ref:`AdminGrUsEd003`] + - using ``Edit group membership`` from right-click menu (Insight only) [:ref:`AdminGrUsEd004`] + - |C| that you can see and filter the users in the dialog [:ref:`AdminGrUsCr004b`]. + - using Copy/Cut and Paste from main menu (Insight only) + - using Copy/Cut and Paste via icons & right-click (Insight only) + - using Drag & Drop (Insight only) + - |C| the users have been added/removed to/from the groups + - |C| that when a user is a member of only one group, you cannot remove him/her from this group + +#. Edit user [:ref:`AdminGrUsEd005`][:ref:`AdminGrUsEd006`][:ref:`AdminGrUsEd007`] + + - change Name/Password/Status (Insight) + - change Names/e-mail/Institution/Status (Web - at present no Group Owner option) + - |C| that you cannot change the login name (Insight - in Web you can) + - Save changes + - |C| the changes have been made appropriately + +#. Login as group owner **without admin rights** (e.g. user-5 in read-annotate + or user-1 in private group, but NOT user-6) and in the group you are the + owner of only add and remove users: + + - using Edit group window (Web only - right-click onto your name in top right corner and go ``User settings > My Groups > Edit``) [:ref:`AdminGrUsEd003`] + - using ``Edit group membership`` from right-click menu (Insight only) [:ref:`AdminGrUsEd004`] + - using Copy/Cut and Paste from main menu (Insight only) + - using Copy/Cut and Paste via icons & right-click (Insight only) + - using Drag & Drop (Insight only) + - |C| the users have been added/removed to/from the groups + - |C| that you cannot Create new user in Insight (right-click menu item is greyed out) + - |C| that when a user is a member of only one group, you cannot remove him/her from this group + - (Insight only) |C| that you can Edit only the Default group of other users, but not their credentials, login names or anything else. + +#. (Web only) Checking disk usage. + + - login as admin and go to the ``Admin`` tab. + - Select the ``Statistics`` tab. + - |C| that you can see a pie chart with the breakdown of the usage of the disk by groups and also the usage in tabular form below it [:ref:`AdminGrUsEd008`] + - |C| that you can click onto the pie chart which brings you to a similar breakdown of usage for the particular entity you clicked onto. + - logout + - login as a group owner of multiple groups + - click onto your name in top right corner of the Web UI and select ``User settings`` + - click onto the ``Statistics`` tab. + - |C| that you can see a pie chart with the breakdown of the usage of the disk by groups and also the usage in tabular form below it [:ref:`AdminGrUsEd008`] + - |C| that you can click onto the pie chart which brings you to a similar breakdown of usage for the particular entity you clicked onto. + + + .. _AdminGrUsEd001: + .. figure:: images/testing_scenarios/GroupUserEditAdmin/001Insight.png + :align: center + + AdminGrUsEd001: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _AdminGrUsEd002: + .. figure:: images/testing_scenarios/GroupUserEditAdmin/002Web.png + :align: center + + AdminGrUsEd002: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _AdminGrUsEd003: + .. figure:: images/testing_scenarios/GroupUserEditAdmin/003Web.png + :align: center + + AdminGrUsEd003 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _AdminGrUsEd004: + .. figure:: images/testing_scenarios/GroupUserEditAdmin/004Insight.png + :align: center + + AdminGrUsEd004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _AdminGrUsCr004b: +.. figure:: images/testing_scenarios/GroupUserEditAdmin/004b.png + :align: center + + Edit Users dialog: + + + +| +| +| +| +| +| +| +| +| + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _AdminGrUsEd005: + .. figure:: images/testing_scenarios/GroupUserEditAdmin/005Insight.png + :align: center + + AdminGrUsEd005 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _AdminGrUsEd006: + .. figure:: images/testing_scenarios/GroupUserEditAdmin/002Web.png + :align: center + + AdminGrUsEd006: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _AdminGrUsEd007: + .. figure:: images/testing_scenarios/GroupUserEditAdmin/006Web.png + :align: center + + AdminGrUsEd007: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _AdminGrUsEd008: + .. figure:: images/testing_scenarios/GroupUserEditAdmin/008Web.png + :align: center + + AdminGrUsEd008: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + + diff --git a/docs/testing_scenarios/Annotate.rst b/docs/testing_scenarios/Annotate.rst new file mode 100644 index 0000000..dd969d1 --- /dev/null +++ b/docs/testing_scenarios/Annotate.rst @@ -0,0 +1,902 @@ +Annotate +======== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the Annotate ability (creating as well as viewing) for P/D/I/S/Plates/Plate Acquisitions + +**Section 1: General Annotations** + +#. Annotate different type of objects i.e. Projects/Datasets/Images/Screens/Plates/Plate Acquisitions (=Plate Run) + + - Comments (right-hand pane [:ref:`Annotate001`]) + + - Rating (right-hand pane) + + - Attachments (right-hand pane) + + - Attach local documents + - Attach uploaded documents. + + - (Insight only) |C| that you can filter the ``Available`` documents [:ref:`Annotate021`]. + + + + + +#. Create a file of size 0 and add it as an attachment to P/D/I/S/P/PR. + +#. Repeat step 1., selecting each time more than 2 objects for annotation at one go [:ref:`AnnotateM001`]. + + - |C| that each of the selected object has been annotated, and you still see the annotation when selecting them one-by-one + - |C| that when you select the annotated objects together with non-annotated objects, the annotation is still visible in right-hand pane [:ref:`AnnotateM002`] + +#. Select more than 2 objects and attach an existing Tag. + +#. Select again more than 2 objects, this time choose objects tagged in step 3. as well as untagged objects and try to add the Tag from step 3 + + - |C| that the Tag is still available for further tagging as long as untagged objects are within your selection [:ref:`AnnotateM007`, :ref:`AnnotateM008`] + +#. Mouse over the annotation name (right-hand pane) + + - Selecting a SINGLE annotated object + + - |C| that the owner of the annotation is indicated, who annotated etc.[:ref:`Annotate002`, :ref:`Annotate003`] + + - Selecting 2 or more objects which you annotated yourself + + - |C| that you can see the annotations [:ref:`AnnotateM003`, :ref:`AnnotateM004`] + + - Selecting 2 or more objects annotated by another user + + - |C| that the link owner is indicated in brackets [:ref:`AnnotateM005`, :ref:`AnnotateM006`] + + +**Section 2: Tagging** + +#. Prepare (if not prepared for you already) by creating around 10 Tags belonging to you as well as to other users and at least 2 Tag Sets with Tags in them. + +#. Bring up the Tagging dialog by clicking on ``+`` button or (Insight only) by selecting ``Tag`` in the right-click menu [:ref:`Annotate009`, :ref:`Annotate010`]. + +#. Select a Tag and click add (``>``) + + - |C| that the Tag is added to the ``Selected`` list. + + - |C| that when you select a Tag Set and click add (``>``), all the Tags in the Tag Set move to the ``Selected`` list. + +#. (Web and Insight) Make sure you have tagged Project/Dataset/Image/Screen/Plate/Plate Run/Well with at least 1 tag on each of them. + + - Bring up the tagging dialog by clicking on ``+`` + - |C| that the tags available for further tagging in the left-hand pane load as expected. + - |C| that when you select a tag, transfer it into the right-hand pane and click ``Save``, the tag you selected is added to the existing ones. + +#. (Insight only) Add/Remove All + + - Go to the ``Selected`` list. Select a Tag (contained in a Tag Set) and click remove (<). The Tag should be displayed under the Tag Set in the ``Available`` list. + + - Click on Add All button (``>>``). |C| that only Tags are added to the ``Selected`` list, not any empty Tag Set. + + - Click into the filter box above ``Selected`` list and type - |C| that no Tags are appearing in ``Available`` list after this. + + - Click on Remove All Button (``<<``). |C| that all Tags are moved back. + +#. Make sure there are some Tags owned by other users in Read-Only and Private groups. If there are no such Tags there, Log out and Log in as another user in Read-Only group (and/or Private group as necessary) and create two or more Tags. + + - Log in as a member (not Owner) of Read-Only group (a member not owning the Tags you have just checked/prepared) and |C| that the ``Available`` list does NOT show the Tags of other users (only YOUR tags should be displayed). + + - Log in as an Owner of Private group (e.g. user-1) and |C| that the ``Available`` list does NOT show the Tags of other users (only YOUR tags should be displayed). + + +#. Add new + + - Create a new Tag (with new name). Click add. + + - |C| that the new Tag is added to the ``Selected`` list. + + - Create a new Tag (with new name). Hit Enter. + + - |C| that the Tag is added to the ``Selected`` list. + + - Create a new Tag whilst highlighting a Tag Set or a Tag in a Tag Set. + + - |C| that the new Tag has been created as a part of this Tag Set. + + - Create a new Tag, using an existing Tag name, or an existing Tag name and description from the ``Available`` list. + + - |C| that a warning dialog pops up [:ref:`Annotate011`, :ref:`Annotate012`]. + + - Click ``Yes``. |C| that the existing Tag will be moved to the ``Selected`` list. + + - Click ``No``. |C| that no Tag was added to the ``Selected`` list. + + - Try to create new Tags which match the names of existing Tags within Tag Sets in ``Available`` list. + + - |C| that the Tag from the Tag Set was added after you clicked ``Yes`` and no Tag was added after you clicked ``No``. + + - Hide some Tags in the ``Available`` list by filtering these Tags out (i.e. type into the Filtering box above ``Available`` list a character NOT contained within the name of some Tags.) Now, go to the new Tag box under the ``Available`` list enter the name of a Tag no longer displayed in the ``Available`` list (i.e. one of those which you just filtered out). Hit ``Enter`` or ``Add`` Button. The dialog indicating that the Tag exists should pop up. Click ``Yes``. The Tag should be added to the ``Selected`` list. + + - Create a new Tag, using an existing Tag name, or an existing Tag name and description from the ``Selected`` list. + + - |C| that a warning dialog pops up [:ref:`Annotate013`, :ref:`Annotate014`] . + - |C| that after you confirmed the warning dialog, no new Tag was added to the ``Selected`` list. + +#. Filtering: + + - Start typing into the filtering box above the ``Available`` list [:ref:`Annotate015`, :ref:`Annotate016`]. + + - |C| that only Tags are filtered, this means Tag Set values should not be taken into account. + - |C| that the default option is ``anywhere in Tag name`` i.e. any character in the Tag is used [:ref:`Annotate017`, :ref:`Annotate018`]. + + - Switch to ``start of Tag name``. + + - |C| that filtering works taking in account only the start of the Tag name (similar to code completion). + + - Enter some text you can find in the middle of Tags e.g. ph in filtering box, with ``anywhere in Tag name`` selected. Now switch to ``start of Tag name`` and |C| that the list is updated. + + - |C| that in ``Filter by owner`` menu the default is ``All`` [:ref:`Annotate019`, :ref:`Annotate020`]. + + - Select ``Owned by me``, the list should be updated even if there is no text in filter box. + - Select ``Owned by others``, the list should be updated even if there is no text in filter box. + - Write into filtering box name of existing Tag. + + - |C| that the existing Tag gets selected as you write. Hit Enter and |C| that it gets added to ``Selected`` list. + + +#. Both in the ``Available`` as well as in the ``Selected`` lists hover with the mouse over the Tags. + + - |C| that tooltip shows + + - Owner of the Tag (in all cases) + - Description (in case the Tag has a Description) + - Tag Set (in case the Tag is in a Tag Set) + + - |C| that the tooltip is displayed in ``Selected`` list also in cases when the Tag is + + - newly added (i.e. addition of an existing Tag) + - newly created and added + + + +#. Click the ``Reset`` button and |C| that everything was reset into the state which it was in when you started the Tagging dialog. + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + +.. _Annotate001: +.. figure:: images/testing_scenarios/Annotate/001.png + :align: center + + Annotate001: Comments in Insight + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _AnnotateM001: +.. figure:: images/testing_scenarios/Annotate/multiple001.png + :align: center + + AnnotateM001 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _AnnotateM002: +.. figure:: images/testing_scenarios/Annotate/multiple002.png + :align: center + + AnnotateM002 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate002: +.. figure:: images/testing_scenarios/Annotate/002.png + :align: center + + Annotate002: Check in Insight + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + + +.. _Annotate003: +.. figure:: images/testing_scenarios/Annotate/003.png + :align: center + + Annotate003: Check in Web + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _AnnotateM003: +.. figure:: images/testing_scenarios/Annotate/multiple003.png + :align: center + + AnnotateM003 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _AnnotateM004: +.. figure:: images/testing_scenarios/Annotate/multiple004.png + :align: center + + AnnotateM004 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _AnnotateM005: +.. figure:: images/testing_scenarios/Annotate/multiple005.png + :align: center + + AnnotateM005 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _AnnotateM006: +.. figure:: images/testing_scenarios/Annotate/multiple006.png + :align: center + + AnnotateM006 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _AnnotateM007: +.. figure:: images/testing_scenarios/Annotate/multiple007.png + :align: center + + AnnotateM007 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _AnnotateM008: +.. figure:: images/testing_scenarios/Annotate/multiple008.png + :align: center + + AnnotateM008 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate009: +.. figure:: images/testing_scenarios/Annotate/009.png + :align: center + + Annotate009 + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate010: +.. figure:: images/testing_scenarios/Annotate/010.png + :align: center + + Annotate010 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate011: +.. figure:: images/testing_scenarios/Annotate/011.png + :align: center + + Annotate011 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate012: +.. figure:: images/testing_scenarios/Annotate/012.png + :align: center + + Annotate012 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate013: +.. figure:: images/testing_scenarios/Annotate/013.png + :align: center + + Annotate013 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate014: +.. figure:: images/testing_scenarios/Annotate/014.png + :align: center + + Annotate014 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate015: +.. figure:: images/testing_scenarios/Annotate/015.png + :align: center + + Annotate015 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate016: +.. figure:: images/testing_scenarios/Annotate/016.png + :align: center + + Annotate016 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate017: +.. figure:: images/testing_scenarios/Annotate/017.png + :align: center + + Annotate017 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate018: +.. figure:: images/testing_scenarios/Annotate/018.png + :align: center + + Annotate018 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate019: +.. figure:: images/testing_scenarios/Annotate/019.png + :align: center + + Annotate019 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate020: +.. figure:: images/testing_scenarios/Annotate/020.png + :align: center + + Annotate020 + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Annotate021: +.. figure:: images/testing_scenarios/Annotate/021.png + :align: center + + Annotate021 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/testing_scenarios/BigImageUpgradeTestingServer.rst b/docs/testing_scenarios/BigImageUpgradeTestingServer.rst new file mode 100644 index 0000000..50fb376 --- /dev/null +++ b/docs/testing_scenarios/BigImageUpgradeTestingServer.rst @@ -0,0 +1,48 @@ +Big Image Upgrade Testing Server +================================ + +[**UPDATED for 4.3.2**\ ] + +**To test in**: Mac and Windows servers + +**Purpose of the test** is to check the behaviour of Big images when server is upgraded. + +**Prerequisites: Images to use for the test from squig in the folder +test images good :** + +**Images to use for the test:** + + .BMP + +- /bmp/6kx6k-grey.bmp +- /bmp/6kx6k.bmp +- /bmp/8kx8k-grey.bmp +- /bmp/8kx8k.bmp + + .PNG +- + /png/4kx4k.png +- /png/8kx8k.png + + .TIF + +- /tif/4kx4k.tif +- /tif/8kx8k.tif + +#. Install 4.2.2 server and increase Java memory to 4096M in template.xml. + +#. Using a 4.2.2 client of OMERO upload big images listed in the prerequisite images (e.g. /bmp/8kx8k.bmp ). + +#. Upgrade to the newest 4.4.x server. (See + :omerodoc:`Server Upgrade `, + remember about config files). + +#. Now again try to view the same big image. + + - |C| an exception (which should be hidden from the user) is thrown which implies, "this image needs a pyramid created. please try again"). + + - |C| Server log should show "Missing pyramid:/OMERO/Pixels/PIXEL\_ID\_pyramid" + + - |C| In the background, the server generates the pyramid. + + - |C| On clicking on the same big Image for a second time, the image will be viewable. diff --git a/docs/testing_scenarios/BrowseFilterPreview.rst b/docs/testing_scenarios/BrowseFilterPreview.rst new file mode 100644 index 0000000..de926a8 --- /dev/null +++ b/docs/testing_scenarios/BrowseFilterPreview.rst @@ -0,0 +1,322 @@ +Browse/Filter/Preview +====================== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the browsing/filtering/preview feature in clients and to check the sensibility of appropriate command menus + +#. Browse dataset/ Plate. + + - (Insight only) |C| that the ``Browse`` button [:ref:`BrowseFP001b`] (top-left corner, 3rd from the left) is clickable at all times when a Dataset (D) or Project (P) with images or Datasets inside are selected (also after double click on P/D in the tree) [:ref:`BrowseFP001a`] + +#. Try to filter by rating/tags, date. [:ref:`BrowseFP001`] + + - Load tags to filter by + - Repeat the step 2. under the tags section on the left hand panel + +#. Switch between list and thumbnail view.[:ref:`BrowseFP002`] + +#. If applicable + + - Sort the data by name + - |C| that right-click menu options are the same in Browser and DataManager (Insight only). [:ref:`BrowseFP003`, :ref:`BrowseFP004`] + - Create new dataset from selection + - Double-click on image to open viewer. + +#. |C| multi-selection i.e. shift - key down. + + - |C| that DataManager and right-hand panel are correctly synchronized and updated. + - |C| that when selecting images inside a Dataset and then clicking on the Dataset in the tree, the selection of the images goes away (i.e. concurrent Image + Dataset selection should not be possible) + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + + +.. _BrowseFP001b: +.. figure:: images/testing_scenarios/BrowseFilterPreview/001b.png + :align: center + + BrowseFP001b: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + + +.. _BrowseFP001a: +.. figure:: images/testing_scenarios/BrowseFilterPreview/001a.png + :align: center + + BrowseFP001a: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + + +.. _BrowseFP001: +.. figure:: images/testing_scenarios/BrowseFilterPreview/001.png + :align: center + + BrowseFP001: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + + +.. _BrowseFP002: +.. figure:: images/testing_scenarios/BrowseFilterPreview/002.png + :align: center + + BrowseFP002: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + +.. _BrowseFP003: +.. figure:: images/testing_scenarios/BrowseFilterPreview/003.png + :align: center + + BrowseFP003 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + +.. _BrowseFP004: +.. figure:: images/testing_scenarios/BrowseFilterPreview/004.png + :align: center + + BrowseFP004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + +.. _BrowseFP005: +.. figure:: images/testing_scenarios/BrowseFilterPreview/005.png + :align: center + + BrowseFP005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + diff --git a/docs/testing_scenarios/BulkAnnotations.rst b/docs/testing_scenarios/BulkAnnotations.rst new file mode 100644 index 0000000..e41e0a7 --- /dev/null +++ b/docs/testing_scenarios/BulkAnnotations.rst @@ -0,0 +1,391 @@ +Bulk Annotations +================ + + + +**To test in**: Command line interface / Insight and Web (for Web - last step only) + +**Purpose of the test** is to check the creation of bulk annotations using python scripts started from CLI + +**Please indicate your Python and Ice version number in the ticket or error report in case you are having problems with the scripts** + +**Prerequisites** + +For both sections below, you must have: + + - A working Python and Ice on the test machine (Python 2.7.2 and Ice 3.3 worked fine at the time this scenario was written) + - Downloaded (and extracted) `OMERO.server*.zip` from Jenkins build (for example `OMERO.server-5.0.1-775-f0653ea-ice33-b225.zip`) + + +**Section 1: populate_metadata.py** + +#. Copy the ".csv" files from squig (test_plate.csv, test_screen.csv) i.e. + + - `ome/team/screenshots/Testing Setup/Bulk annotations/test_plate.csv` + - `ome/team/screenshots/Testing Setup/Bulk annotations/test_screen.csv` + +#. Either in Insight or Web, create a Screen and note the Screen ID + +#. Import `ome/data_repo/curated/mias/frans/siRNA_PRIM1_03102008/001-365700055641` into the Screen created in step 2. + +#. Rename the just imported Plate in Insight or Web to ``365700055641``. + +#. Import `ome/data_repo/curated/mias/frans/siRNA_PRIM1_03102008/001-365700055641` **again**, this time not into a Screen and note the Plate ID + +#. Open a terminal and go to `OMERO.server-*/lib/python/` (for example `OMERO.server-4.4.4-819-777c235-dirty-ice33-b115/lib/python/`) + +#. Run the bulk annotation `populate_metadata.py` script for the MIAS dataset you imported into the Screen: + + `PYTHONPATH=$PYTHONPATH:. python omero/util/populate_metadata.py -s -u Screen: path/to/test_screen.csv` + + - For example (assuming that test_screen.csv is located on your Desktop): + + `PYTHONPATH=$PYTHONPATH:. python omero/util/populate_metadata.py -s howe.openmicroscopy.org.uk -u user-1 Screen:51 ~/Desktop/test_screen.csv` + +#. Run the bulk annotation populate_metadata.py script for the MIAS dataset you imported without a Screen: + + `PYTHONPATH=$PYTHONPATH:. python omero/util/populate_metadata.py -s -u Plate: path/to/test_plate.csv` + + - For example (assuming that test_plate.csv is located on your Desktop) + + `PYTHONPATH=$PYTHONPATH:. python omero/util/populate_metadata.py -s howe.openmicroscopy.org.uk -u user-1 Plate:101 ~/Desktop/test_plate.csv` + + - |C| that you can see following console output as a result of steps 6 and 7 [:ref:`BulkAnnot001Nout`]. + +#. Open or go to the previously opened Insight UI + +#. |C| that there is a "bulk_annotations" File Annotation attached to the Screen you created and imported into + +#. |C| that there is a "bulk_annotations" File Annotation attached to the Plate you imported without a Screen + +#. Select the Plate without a Screen and select each of the 16 Wells with an image in the middle panel individually, one at a time: + + + + - |C| that the metadata is visible in the bottom left hand corner of the Insight tree view to the right of the Plate grid [:ref:`BulkAnnot001`] + - |C| "Well" metadata is different for each selected Well + - |C| "Well Name" is correct for the selected Well + - |C| that the metadata match with the `test_plate.csv` (open the `.csv` in Excel) + +#. Select the Plate you imported into a Screen and select each of the 16 Wells with an image in the middle panel individually, one at a time: + + + + - |C| that the metadata is visible in the bottom left hand corner of the Insight tree view to the right of the Plate grid [:ref:`BulkAnnot001`] + - |C| the metadata is different for each selected Well + - |C| "Well Name" is correct for the selected Well + - |C| "Plate" is the same for each selected Well and matches the Plate's ID + - |C| "Plate Name" is the same for each selected Well and matches the Plate's name + - |C| that the metadata match with the `test_screen.csv` (open the `.csv` in Excel) + + + +#. Using Web client, open the Plate without Screen, open an image in Full Viewer and click onto the "Image Information" link [:ref:`BulkAnnot004NWeb`] + + - |C| that you can see the metadata annotations [:ref:`BulkAnnot002NWeb`, :ref:`BulkAnnot005NWeb`] + - |C| that the annotations in Web match the ones displayed in Insight and in the test_plate.csv. + +**Section 2: populate_roi.py** + +#. In case you are due to test just this section (= **Section 2**) note the prerequisites in the header of this scenario (above the **Section 1**). + +#. Use the same plate as for ``populate_matadata.py`` testing, (i.e. ``ome/data_repo/curated/mias/frans/siRNA_PRIM1_03102008/001-365700055641``). Both of the plates used for ``populate_metadata.py`` should work (i.e. the Plate in the Screen and the orphaned Plate). Note or make sure you still have the ID of the PLate. + +#. In Insight, open the first well (`A1`) of the Plate and open ROI manager - you will see ROIs with yellow description fields to them. Delete couple of ROIs, for example in top-left corner (note that because of the amount of ROIs present, ``Delete All ROIs`` command might not work). After this, you should have a defined space cleaned from ROIs, see screenshot for example [:ref:`BulkAnnot006`]. Close the image and click ``Yes`` in the upcoming dialog to save changes. + +#. Open a terminal and go to `OMERO.server-*/lib/python/` (for example `OMERO.server-4.4.4-819-777c235-dirty-ice33-b115/lib/python/`) + +#. Run the bulk annotation `populate_roi.py` script for the MIAS Plate you noted the ID of in Step 2 of Section 2: + + `PYTHONPATH=$PYTHONPATH:. python omero/util/populate_roi.py -s -u ` + + - For example + + `PYTHONPATH=$PYTHONPATH:. python omero/util/populate_roi.py -s localhost -u user-4 61` + + - |C| that you can see following console output as a result of steps 6 and 7 [:download:`populate_roi_output.txt `]. + + +#. Open or go to the previously opened Insight UI + +#. Refresh the tree (left-hand pane) and + + - |C| that you can see file attached to the Plate you have executed the script against. + +#. Open the well `A1` as you did in Step 3 and + + - |C| that you can see new regions in the top-left corner which were added as a result of you running the script [:ref:`BulkAnnot007`]. + +#. Open OMERO.web and + + - |C| that you can see the newly added regions in OMERO.web as well. + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _BulkAnnot001: +.. figure:: images/testing_scenarios/BulkAnnotations/001.png + :align: center + + BulkAnnot001: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _BulkAnnot001Nout: +.. figure:: images/testing_scenarios/BulkAnnotations/001Nout.png + :align: center + + Console output: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _BulkAnnot004NWeb: +.. figure:: images/testing_scenarios/BulkAnnotations/004NWeb.png + :align: center + + BulkAnnot001NWeb: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _BulkAnnot002NWeb: +.. figure:: images/testing_scenarios/BulkAnnotations/002NWeb.png + :align: center + + BulkAnnot002NWeb: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _BulkAnnot005NWeb: +.. figure:: images/testing_scenarios/BulkAnnotations/005NWeb.png + :align: center + + BulkAnnot005NWeb: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _BulkAnnot006: +.. figure:: images/testing_scenarios/BulkAnnotations/006.png + :align: center + + BulkAnnot006: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _BulkAnnot007: +.. figure:: images/testing_scenarios/BulkAnnotations/007.png + :align: center + + BulkAnnot007: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| diff --git a/docs/testing_scenarios/CheckFilePath.rst b/docs/testing_scenarios/CheckFilePath.rst new file mode 100644 index 0000000..45f918c --- /dev/null +++ b/docs/testing_scenarios/CheckFilePath.rst @@ -0,0 +1,415 @@ +Check Filepath (FS) +=================== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the filepath to the image which is shown in clients in OMERO 5 + +#. Click on an image imported in OMERO 5. Go to the right-hand pane, tab ``General``, (see [:ref:`CheckFilePath002ina`, :ref:`CheckFilePath002wa`]). Click onto the filepath icon, see ([:ref:`filepath icon`][:ref:`filepath icon web`]). + + + - |C| that in Insight, a new window pops up with the paths of the files associated with the chosen image will appear under the icon [:ref:`CheckFilePath004`]. + - |C| that in Web, a pane with the paths of the files associated with the chosen image appears under the icon [:ref:`CheckFilePath003w`]. + + +#. Go to the server and find the file according to the given filepath. + + + - Go to the server, directory `/OMERO/ManagedRepository/` [:download:`Path example `]. + - |C| that the path shown in the clients and the filepath on the server match + + +#. (Insight only) Select an in-place imported file and click on ``Show File paths...``. + + - |C| that the path to the original file is shown and not the path inside the data repository [:ref:`CheckFilePath004`]. + - |C| that the file has an icon to the right of its ``Image ID`` number in the right-hand pane [:ref:`CheckFilePath004a`][:ref:`CheckFilePath005`]. + - Move the mouse over this in-place import icon and |C| that the tooltip stays open long enough for a comfortable read [:ref:`CheckFilePath006`]. + - |C| that clicking on ``Show file paths`` inside this tooltip will show the same as clicking on ``Show file paths...`` in the toolbar [:ref:`CheckFilePath004`]. + +#. Repeat steps 1, 2 and 3 with multi-image file, like `test_images_good/lei/leica-original/050118.lei`. + + + +#. For the mixed OMERO 5-imported & OMERO 4-imported database: + + - Import an image in OMERO 5 and do steps 1, 2 and 3. + - Click on an image imported in OMERO 4. + - |C| that you cannot see the icon described in step 1 + + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _CheckFilePath002ina: + .. figure:: images/testing_scenarios/CheckFilePathFS/002ina.png + :align: center + + top of General tab in Insight + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _filepath icon: + .. figure:: images/testing_scenarios/CheckFilePathFS/002in.png + :align: center + + filepath icon Insight + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _CheckFilePath002wa: + .. figure:: images/testing_scenarios/CheckFilePathFS/002wa.png + :align: center + + top of General tab in Web + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _filepath icon web: + .. figure:: images/testing_scenarios/CheckFilePathFS/002w.png + :align: center + + filepath icon Web + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _CheckFilePath003w: + .. figure:: images/testing_scenarios/CheckFilePathFS/003w.png + :align: center + + Pane with path Web + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _CheckFilePath004: + .. figure:: images/testing_scenarios/CheckFilePathFS/004.png + :align: center + + Popup window with path Insight + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _CheckFilePath004a: + .. figure:: images/testing_scenarios/CheckFilePathFS/004a.png + :align: center + + In-place icon Insight large view + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _CheckFilePath005: + .. figure:: images/testing_scenarios/CheckFilePathFS/005.png + :align: center + + In-place icon Insight + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _CheckFilePath006: + .. figure:: images/testing_scenarios/CheckFilePathFS/006.png + :align: center + + Tooltip of In-place icon Insight + + | + | + | + | + | + | + | + | + | + | + | + | + | + + + diff --git a/docs/testing_scenarios/ClientServerCompatibility.rst b/docs/testing_scenarios/ClientServerCompatibility.rst new file mode 100644 index 0000000..41d48e3 --- /dev/null +++ b/docs/testing_scenarios/ClientServerCompatibility.rst @@ -0,0 +1,13 @@ +Client-server compatibility +=========================== + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the compatibility between clients and servers during upgrades + +**Prerequisites: A working version of the previous server released.** + +#. Try to log in to an older version of the server using the current client e.g. 4.3.1 client and 4.2.2 server + +#. Test all clients diff --git a/docs/testing_scenarios/CommandLineInterfaceTesting.rst b/docs/testing_scenarios/CommandLineInterfaceTesting.rst new file mode 100644 index 0000000..e206a89 --- /dev/null +++ b/docs/testing_scenarios/CommandLineInterfaceTesting.rst @@ -0,0 +1,105 @@ +Command line interface testing +============================== + + + +**To test in**: Command line interface + +**Purpose of the test** is to check the general CLI functionality + +[Updated for 4.3.2] + +**Pre-requisites for this test:** + +Run the following as root user from python dist/bin/omero to setup a new +user account and group + + - omero login -s $OMERO\_HOST -p $ROUTER -u root -w ome + - omero group add web\_group --perms=rwrw-- \| \| echo "Web Group already exists?" + - omero user add web\_user Web User web\_group --userpassword abc \| \| echo "Web User already exists?" + - omero logout + - omero config set omero.web.database\_engine 'sqlite3' + - omero config set omero.web.server\_list ''$OMERO\_HOST'", '$ROUTER', "omero?' + - omero config set omero.web.debug True + - omero web unittest --config=$ICE\_CONFIG --test=webadmin + +Confirmation of the technical setup + + - bin/omero config set omero.web.database\_engine sqlite3 + - $ bin/omero web unittest --test=webadmin --config=[Ice location] ice.config + - PATH to ice.config + - OMERO/dist/ice.config + +**Command line tests** + +#. Move to + + - cd omero + - bin/omero -h + +#. Config test + + - $ bin/omero config def + - Returns = default + - $ bin/omero config get + - Returns = + - $ bin/omero config set example "my first value" + - $ bin/omero config get + - Returns = example=my first value + +#. **User Test** + + - **$ bin/omero import** + - testing the full set of option with bin/omero user these are: + + - add + - list + - password + +#. **Web cmd test** + + - For each test run bin/omero web with the additional command. + - Start - the OMERO.web server + - Run the command status and confirm the status of the web server has started. + - Run the command config and confirm a output config template for server + - Run the command gateway and execute the code below (See omerodoc:`PythonClientBeginners ` for additional information.) + + :: + + from omero.gateway import BlitzGateway + conn = BlitzGateway("USER", "PASSWORD", host="SERVER_YOU_WANT_TO_TEST", port=4064) + conn.connect() + for p in conn.listProjects( + print p.getName() + for dataset in p.listChildren( + print " ", dataset.getName() + + - Run the command stop + - Run the command config and confirm the status of the web server has stopped. + +#. **Shell cmd test** + + - Run bin/omero shell to start IPython + - ensure IPython starts. + - Once in execute the following commands ensuring they return the correct information. + + - import Ice + - import omero + - omero.model.ImageI() [This command imports an image] + - client.sf.getAdminContext().getEventContext() [The expected output of this command is the return of the current login info] + +#. **Group cmd test** + + - For each test run bin/omero group with the additional command. + - Run the command add private cmdtest + - Run the command list and view the current groups + - Run the command insert and ensure the user is added to the group + + +.. seealso:: + + :omerodoc:`User documentation for the Command Line Interface ` + + :omerodoc:`Sysadmin documentation for the Command Line Interface ` + + :omerodoc:`Developer documentation for the Command Line Interface ` diff --git a/docs/testing_scenarios/ConnectionErrorHandling.rst b/docs/testing_scenarios/ConnectionErrorHandling.rst new file mode 100644 index 0000000..2ecfe77 --- /dev/null +++ b/docs/testing_scenarios/ConnectionErrorHandling.rst @@ -0,0 +1,73 @@ +Connection/Error Handling +========================= + + + +**To test in**: Insight + +**Purpose of the test**: error handling when server goes down, network failure occurs or when computer goes to sleep + +**When testing on Windows 64-bit machine, do the tests with 32-bit as well as 64-bit Insight. (There are known differences between 64 and 32-bit Insight.)** + +#. Connect to local server. + + - Expand a project. + - Restart the server + - Expand a Dataset before end of server restart + +#. Connect to local server. + + - Expand a project. + - Restart the server + - Expand a Dataset when the server is restarted. + +#. Connect to local server. + + - Expand a project. + - Expand a Dataset and open an image. + - Restart the server + - Turn channel on/off when the server is restarted. + +#. Connect to server (not local) using a network cable + + - Expand a project. + - Unplug cable. + - Replug the cable and check your network is up on other apps + - Expand a Dataset + +#. Connect to server (not local) using a network cable + + - Expand a project/Dataset + - Open an image + - Unplug the cable. + - Replug the cable and check your network is up on other apps + - Turn channel on/off + +#. Connect to server (not local) using wireless network + + - Expand a project. + - Turn off the wireless network + - Turn the wireless network back on and check your network is up on other apps + - Expand a Dataset + +#. Connect to server (not local) + + - Expand a project and Dataset and select an image + - Put computer to sleep (~2 mins) + - Wake computer up + - Open an image + +#. Connect to server (not local) + + - **Note** that as of January 2014 there is a known bug/work in progress with 32-bit Insight on Win 7 in this workflow (does not reconnect) + - Open an image in full viewer + - Put computer to sleep (~2 mins) + - Wake computer up + - Open another image + +#. Win XP only + + - |C| that Insight starts and you can open an image + - **Note** that on Win XP the ambition is only to get Insight started and working. We do not attempt to sort out loss-of-connection issues on Win XP as long as they do not interfere with the first startup of the app. + + diff --git a/docs/testing_scenarios/CopyCutPaste.rst b/docs/testing_scenarios/CopyCutPaste.rst new file mode 100644 index 0000000..8086e9f --- /dev/null +++ b/docs/testing_scenarios/CopyCutPaste.rst @@ -0,0 +1,47 @@ +Copy/Cut/Paste +============== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the Copy, Cut and Paste functionalities + +Find suitable images here [:download:`TestingSet `] or here [:download:`TestingTemplate `] + +**Note that in Insight and Web, these commands are named as** ``Copy-Link``, ``Cut-Link`` and ``Paste-Link``, **in order to inform our users about the fact that this is not a deep copy.** + +#. Copy/Cut & Paste by selecting the items & using right-click menu + + - Datasets between Projects + - Images between Datasets + - Big Images between Datasets + - Plates between Screens + - Refresh + - |C| that the data are in their destination and are displayed correctly + - |C| that the big image is displayed correctly in its destination + - |C| that the annotations on the copied objects are in the appropriate destinations + +#. Copy/Cut & Paste Images from ``Orphaned Images`` folder by selecting & using right-click menu + + +#. Select images in a dataset and do Cut without Paste + + - |C| that the images are in "Orphaned images" folder + +#. Repeat steps 1 to 3 using main menu (``Edit > Copy-Link / Cut-Link / Paste-Link``) + + + +#. Repeat steps 1 to 3 using icons (top of the Project harmonica pane in Insight) + + - |C| the consistency of the main menu, icons and right-click menu + - |C| the consistency between Insight and Web + +#. Repeat steps 1 to 3 using Drag & Drop (i.e. Move within group) + + + +#. (For permissions testing only) go through steps 1 - 7 copying/moving other users' objects (P/D/I/S/Plates) and pasting them into your Projects/Datasets/Screens/Plates. + +#. (For permissions testing only) go through steps 1 - 7 copying/moving your objects (P/D/I/S/Plates) and pasting them into other users' Projects/Datasets/Screens/Plates. diff --git a/docs/testing_scenarios/Create.rst b/docs/testing_scenarios/Create.rst new file mode 100644 index 0000000..820bdaf --- /dev/null +++ b/docs/testing_scenarios/Create.rst @@ -0,0 +1,294 @@ +Create +====== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check that the creation of new entities is smooth, valid and sensible and the appropriate menu commands work and correspond (right-click and main menu) + +If you test work on others' data (permissions) go first to :ref:`Section 2: Work on others data ` + +**Section 1: Work on your own data** + +#. Create new Project/Dataset/Screen* + + - Create using right-click [:ref:`Create001`] + - Create using the icon [:ref:`Create002`, :ref:`Create003`, :ref:`Create004`] + - Create using the main menu (Insight only) [:ref:`Create005`] + +#. Create new Tag Set/Tag (Menu:File>New, Insight only) [:ref:`Create005`] + +#. Select **non-orphaned** images. Create New Dataset + + - |C| that a new empty dataset is created. + +#. Select plates. Create New Screen + + - |C| that a new empty Screen is created. + +#. Select **orphaned** images. Create New Dataset + + - |C| that a new dataset containing the selected images is created. + + + +---------------------------------------------------------------------------------------------------------------------------------------------------------- + +.. _label-Create: + +**Section 2: Work on other users' data** + +|C| the permissions of the user you have been assigned to use here: :ref:`Table of permissions-users ` +|C| whether you CAN (=Y) or CANNOT (=N) create objects under other users' data (= look for Mix data (formerly "Link") permissions) in the table `here `_. + +#. Switch to Group Display in Insight, put "All members" to display in Web. + +#. In Insight and Web try to create new P/D/S being under other users' data (=selecting other users' P/D/S/I) + + - Note that there is a known discrepancy in Web in icons enabling (not enabled when other user is on display) and right-click menu + - |C| that all the three icons for creating P/D/S in Web are enabled and working when you select the group name, Project(s), Dataset(s) or Image(s) in the tree + - |C| in Web that the right-click contextual menu is enabled when you select the group name and Image(s) and disabled when you select Dataset. + - |C| in Web that the right-click contextual menu is enabled only for Dataset creation when you select a Project which is either yours or other users' but such that you have permissions for to create your Dataset under it, and that the resulting Dataset is linked to the selected Project + - |C| in Insight that you can/cannot create the new entities as appropriate to your permissions (= menu items in contextual menu, icons and main menu are enabled/disabled as appropriate) + - |C| in Insight and Web that new Datasets are created under other users' Projects when these Projects are selected and creation is permitted. + + + + +#. Do step 5 in Section 1 selecting other users' images. + + - |C| that when creation permitted, the newly created Dataset belongs to you and contains the selected images of the other user(s) + + +#. Switch to User View in Insight, put a particular user to display in Web and + + - |C| in Insight that when you select other users' data, Projects and Screens are created under your name in the tree in Insight (when permitted). + - |C| in Web that the icons for creation are disabled in all cases + - |C| in Web that when you select Project(s) of other users, ONLY Dataset creation is enabled in both icon and context menu (and this only if permmissions allow you to link your Datasets to this Project) , and the Datasets are created under the selected Project + - |C| in Web that when you select a Dataset of another user, no creation menu (both icons and context) is ever enabled. + - |C| in Web that when you select other users' images P/D/S creation in context menu (but not icons) is enabled in read-annotate and read-write groups for the non-group-owner and non-admin member (Note that this is not considered a desired behaviour, but is status quo at the moment). Further if selected images of other user are in Orphaned folder and you have the permissions to link the images to your Dataset,the selected images are in the newly created dataset. Further |C| that after you put yourself to display in the tree, this newly created Dataset of yours appears under your tree, and is not available anymore under the tree of the user whose images you used to populate this Dataset from Orphaned folder. + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Create001: +.. figure:: images/testing_scenarios/Create/001.png + :align: center + + Create001: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + +.. _Create002: +.. figure:: images/testing_scenarios/Create/002.png + :align: center + + Create002: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + +.. _Create003: +.. figure:: images/testing_scenarios/Create/003.png + :align: center + + Create003 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + +.. _Create004: +.. figure:: images/testing_scenarios/Create/004.png + :align: center + + Create004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + +.. _Create005: +.. figure:: images/testing_scenarios/Create/005.png + :align: center + + Create005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| diff --git a/docs/testing_scenarios/DeAnnotateUnlink.rst b/docs/testing_scenarios/DeAnnotateUnlink.rst new file mode 100644 index 0000000..340cb7c --- /dev/null +++ b/docs/testing_scenarios/DeAnnotateUnlink.rst @@ -0,0 +1,287 @@ +De-Annotate/Unlink +================== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the De-annotate (alias Unlink or Remove Annotations) functionality. This is another functionality than Delete (which is covered by a different scenario). + +If you test work on others' data (permissions) go first to :ref:`Section 2: Work on others data ` + +**Section 1: Work on your data** + +#. Go to right-hand pane in Insight + +#. Unlink tags + + - Unlink particular tags (left click - chose Unlink in Insight [:ref:`DeAnnotateU001`][:ref:`DeAnnotateU002`], click on minus in Web to Remove) + - Unlink all tags added by you/by others (minus sign at Tags in Insight only) [:ref:`DeAnnotateU003`] + +#. Repeat step 2 on attachments (Web: choose minus sign to remove - not cross to delete) [:ref:`DeAnnotateU004`][:ref:`DeAnnotateU005`] + +#. Remove image from a Dataset, Dataset from a Project, Plate from a Screen (Web only - icon in left-hand pane or right-click - Edit menu) + + - In case of image, |C| that the image appears in the orphaned images in case it is not linked to other datasets. + - In case of Dataset/Plate, |C| that the Dataset/Plate appears as orphaned in the tree (not within any Project/Screen) + +#. Select >3 annotated objects at once and repeat the steps 1 - 4. + +#. Repeat step 5., this time select once-annotated (with one tag/file etc. attached) as well as multi-annotated (with more tags/files etc.) objects in you multi-selection. + + - |C| that when you remove single tags/files from multi-selected images/datasets..., the remaining attachments remain intact + +**End of Section 1: Work on your own data** + +--------------------------------------------------------------------------------------------------------------------------------- + +.. _label-DeAnnotate: + +**Section 2a: Work on other users' data (permissions) - De-Annotate** + + +#. Go through steps 1, 2, 3, 5, 6 in Section 1 unlinking annotations from other users' P/D/I/Screens/Plates. + +#. Go through steps 1, 2, 3, 5, 6 in Section 1 unlinking other users' annotations from your P/D/I/Screens/Plates. + +**Section 2b: Work on other users' data (permissions) - Unlink** + +#. Do step 4 in Section 1 removing your Images/Datasets/Plates from other users' D/P/S. + +#. Do step 4 in Section 1 removing other users' Images/Datasets/Plates from + + - your Datasets/Projects/Screens + - other users' D/P/S + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + +.. _DeAnnotateU001: +.. figure:: images/testing_scenarios/DeAnnotateUnlink/001.png + :align: center + :width: 110% + + DeAnnotateU001 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + + +.. _DeAnnotateU002: +.. figure:: images/testing_scenarios/DeAnnotateUnlink/002b.png + :align: center + + DeAnnotateU002: + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + +.. _DeAnnotateU003: +.. figure:: images/testing_scenarios/DeAnnotateUnlink/002.png + :align: center + + DeAnnotateU003 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + + +.. _DeAnnotateU004: +.. figure:: images/testing_scenarios/DeAnnotateUnlink/003.png + :align: center + :width: 110% + + DeAnnotateU004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + + +.. _DeAnnotateU005: +.. figure:: images/testing_scenarios/DeAnnotateUnlink/004.png + :align: center + + DeAnnotateU005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| diff --git a/docs/testing_scenarios/DeleteImageBinaryDataServer.rst b/docs/testing_scenarios/DeleteImageBinaryDataServer.rst new file mode 100644 index 0000000..d554a8c --- /dev/null +++ b/docs/testing_scenarios/DeleteImageBinaryDataServer.rst @@ -0,0 +1,40 @@ +Delete Image and binary data Windows server +=========================================== + +**Scenario Updated for 4.3.1** + +**To test in**: Windows, Mac and Linux servers from command line + +**Purpose of the test** is to check the behaviour of Big images when server is upgraded. + + +All these should behave the same in both clients. + +- Delete Image and binary data + + - first note the Image ID and get the pixels ID, the Thumbnail ID + and OriginalFile ID(s) + - E.g. psql: select \* from pixels where pixels.image= + - check that these files exist under omero.data.dir (Pixels, + Thumbnails, Files) + - delete the Image + - check that the files noted above have been deleted. + +- Delete Image and binary data + + - first note the Image ID and get the pixels ID, the Thumbnail ID + and OriginalFile ID(s) + - E.g. psql: select \* from pixels where pixels.image= + - Check that these files exist under omero.data.dir (Pixels, + Thumbnails, Files) + - Delete the Image. + - Check that the files noted above have been deleted. + +- Try to delete any remaining files using cleanse. + + - bin/omero admin cleanse --dry-run + - note whether undeleted files are marked for deletion. + - NOTE These last two points are optional + under Mac and Linux: + - bin/omero admin cleanse + - note whether undeleted files have now been deleted. diff --git a/docs/testing_scenarios/DeleteROI.rst b/docs/testing_scenarios/DeleteROI.rst new file mode 100644 index 0000000..eac6ae4 --- /dev/null +++ b/docs/testing_scenarios/DeleteROI.rst @@ -0,0 +1,96 @@ +Delete ROI +========== + + + +**To test in**: Insight + + +**Purpose of the test** is to test ROI deleting as well as ROI tools behaviour when the underlying image is being deleted + +#. Add ROI to an image - use full viewer [:ref:`DeleteROI001`][:ref:`DeleteROI002`] + + - Delete a shape and save the ROIs. + - Use the Red Cross Icon to delete all ROIs on the image + +#. Import an image with ROI (find the image in [:download:`here `]) + + - repeat step 1. with the imported ROIs + +#. Add ROI to the image, go back to the DataManager and delete the image. + + - |C| that the Measurement Tool window disappears. + + +.. _DeleteROI001: +.. figure:: images/testing_scenarios/DeleteROI/001.png + :align: center + + DeleteROI001: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _DeleteROI002: +.. figure:: images/testing_scenarios/DeleteROI/002.png + :align: center + + DeleteROI002: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| diff --git a/docs/testing_scenarios/DeleteWithPerm.rst b/docs/testing_scenarios/DeleteWithPerm.rst new file mode 100644 index 0000000..62f5fda --- /dev/null +++ b/docs/testing_scenarios/DeleteWithPerm.rst @@ -0,0 +1,592 @@ +Delete +====== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the Delete function on all entities (except ROI) + + +If you test work on others' data (permissions) go first to :ref:`Section 2: Work on others' data ` + +**Section 1: Work on your own data** + +.. _delete-work-own: + +#. In the DataManager: + + - Delete Ratings, Delete Comments (right-hand pane) + - Delete attachments [:ref:`Delete001`] in left-hand pane in Insight (``Attachments`` tab) + - Delete attachments in right hand pane in Insight and Web (``General`` pane). In Insight, click ``Remove`` on a file attachment which is not linked to anything else and |C| that a warning popup appears. The deletion will be executed only in case the attachment is not linked to anything else. For Web, use the cross symbol [:ref:`Delete002`] to Delete. + - Delete tags [:ref:`Delete003`, :ref:`Delete004`] (left-hand pane) + +#. Delete P/D/I/Screen/Plate. [:ref:`Delete005`, :ref:`Delete006`, :ref:`Delete007`, :ref:`Delete008`] + +#. Find or import an image rich in metadata e.g. ``data_repo/test_images_metadata/zeiss-zvi/6ch-Z-stack_deconvolved.zvi`` and delete it. + +#. Find or import a multi-image fileset (= MIF, for example ``test_images_good/lei/leica-original/050118.lei`` or ``data_repo/test_images_metadata/leica-lif/Rosier.lif``). Choose one image of the MIF only and press Delete. + + - |C| that the action does not proceed [:ref:`Delete009`, :ref:`Delete010`]. + - NB: You cannot delete just a part of a MIF, you have to select the whole MIF in order for the action to go through. + +#. Choose all the images in the MIF and try to Delete them. + + - |C| that this time the Delete action proceeds successfully [:ref:`Delete011`, :ref:`Delete012`]. + +#. Create a new dataset or use an existing one, cut one of the images of the MIF and paste it into the newly created (or existing old) dataset. Select the original dataset (with all the MIF images minus one). Try to delete it. + + - |C| that the action does not proceed [:ref:`Delete013`, :ref:`Delete014`]. + +#. Cut and paste the image you manipulated in the last step back into the original dataset -> the MIF should now be complete. Select the dataset with the complete MIF and try to delete it. + + - |C| that this time the Delete action proceeds successfully [:ref:`Delete015`, :ref:`Delete016`]. + + +**End of Section 1: Work on your own data** + +--------------------------------------------------------------------------------------------------------------------------------- + +.. _label-Delete: + +**Section 2: Work on other users' data** + +- |C| whether you CAN (=Y) or CANNOT (=N) delete others' data in the testing spreadsheet or if not present there, then in the table below (alternatively see all permissions :omerodoc:`here `) + + + +.. tabularcolumns:: |l|c|c|c| + +==================== ======= ========== ================ +CAN DELETE ? Private Read-only Read-annotate +==================== ======= ========== ================ +Group Administrator Y Y Y +-------------------- ------- ---------- ---------------- + Group Owner Y Y Y +-------------------- ------- ---------- ---------------- + Group Member N N N +==================== ======= ========== ================ + +| + +#. Follow the instruction in the testing sheet for the actions in permissions testing. + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Delete001: +.. figure:: images/testing_scenarios/Delete/001.png + :align: center + + Delete001 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Delete002: +.. figure:: images/testing_scenarios/Delete/002.png + :align: center + + Delete002 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Delete003: +.. figure:: images/testing_scenarios/Delete/003.png + :align: center + + Delete003 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Delete004: +.. figure:: images/testing_scenarios/Delete/004.png + :align: center + + Delete004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Delete005: +.. figure:: images/testing_scenarios/Delete/005.png + :align: center + + Delete005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Delete006: +.. figure:: images/testing_scenarios/Delete/006.png + :align: center + + Delete006 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Delete007: +.. figure:: images/testing_scenarios/Delete/007.png + :align: center + + Delete007 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Delete008: +.. figure:: images/testing_scenarios/Delete/008.png + :align: center + + Delete008 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Delete009: +.. figure:: images/testing_scenarios/Delete/009.png + :align: center + + Delete009 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + +.. _Delete010: +.. figure:: images/testing_scenarios/Delete/010.png + :align: center + + Delete010 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + +.. _Delete011: +.. figure:: images/testing_scenarios/Delete/011.png + :align: center + + Delete011 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Delete012: +.. figure:: images/testing_scenarios/Delete/012.png + :align: center + + Delete012 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Delete013: +.. figure:: images/testing_scenarios/Delete/013.png + :align: center + + Delete013 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Delete014: +.. figure:: images/testing_scenarios/Delete/014.png + :align: center + + Delete014 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Delete015: +.. figure:: images/testing_scenarios/Delete/015.png + :align: center + + Delete015 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Delete016: +.. figure:: images/testing_scenarios/Delete/016.png + :align: center + + Delete016 + + + diff --git a/docs/testing_scenarios/Disk.rst b/docs/testing_scenarios/Disk.rst new file mode 100644 index 0000000..f3d07cc --- /dev/null +++ b/docs/testing_scenarios/Disk.rst @@ -0,0 +1,79 @@ +Disk usage report +================= + + + +**To test in**: Command line interface + +**Purpose of the test** is to check that the disk usage reporting on cmd line works as expected. + +#. Download cmd line interface (for example a server from CI). Login and connect to the CI server mentioned in the testing setup (e.g. trout) as user prescribed for you in the testing setup (e.g. user-1). + +#. Execute following command: ``bin/omero fs usage --report`` which should deliver the report of your own disk usage. + + + - |C| that in case your user has Big images without in-built pyramids, such as ``.jpg`` and/or OMERO 4 images, there is also the entry ``Pixels`` in the output table, e.g. user-1 (ID 13 on trout) will see. + +:: + + bin/omero fs usage --report + Using session 652e449c-819a-425d-ac88-65e7ca5ebbb0 (user-1@trout.openmicroscopy.org:4064). Idle timeout: 10.0 min. Current group: private-1 + Total disk usage: 4526436430274 bytes in 26078 files + component | size (bytes) | files + --------------+---------------+------- + Pixels | 14654902013 | 2961 + FilesetEntry | 4510839804505 | 8820 + Thumbnail | 17337131 | 8110 + Job | 265665153 | 2792 + OriginalFile | 1757277 | 109 + Annotation | 13167582976 | 3910 + (6 rows) + + + + +3. Execute ``bin/omero user list`` to find out which ``Experimenter`` + corresponds to your username. + +4. Execute the command ``bin/omero fs usage Experimenter:X --report`` + replacing the ``X`` accordingly so that it corresponds to a user ID + of a user which does not share any common group with ``you``, i.e. + the user logged in. This could be for example user-1 logged in, user- + 10 (ID 13, i.e. X = 13) on any CI server (please double check this is true if you did not get the expected result). + + - |C| that the output of the command is zero, similar to following + +:: + + [petr@LS25165 ~/Downloads/OMERO.server-5.1.0-m1-298-ef5ae95-ice35-b272]$ bin/omero fs usage Experimenter:13 --report + Using session f0c8192d-d39c-47ed-8e2a-2e6a582b04ee (user-1@trout.openmicroscopy.org:4064). Idle timeout: 10.0 min. Current group: private-1 + Total disk usage: 0 bytes in 0 files + component | size (bytes) | files + -----------+--------------+------- + (0 rows) + + +5. Now login as the user you were getting the disk usage report of in the previous step (e.g. user-10) and |C| that this user does have some data in OMERO by running ``bin/omero fs usage --report`` + + - |C| that the output of the command is non-zero, similar to following + + +:: + + + bin/omero fs usage --report + Using session e28b7bb6-6e10-4b2c-b500-1cae8a080320 (user-10@trout.openmicroscopy.org:4064). Idle timeout: 10.0 min. Current group: read-only-1 + Total disk usage: 29005429940 bytes in 3793 files + component | size (bytes) | files + --------------+--------------+------- + Pixels | 22496654484 | 1221 + FilesetEntry | 6470953311 | 947 + Thumbnail | 2839255 | 1246 + Job | 25343645 | 1 + OriginalFile | 4353 | 11 + Annotation | 57811983 | 829 + (6 rows) + + + + diff --git a/docs/testing_scenarios/DownloadExportDowngrade.rst b/docs/testing_scenarios/DownloadExportDowngrade.rst new file mode 100644 index 0000000..46e8a01 --- /dev/null +++ b/docs/testing_scenarios/DownloadExportDowngrade.rst @@ -0,0 +1,1331 @@ +.. contents:: + :depth: 2 + + +######################### +Download/Export/Downgrade +######################### + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the Download, Export and Downgrade features and the downloaded files - depending on whether archived image was created at import and whether this was an OMERO 5 import or OMERO 4 import. + +Note: if several images have to be downloaded a zip will be created (Web and Insight) - this might take couple of seconds with no warning. + + + +Download non-image files (both in OMERO 5 and OMERO 4) +====================================================== + +**To test in**: Web, Insight + + - Import an image with a companion file e.g. ``data_repo/test_images_good/dv/CFPNEAT01_R3D.dv`` (or see column "Extra information" in [:download:`here `]) + + - Select the image, go to the right-hand panel, Acquisition tab, Companion files, and (Insight only) left-click on icon to the right of the filename to see a menu. + + - |C| that you can see Info [:ref:`DownloadED001`][:ref:`DownloadED002`]and View the file + + - Download the Companion file [:ref:`DownloadED003`][:ref:`DownloadED004`] - open downloaded file in text editor, + - |C| that the size is not zero.[:ref:`DownloadED005`] + + - Download the metadata file created by OMERO i.e. ``original_metadata.txt`` [:download:`original_metadata.txt `] (Web only - Acquisition tab) [:ref:`DownloadED007`]. + + - Download the original metadata file using the menu item under the icon above right-hand pane (Insight only) [:ref:`DownloadED007b`]. + + - |C| the downloaded file [:download:`008 `]. + + - Download the companion files as well as original metadata both into your home directory as well as to your Desktop. + + +OMERO 4 Download/Export images +============================== + +**To test in**: Web, Insight + + - Import an image - tick the "Archive" option after putting it into the Queue [:ref:`DownloadED009`] (Insight only) + + - When the import is finished, select the image + + - Go to the right-hand panel General tab, + + - |C| that you see the image is shown as ``Archived`` in Insight [:ref:`DownloadED010a`]. + - in Insight, press the Saving icon (2nd from right) and choose Download.[:ref:`DownloadED010b`]. + - in Web click on the arrow in General tab [:ref:`DownloadED011`]. + - Download both into your home directory as well as to your Desktop. + - |C| that the image has correctly been downloaded [:ref:`DownloadED012`]. + - Re-import the image: import in Insight, but check in Web as well. + - |C| Compare the image originally imported and the re-imported image (check also the metadata) [:ref:`DownloadED013`]. + + - Import an image composed of several files, e.g. `test_images_good/lei/leica-original/050118.lei` - tick the "Archive" option after putting it into the Queue [:ref:`DownloadED009`] (Insight only). + + - Select the download option on the right-hand side. + - Download the image - a zip will be created [:ref:`DownloadED013b`]. + - Download both into your home directory as well as to your Desktop. + - |C| that the image has been downloaded correctly [:ref:`DownloadED013c`]. + - Re-import the image: import in Insight, but check in Web as well. + - Compare the image originally imported and the re-imported image (check also the metadata). + + + - Now Select an image which had the "Archive" option off at import. If not sure, re-import an image with the "Archive" option off. + - |C| that you see the image is not shown as ``Archived`` in Insight [:ref:`DownloadED013d`]. + - |C| that the Download option is not available neither in Insight (greyed out) [:ref:`DownloadED013e`] nor Web (menu item missing) [:ref:`DownloadED013f`]. + + +OMERO 5 Download/Export images (perform on OMERO 5 server with OMERO 5 imported data only database) +=================================================================================================== + +**To test in**: Web, Insight + + - OMERO 5-Single image + + - Import an image + - Select the download option on the right-hand side [:ref:`DownloadED010b`, :ref:`FSDownloadED011`] + - Download the image both into your home directory as well as to your Desktop. + - |C| that the image has been correctly downloaded [:ref:`DownloadED012`] + - Re-import the image.(import in Insight, but check in Web as well) + - Compare the image originally imported and the re-imported image (check also the metadata) [:ref:`DownloadED013`]. + + - OMERO 5-multi-image - repeat the "OMERO 5-Single image" step importing a multi-image file (e.g. `test_images_good/lei/leica-original/050118.lei`). + + - |C| that the whole multi-image fileset (MIF) has been downloaded. See [:ref:`DownloadED013p`]. + + + +Mixed OMERO 5 imported & OMERO 4 imported images Download/Export (this is to be performed on OMERO 5 server with a database consisting of OMERO 5 as well as OMERO 4 imported images) +=============================================================================================================================================================================================================== + +**To test in**: Web, Insight + + - Choosing images imported using OMERO 4 and skipping importing, go through + the "18.2 OMERO 4 Download/Export images:" step. The images have to have + been Archived during OMERO 4 import, look for example for Datasets like + ``archivedv``. + - Go through the "18.3 OMERO 5 Download/Export images" step. + + + +Downgrade +========= + +**To test in**: Web, Insight + +When performing the following steps, export both into your home directory as well as to your Desktop. + + - Select an image and go to the right-hand panel. + - Export the image as JPEG (Web & Insight) [:ref:`DownloadED016`, :ref:`DownloadED017`], PNG (Insight only), TIFF (Insight only) + + - |C| the result + + - Export the image as OME-TIFF [:ref:`DownloadED017b`, :ref:`DownloadED017c`] + + - for Web, just export and check the file - for Insight, see below + - (Insight only) |C| that when you select a single big image or select couple of images which consist of big and small images, the ``Export as OME-TIFF`` option is greyed out + - Export using the current schema:[:ref:`DownloadED018`] (Insight only) + + - |C| the exported file, + - |C| Open the file + - |C| the XML section the schema version should indicate the latest version e.g. 2012..[:ref:`DownloadED019`].-Do it from command line [tiffinfo command from libtiff library - download tiffinfo using Homebrew][:ref:`DownloadED020`] + + - Export using an older schema:(Insight only) + + - |C| the exported file + - |C| Open the file + - |C| the XML section, the schema version should match the selected schema.[:ref:`DownloadED021`] - Check from command line using tiffinfo + - Re-Import the exported files + - (OME-TIFF only) |C| that the re-import does not take longer than the import of the original file from which the ome-tiff was generated. + + + +Command line download +===================== + +#. Go to the command line, ``cd`` to your downloaded server and connect to the testing server (e.g. gretzky). and try to download files using following commands. + + - ``bin/omero download file_id target`` + - ``bin/omero download OriginalFile:file_id target`` + - ``bin/omero download FileAnnotation:fa_id target`` + - ``bin/omero download Image:image_id target`` + + - Using these commands, download + + - Multi-image filesets (MIFs), for example ``lei`` + - Archived pre-OMERO 5 images (look for example for Datasets like ``archivedv``). + - OMERO 5 imported images + - Original files/Companion files (of for example ``.dv`` files) + - File annotations + - |C| that the files are downloaded in the ``target`` file after each command. + + + + .. _DownloadED001: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/001.png + :align: center + + DownloadED001: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED002: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/002.png + :align: center + + DownloadED002: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED003: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/003.png + :align: center + :width: 100% + + DownloadED003 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED004: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/004.png + :align: center + + DownloadED004 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED005: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/005.png + :align: center + + DownloadED005 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED007: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/007.png + :align: center + + DownloadED007: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED007b: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/007b.png + :align: center + + DownloadED007b: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED009: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/009.png + :align: center + + DownloadED009: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED010: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/010.png + :align: center + + DownloadED010: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED010a: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/010a.png + :align: center + + DownloadED010a: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED010b: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/010b.png + :align: center + + DownloadED010b: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED011: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/011.png + :align: center + + DownloadED011 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _FSDownloadED011: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/FS011.png + :align: center + + FSDownloadED011 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED012: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/012.png + :align: center + + DownloadED012 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED013: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/013.png + :align: center + + DownloadED013 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED013b: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/013b.png + :align: center + + DownloadED013b + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED013c: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/013c.png + :align: center + + the screenshot shows the expected situation after 1st image of the 56 images of the ``050118.lei`` set was selected & downloaded + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED013d: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/013d.png + :align: center + + DownloadED013d + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED013e: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/013e.png + :align: center + + DownloadED013e + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED013f: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/013f.png + :align: center + + DownloadED013f + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED013p: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/013p.png + :align: center + + example of `test_images_good/lei/leica-original/050118.lei` when 1st image only was selected. + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED014: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/014.png + :align: center + + DownloadED014: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED015: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/015.png + :align: center + + DownloadED015: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED016: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/016.png + :align: center + + DownloadED016 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED017: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/017.png + :align: center + + DownloadED017: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED017b: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/017b.png + :align: center + + DownloadED017b: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED017c: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/017c.png + :align: center + + DownloadED017c: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + .. _DownloadED018: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/018.png + :align: center + + DownloadED018: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED019: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/019.png + :align: center + :width: 100% + + DownloadED019 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED020: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/020.png + :align: center + + DownloadED020 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _DownloadED021: + .. figure:: images/testing_scenarios/DownloadExportDowngrade/021.png + :align: center + :width: 110% + + DownloadED021 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + diff --git a/docs/testing_scenarios/Edit.rst b/docs/testing_scenarios/Edit.rst new file mode 100644 index 0000000..9eee6f1 --- /dev/null +++ b/docs/testing_scenarios/Edit.rst @@ -0,0 +1,999 @@ +Edit +==== + + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check that the entities are editable smoothly and that the edited/changed texts are being respected + +#. Edit project [:ref:`Edit001`], dataset [:ref:`Edit002`], image [:ref:`Edit003`], screen [:ref:`Edit004`], plate [:ref:`Edit005`], plate run [:ref:`Edit006`]. + + - Edit name (right panel, use pencil icon) [:ref:`Edit008`] + - Edit description + - |C| in Web, that the text you put in is escaped properly, this means for example enter special html signs (e.g. <>), or scripts (e.g. ''). The Web application should not interpret them but take them as entered + +#. Edit channels. + + - Edit channels of an Image + + Go to a dataset with images which have different number of channels (e.g. some images in the dataset will have 3 channels, some 5 channels). Select an image) + + - Edit a channel [:ref:`Edit001N`, :ref:`Edit001NWeb`, :ref:`Edit002N`, :ref:`Edit002NWeb`, :ref:`Edit002Nb`] + - |C| that when you try to paste very long string into the name box, the string is truncated at 255 characters. + - Click Save + - |C| that when doing this in Full Viewer in Insight, the channel name in the boxes to the left of the image [:ref:`Edit001NN`] are displayed in full when <7 characters. When >7 characters, the front of the name is truncated (the end is visible only in the box.) + - In the same image, edit channels again, this time click "Apply to All" + - |C| that the warning message is displayed [:ref:`Edit003N` :ref:`Edit003NWeb`]. + - Click Save (or "Continue" in Insight) and |C| that the changes were made only on images with the same number of channels, but NOT on images with different number of channels (e.g. only 3 channel images channel names are changed when a 3 channel image was selected, NO changes on 5 channel images in ANY of the channels) + - Edit channels again, click "Apply to All", then click Cancel and |C| that the original channel names are reset + - Open an image in Full Viewer, edit channels, make changes, click Save (Full Viewer is still open) [:ref:`Edit004N`, :ref:`Edit004NWeb`] and |C| that the changes are immediately displayed also in Full Viewer [:ref:`Edit005N`, :ref:`Edit005NWeb`] + + - Edit channels of a Plate + + Choose a plate, click on a well sample, edit the channels, make changes and click "Apply to All" [:ref:`Edit006N`, :ref:`Edit006NWeb`, :ref:`Edit006Nb`, :ref:`Edit006NbWeb`] + + + +#. Edit share (Web only) [:ref:`Edit009`][:ref:`Edit010`], + + + + .. _Edit001: + .. figure:: images/testing_scenarios/Edit/001.png + :align: center + + Edit001 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit002: + .. figure:: images/testing_scenarios/Edit/002.png + :align: center + + Edit002 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit003: + .. figure:: images/testing_scenarios/Edit/003.png + :align: center + + Edit003 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit004: + .. figure:: images/testing_scenarios/Edit/004.png + :align: center + + Edit004 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit005: + .. figure:: images/testing_scenarios/Edit/005.png + :align: center + + Edit005 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit006: + .. figure:: images/testing_scenarios/Edit/006.png + :align: center + + Edit006 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit008: + .. figure:: images/testing_scenarios/Edit/008.png + :align: center + + Edit008 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit009: + .. figure:: images/testing_scenarios/Edit/009.png + :align: center + + Edit009 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit010: + .. figure:: images/testing_scenarios/Edit/010.png + :align: center + + Edit010 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit001N: + .. figure:: images/testing_scenarios/Edit/001N.png + :align: center + + Edit001N + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit001NN: + .. figure:: images/testing_scenarios/Edit/001NN.png + :align: center + + Edit001NN + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit001NWeb: + .. figure:: images/testing_scenarios/Edit/001NWeb.png + :align: center + + Web client + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit002N: + .. figure:: images/testing_scenarios/Edit/002N.png + :align: center + + Edit002N + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit002NWeb: + .. figure:: images/testing_scenarios/Edit/002NWeb.png + :align: center + + Web Client + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit002Nb: + .. figure:: images/testing_scenarios/Edit/002Nb.png + :align: center + + 002Nb + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit003N: + .. figure:: images/testing_scenarios/Edit/003N.png + :align: center + + Edit003N + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit003NWeb: + .. figure:: images/testing_scenarios/Edit/003NWeb.png + :align: center + + Web Client + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit004N: + .. figure:: images/testing_scenarios/Edit/004N.png + :align: center + + Edit004N + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit004NWeb: + .. figure:: images/testing_scenarios/Edit/004NWeb.png + :align: center + + Web client + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit005N: + .. figure:: images/testing_scenarios/Edit/005N.png + :align: center + + Edit005N + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit005NWeb: + .. figure:: images/testing_scenarios/Edit/005NWeb.png + :align: center + + Web client + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit006N: + .. figure:: images/testing_scenarios/Edit/006N.png + :align: center + + 006N + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit006NWeb: + .. figure:: images/testing_scenarios/Edit/006NWeb.png + :align: center + + Web Client + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit006Nb: + .. figure:: images/testing_scenarios/Edit/006Nb.png + :align: center + + 006Nb + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Edit006NbWeb: + .. figure:: images/testing_scenarios/Edit/006NbWeb.png + :align: center + + Web Client b + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | diff --git a/docs/testing_scenarios/FSCheckFilePath.rst b/docs/testing_scenarios/FSCheckFilePath.rst new file mode 100644 index 0000000..22c2c26 --- /dev/null +++ b/docs/testing_scenarios/FSCheckFilePath.rst @@ -0,0 +1,90 @@ +FS Check Filepath +================= + + + +``To test in``: Web, Insight + +``Purpose``: Check the filepath to the image which is shown in clients in FS. + +#. Click on an image imported in FS. Go to the right-hand pane, tab "General". Click onto the filepath icon [:ref:`FSCheckFilePath001in`, :ref:`FSCheckFilePath002in`, :ref:`FSCheckFilePath002w`]. A table with the paths of the files associated with the chosen image will appear under the icon [:ref:`FSCheckFilePath003in`, :ref:`FSCheckFilePath003w`]. + +#. Go to the server and find the file according to the given filepath. + + + - Go to the server, directory `/OMERO/ManagedRepository/` :ref:`Example `. + - |C| that the path displayed in the clients and the filepath on the server match. + +#. Repeat steps 1 and 2 with multi-image file, like `lei`. + + + .. _FSCheckFilePath001in: + .. figure:: images/testing_scenarios/CheckFilePathFS/001in.png + :align: center + + CheckFilePath001Insight + + + .. _FSCheckFilePath002in: + .. figure:: images/testing_scenarios/CheckFilePathFS/002in.png + :align: center + + CheckFilePath002Insight + + + .. _FSCheckFilePath002w: + .. figure:: images/testing_scenarios/CheckFilePathFS/002w.png + :align: center + + CheckFilePath002Web + + + .. _FSCheckFilePath003in: + .. figure:: images/testing_scenarios/CheckFilePathFS/003in.png + :align: center + + CheckFilePath003Insight + + + .. _FSCheckFilePath003w: + .. figure:: images/testing_scenarios/CheckFilePathFS/003w.png + :align: center + + CheckFilePath003Web + + +.. _label-name2: + + :: + + omero@gretzky:~$ cd /OMERO/ManagedRepository/ + omero@gretzky:/OMERO/ManagedRepository$ cd user-4_5/2013-04/10/05-29-24.598 + omero@gretzky:/OMERO/ManagedRepository/user-4_5/2013-04/10/05-29-24.598$ ls -al + total 162732 + drwxr-xr-x 2 omero omero 4096 2013-04-10 05:29 . + drwxr-xr-x 17 omero omero 4096 2013-04-10 05:55 .. + -rw-r--r-- 1 omero omero 53420 2013-04-10 05:29 CMU-1.centerFocusObj + -rw-r--r-- 1 omero omero 53432 2013-04-10 05:29 CMU-1.centerScanObj + -rw-r--r-- 1 omero omero 43836 2013-04-10 05:29 CMU-1.FocalPlane + -rw-r--r-- 1 omero omero 126503 2013-04-10 05:29 CMU-1.FocalPlane-0 + -rw-r--r-- 1 omero omero 117871 2013-04-10 05:29 CMU-1.FocalPlane-1 + -rw-r--r-- 1 omero omero 125735 2013-04-10 05:29 CMU-1.FocalPlane-2 + -rw-r--r-- 1 omero omero 121178 2013-04-10 05:29 CMU-1.FocalPlane-3 + -rw-r--r-- 1 omero omero 136720 2013-04-10 05:29 CMU-1.FocalPlane-4 + -rw-r--r-- 1 omero omero 83714 2013-04-10 05:29 CMU-1.FocalPlane-5 + -rw-r--r-- 1 omero omero 153 2013-04-10 05:29 CMU-1.FocalPlane-draw + -rw-r--r-- 1 omero omero 355290 2013-04-10 05:29 CMU-1.Full + -rw-r--r-- 1 omero omero 13657 2013-04-10 05:29 CMU-1.hist + -rw-r--r-- 1 omero omero 949624 2013-04-10 05:29 CMU-1.ROI + -rw-r--r-- 1 omero omero 27 2013-04-10 05:29 CMU-1.ROI-draw + -rw-r--r-- 1 omero omero 328487 2013-04-10 05:29 CMU-1.Safe + -rw-r--r-- 1 omero omero 14 2013-04-10 05:29 CMU-1.sld + -rw-r--r-- 1 omero omero 1793 2013-04-10 05:29 CMU-1.slt + -rw-r--r-- 1 omero omero 35 2013-04-10 05:29 CMU-1.slx + -rw-r--r-- 1 omero omero 163649046 2013-04-10 05:29 CMU-1.tif + -rw-r--r-- 1 omero omero 319488 2013-04-10 05:29 CMU-1.tif-0b + -rw-r--r-- 1 omero omero 79872 2013-04-10 05:29 CMU-1.tif-1b + -rw-r--r-- 1 omero omero 19968 2013-04-10 05:29 CMU-1.tif-2b + + + Example of a filepath - command line output diff --git a/docs/testing_scenarios/FSDelete.rst b/docs/testing_scenarios/FSDelete.rst new file mode 100644 index 0000000..2a46a9c --- /dev/null +++ b/docs/testing_scenarios/FSDelete.rst @@ -0,0 +1,155 @@ +FS Delete +========= + + + +``Test in``: Web, Insight + +``Purpose``: Check the Delete function on all entities (except ROI). + +.. only:: html + + **Download both Gretzky and Howe builds and compare the speed of the workflow on the same images on Gretzky vs Howe. Test ALL images and plates pre-loaded on Gretzky and Howe, see:** + `FS testing table `_ + +.. only:: latex + + **Compare the speed of the workflow on the same images on FS-demo build vs non-FS build (the most recent non-FS release).** + +#. In the DataManager: + + - Delete Ratings (Insight only) + - Delete Comments (right-hand pane). + - Delete Attachments [:ref:`FSdelete001`][:ref:`FSdelete002`] (left-hand pane in Insight, right-hand pane in Web). + - Delete Tags [:ref:`FSdelete003`][:ref:`FSdelete004`] (left-hand pane). + +#. Delete P/D/I/Screen/Plate [:ref:`FSdelete005`][:ref:`FSdelete006`][:ref:`FSdelete007`][:ref:`FSdelete008`]. + +#. Import an image rich in metadata (e.g. ``zvi``) and delete it. + +#. Import a multi-image fileset (= MIF, for example `lei` or ``lif`` = ``Leica`` and ``Leica Image File Format``). Choose one image of the MIF only and press Delete. + + - |C| that the action does not proceed [:ref:`FSdelete009`, :ref:`FSdelete010`]. + - NB: You cannot delete just a part of a MIF, you have to select the whole MIF in order for the action to go through. + +#. Choose all the images in the MIF and try to Delete them. + + - |C| that this time the Delete action proceeds successfully [:ref:`FSdelete011`, :ref:`FSdelete012`]. + +#. Create a new dataset, cut one of the images of the MIF and paste it into the newly created dataset. Select the original dataset (with all the MIF images minus one). Try to delete it. + + - |C| that the action does not proceed [:ref:`FSdelete013`, :ref:`FSdelete014`]. + +#. Cut and paste the image you manipulated in the last step back into the original dataset -> the MIF should now be complete. Select the dataset with the complete MIF and try to delete it. + + - |C| that this time the Delete action proceeds successfully [:ref:`FSdelete015`, :ref:`FSdelete016`]. + +.. _FSdelete001: +.. figure:: images/testing_scenarios/Delete/001.png + :align: center + + FSdelete001 + + +.. _FSdelete002: +.. figure:: images/testing_scenarios/Delete/002.png + :align: center + + FSdelete002 + + +.. _FSdelete003: +.. figure:: images/testing_scenarios/Delete/003.png + :align: center + + FSdelete003 + + +.. _FSdelete004: +.. figure:: images/testing_scenarios/Delete/004.png + :align: center + + FSdelete004 + + +.. _FSdelete005: +.. figure:: images/testing_scenarios/Delete/005.png + :align: center + + FSdelete005 + + +.. _FSdelete006: +.. figure:: images/testing_scenarios/Delete/006.png + :align: center + + FSdelete006 + + +.. _FSdelete007: +.. figure:: images/testing_scenarios/Delete/007.png + :align: center + + FSdelete007 + + +.. _FSdelete008: +.. figure:: images/testing_scenarios/Delete/008.png + :align: center + + FSdelete008 + +.. _FSdelete009: +.. figure:: images/testing_scenarios/Delete/009.png + :align: center + + FSdelete009 + +.. _FSdelete010: +.. figure:: images/testing_scenarios/Delete/010.png + :align: center + + FSdelete010 + + +.. _FSdelete011: +.. figure:: images/testing_scenarios/Delete/011.png + :align: center + + FSdelete011 + + +.. _FSdelete012: +.. figure:: images/testing_scenarios/Delete/012.png + :align: center + + FSdelete012 + + +.. _FSdelete013: +.. figure:: images/testing_scenarios/Delete/013.png + :align: center + + FSdelete013 + + +.. _FSdelete014: +.. figure:: images/testing_scenarios/Delete/014.png + :align: center + + FSdelete014 + + +.. _FSdelete015: +.. figure:: images/testing_scenarios/Delete/015.png + :align: center + + FSdelete015 + + +.. _FSdelete016: +.. figure:: images/testing_scenarios/Delete/016.png + :align: center + + FSdelete016 + diff --git a/docs/testing_scenarios/FSImportFileFormatsTesting.rst b/docs/testing_scenarios/FSImportFileFormatsTesting.rst new file mode 100644 index 0000000..dd33261 --- /dev/null +++ b/docs/testing_scenarios/FSImportFileFormatsTesting.rst @@ -0,0 +1,81 @@ +FS Import File Formats Testing +============================== + + + +``Test in``: Insight + +``Purpose``: Check the import of various file formats and ability to report failures correctly. + +.. only:: html + + + For FS demo, the formats highlighted as "must" should be imported - see here for further info: + `FS testing table `_ + +.. only:: latex + +**Compare the speed of the workflow on the same images on FS-demo build vs non-FS build (the most recent non-FS release).** + + +#. Note any special cases for the file format. These will be in the spreadsheet. + +#. Import the files for this format. + + - Note that some formats have special import requirements--please check first! + - |C| for any import failures, and take a copy of any exceptions + (= import failure reasons in the "Failed" button window) + or other failures [:ref:`FSImportFileFT002`, :ref:`FSImportFileFT003`, :ref:`FSImportFileFT004`]. + - |C| that all files have been copied in all cases, including import failure case. + - |C| each imported image visually for the following features: + - All images have thumbnails. Note that big images may take some time to generate thumbnails following import, showing clock placeholder [:ref:`FSImportFileFT005`]. + - All image planes are visible, and that the correct number of planes are in each dimension (check the metadata pane) [:ref:`FSImportFileFT006`] and are of the correct size. + - All ROIs (if any) are present and in the correct place [:ref:`FSImportFileFT007`]. + + + + + + +.. _FSImportFileFT002: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/002pub.png + :align: center + + FSImportFileFT002 + + +.. _FSImportFileFT003: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/003.png + :align: center + + FSImportFileFT003 + + +.. _FSImportFileFT004: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/004.png + :align: center + + FSImportFileFT004 + + +.. _FSImportFileFT005: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/005pub.png + :align: center + + FSImportFileFT005 + + +.. _FSImportFileFT006: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/006.png + :align: center + + FSImportFileFT006 + + +.. _FSImportFileFT007: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/007.png + :align: center + + FSImportFileFT007 + + diff --git a/docs/testing_scenarios/FSImportUI.rst b/docs/testing_scenarios/FSImportUI.rst new file mode 100644 index 0000000..090ef9f --- /dev/null +++ b/docs/testing_scenarios/FSImportUI.rst @@ -0,0 +1,311 @@ +FS Import (UI) +============== + + + +``Test in``: Insight + +``Purpose``: Check all the features of Importer UI as started from Insight + + +**Compare the speed of the workflow on the same images on FS-demo build vs non-FS build (the most recent non-FS release).** + +#. Select single image files + + - Add them to the queue by pressing the ">" control. + - Select "New From Folder" option [:ref:`FSImportUI001`] when choosing where to import the images. + - |C| that a new Dataset will be created with the name of the folder. + - |C| that the icon of the Dataset (right-hand side of the Import window) is light blue, not plum color as for Project [:ref:`FSImportUI002`] + - Click import. + - Go to the DataManager. + + - |C| that the wheel in the toolbar is spinning while there are imports in progress [:ref:`FSImportUI004b`] + - |C| that the number next to green tick is incremented when an import is finished successfully. + + - Still in Data Manager (left-hand side), hit the refresh button + - |C| that only one dataset is created. [:ref:`FSImportUI003`] + +#. Repeat (1) this time selecting a whole folder to import. [:ref:`FSImportUI004`]. + + - |C| that the counter in toolbar of Data Manager (right-hand side) counts the imported files correctly [:ref:`FSImportUI004b`]. + + - |C| that only one dataset was created for the imported folder. + - Import again another folder and check that again just one dataset was created and no duplicate imports or re-imports of the previous folder occurred. + +#. Repeat (1) this time not selecting "New From Folder" but creating a new Project and Dataset at import stage [:ref:`FSImportUI004c`, :ref:`FSImportUI004d`]. + +#. Duplicate and Companion File: Select a dv image and its log file + + - Add both files to the import queue + - Click import + - |C| that you get a message indicating that the log file is a duplicate, i.e. that this file has been already imported in this transaction + - |C| that the import of the duplicate does not proceed (in this transaction) + - |C| that the counter in the Toolbar of the Data Manager is not counting the skipped files as ``Imported`` + - |C| the Companion File: + + - Go to Data Manager, right-hand pane, Acquisition tab + - |C| that the first harmonica tab is ``Companion file`` (NOT ``Original Metadata``) + - Expand the ``Companion file`` harmonica tab and check the file is there + +#. Upload. + + - import several images in one transaction, making sure you have images with long ``processing`` times, for example ``.lif`` files + - |C| that the import of the files in the queue starts immediately after the upload of the previous file is finished + - |C| that the size in the header of the importer window changes after each import + +#. Cancelling: + + - Cancel a single running import using ``Cancel`` button. + - |C| that only this particular import has been cancelled + - Cancel all imports using ``Cancel All`` button + - |C| that you get warning popup. + - Click ``Yes`` in the popup. + - |C| that all the imports where the upload did not start yet are cancelled + - |C| that after everything is imported or cancelled the spinners stop both in Importer and Data Manager. + - Repeat step 6 when importing a whole folder + +#. Tag at import (for permissions testing, tag with tags belonging to other users) + + - Select at least 2 images. + - Go to the "options" tab (the second tab when selecting the import location).[:ref:`FSImportUI005`] + - Create a new tag + - Import the images. + - Go to the DataManager (left-hand side). Refresh + - |C| that the images are tagged and the tag is shown on thumbnails [:ref:`FSImportUI006`][:ref:`FSImportUI007`] + - |C| and the tag is created once. [:ref:`FSImportUI008`] + +#. Repeat (3) and this time (for permissions testing, tag with tags belonging to other users) + + - Create a new tag and add an existing tag.[:ref:`FSImportUI009`] + - Import the images + - Go to the DataManager (left-hand side). Refresh, + - |C| that the images are tagged and the tag is shown on thumbnails + - |C| that the tag is created once + - |C| that no new tag is created with the name of an existing tag. + +#. In the Location dialog, press the Screen button [:ref:`FSImportUI011`] + +#. Import a Plate + + - not Creating new Screen at import stage [:ref:`FSImportUI011b`] + - Creating a new Screen to import the plate to at import stage [:ref:`FSImportUI011c`] + + + +#. When the import is done, + + |C|: + + - in the Importer window: + + - the thumbnail(s) have been created [:ref:`FSImportUI012`]. + - when you hover over thumbnail(s), a larger thumbnail view pops up [:ref:`FSImportUI012b`]. + - clicking on the thumbnail(s) opens the image in Viewer. In case of a multi-image file [:ref:`FSImportUI013b`], Click on every thumbnail in the row. + + - in the ``View`` menu in Importer window: [:ref:`FSImportUI013c`]. + + - the ``In Full Viewer`` item opens the image in viewer + - the ``In Data Browser`` item brings you to the image in data tree in Data Manager + - the ``View Import Log`` item shows the Log file [:ref:`FSImportUI013d`, :ref:`FSImportUI013e`] + - the ``Checksum`` item opens the checksum popup [:ref:`FSImportUI013f`] + +#. Import a folder with an image which will fail into a non-default group (you have to switch the group actively) and after it failed + + |C|: + + - the import log appears after you go ``Failed > View Import Log``. + - the ``Checksum`` item opens the checksum popup [:ref:`FSImportUI013f`] + + + + + + + + .. _FSImportUI001: + .. figure:: images/testing_scenarios/ImportUI/001.png + :align: center + :width: 100% + + ImportUI001 + + + + + .. _FSImportUI002: + .. figure:: images/testing_scenarios/ImportUI/002.png + :align: center + + ImportUI002 + + + + + .. _FSImportUI003: + .. figure:: images/testing_scenarios/ImportUI/003.png + :align: center + + ImportUI003 + + + + + .. _FSImportUI004: + .. figure:: images/testing_scenarios/ImportUI/004.png + :align: center + :width: 100% + + ImportUI004 + + + + + .. _FSImportUI004b: + .. figure:: images/testing_scenarios/ImportUI/004b.png + :align: center + :width: 100% + + ImportUI004b + + + + + .. _FSImportUI004c: + .. figure:: images/testing_scenarios/ImportUI/004c.png + :align: center + :width: 100% + + ImportUI004c + + + + .. _FSImportUI004d: + .. figure:: images/testing_scenarios/ImportUI/004d.png + :align: center + :width: 100% + + ImportUI004d + + + + .. _FSImportUI005: + .. figure:: images/testing_scenarios/ImportUI/005.png + :align: center + + ImportUI005 + + + .. _FSImportUI006: + .. figure:: images/testing_scenarios/ImportUI/006.png + :align: center + + ImportUI006 + + + .. _FSImportUI007: + .. figure:: images/testing_scenarios/ImportUI/007.png + :align: center + + ImportUI007 + + + + .. _FSImportUI008: + .. figure:: images/testing_scenarios/ImportUI/008.png + :align: center + + ImportUI008 + + + + .. _FSImportUI009: + .. figure:: images/testing_scenarios/ImportUI/009.png + :align: center + + ImportUI009 + + .. _FSImportUI011: + .. figure:: images/testing_scenarios/ImportUI/011.png + :align: center + + ImportUI011 + + + .. _FSImportUI011b: + .. figure:: images/testing_scenarios/ImportUI/011b.png + :align: center + + ImportUI011b + + + + .. _FSImportUI011c: + .. figure:: images/testing_scenarios/ImportUI/011c.png + :align: center + + ImportUI011c + + + + .. _FSImportUI012: + .. figure:: images/testing_scenarios/ImportUI/012.png + :align: center + + ImportUI012 + + + + .. _FSImportUI012b: + .. figure:: images/testing_scenarios/ImportUI/012b.png + :align: center + + ImportUI012b + + + .. _FSImportUI013: + .. figure:: images/testing_scenarios/ImportUI/013.png + :align: center + + ImportUI013 + + + .. _FSImportUI013b: + .. figure:: images/testing_scenarios/ImportUI/013b.png + :align: center + + ImportUI013b + + + + + .. _FSImportUI013c: + .. figure:: images/testing_scenarios/ImportUI/013c.png + :align: center + + ImportUI013c + + + + + .. _FSImportUI013d: + .. figure:: images/testing_scenarios/ImportUI/013d.png + :align: center + + ImportUI013d + + + + .. _FSImportUI013e: + .. figure:: images/testing_scenarios/ImportUI/013e.png + :align: center + + ImportUI013e + + + .. _FSImportUI013f: + .. figure:: images/testing_scenarios/ImportUI/013f.png + :align: center + + ImportUI013f + + diff --git a/docs/testing_scenarios/FSRender.rst b/docs/testing_scenarios/FSRender.rst new file mode 100644 index 0000000..e9b392e --- /dev/null +++ b/docs/testing_scenarios/FSRender.rst @@ -0,0 +1,96 @@ +FS Render +========= + + + +``Test in``: Web, Insight + +``Purpose``: To make sure rendering is smooth and changes are applied consistently to all visualizations of the images and all the options of rendering are functional. + +.. only:: html + + + **Download both Gretzky and Howe builds and compare the speed of the workflow on the same images on Gretzky vs Howe. Test ALL images pre-loaded on Gretzky and Howe, see:** + `FS testing table `_ + +.. only:: latex + + **Compare the speed of the workflow on the same images on FS-demo build vs non-FS build (the most recent non-FS release).** + + + +#. Copy settings from an image (right-click on the thumbnail in central pane - Insight only) [:ref:`FSRender001`]. + +#. Select a collection of images and paste settings [:ref:`FSRender002`] (Insight only). + + - |C| that the thumbnails in the central pane are updated. + +#. Reset default settings [:ref:`FSRender003`] (Web - in Full Viewer only, for one image). + + - |C| that thumbnails in the central pane are updated. + +#. Set min/max settings (Insight only). + + - |C| that thumbnails in the central pane are updated. + +#. Set owner's settings (Insight only). + + - |C| that thumbnails in the central pane are updated [:ref:`FSRender004`]. + +#. If applicable (does not work for Big images): + + - Open an image belonging to another user. + - Modify the settings in the "Preview" pane on the right [:ref:`FSRender005`]. Save your own using the "Apply" icon (Insight). or Save button (Web) [:ref:`FSRender007`]. + - |C| that thumbnails in the central pane are updated. + +#. Repeat the steps 1 - 5. with Big Images. + + + + .. _FSRender001: + .. figure:: images/testing_scenarios/Render/001.png + :align: center + + FSRender001 + + + .. _FSRender002: + .. figure:: images/testing_scenarios/Render/002.png + :align: center + + FSRender002 + + + .. _FSRender003: + .. figure:: images/testing_scenarios/Render/003.png + :align: center + + FSRender003 + + + .. _FSRender004: + .. figure:: images/testing_scenarios/Render/004.png + :align: center + + FSRender004 + + + .. _FSRender005: + .. figure:: images/testing_scenarios/Render/005.png + :align: center + + FSRender005 + + + .. _FSRender006: + .. figure:: images/testing_scenarios/Render/006.png + :align: center + + FSRender006 + + + .. _FSRender007: + .. figure:: images/testing_scenarios/Render/007.png + :align: center + + FSRender007 diff --git a/docs/testing_scenarios/FSScreenPlateWell.rst b/docs/testing_scenarios/FSScreenPlateWell.rst new file mode 100644 index 0000000..6bc65a9 --- /dev/null +++ b/docs/testing_scenarios/FSScreenPlateWell.rst @@ -0,0 +1,118 @@ +FS Screen/Plate/Well +==================== + + + +``Test in``: Web, Insight + +``Purpose``: Check a plate/screen (with multiple Fields per well) import and viewing. + +.. only:: html + + **Download both Gretzky and Howe builds and compare the speed of the workflow on the same images on Gretzky vs Howe. Test ALL plates pre-loaded on Gretzky and Howe, see:** + `FS testing table `_ + +.. only:: latex + + **Compare the speed of the workflow on the same images on FS-demo build vs non-FS build (the most recent non-FS release).** + + + + +#. Double-click on Plate or Plate Run. + + - Both actions should load the thumbnails of the plate images in the central panel [:ref:`FSspw002`, :ref:`FSspw003`]. + +#. Double-click on a well/field to open the viewer [:ref:`FSspw004`, :ref:`FSspw005`]. + +#. Select a new Field in the dropdown menu above the central panel [:ref:`FSspw006`]. + + - All thumbnails should be updated. + +#. Toggle on and off the icon allowing you to magnify a thumbnail while mousing over it [:ref:`FSspw007`] (Insight only). + +#. Open the view of all Fields - icon to the left of field choice menu, above central panel [:ref:`FSspw008`] (Insight only). + + - Select "Spatial" view [:ref:`FSspw009`][:ref:`FSspw010`]. + - |C| that the spatial relation of the fields is displayed properly. + - Select "As a row" view [:ref:`FSspw011`]. + + + .. _FSspw001: + .. figure:: images/testing_scenarios/ScreenPlateWell/001.png + :align: center + + FSspw001 + + + .. _FSspw002: + .. figure:: images/testing_scenarios/ScreenPlateWell/002.png + :align: center + :width: 100% + + FSspw002 + + + .. _FSspw003: + .. figure:: images/testing_scenarios/ScreenPlateWell/003.png + :align: center + :width: 100% + + FSspw003 + + + .. _FSspw004: + .. figure:: images/testing_scenarios/ScreenPlateWell/004pub.png + :align: center + :width: 100% + + FSspw004 + + + .. _FSspw005: + .. figure:: images/testing_scenarios/ScreenPlateWell/005pub.png + :align: center + + FSspw005 + + + .. _FSspw006: + .. figure:: images/testing_scenarios/ScreenPlateWell/006.png + :align: center + + FSspw006 + + + .. _FSspw007: + .. figure:: images/testing_scenarios/ScreenPlateWell/007.png + :align: center + + FSspw007 + + + .. _FSspw008: + .. figure:: images/testing_scenarios/ScreenPlateWell/008.png + :align: center + + FSspw008 + + + .. _FSspw009: + .. figure:: images/testing_scenarios/ScreenPlateWell/009.png + :align: center + + FSspw009 + + + .. _FSspw010: + .. figure:: images/testing_scenarios/ScreenPlateWell/010.png + :align: center + + FSspw010 + + + .. _FSspw011: + .. figure:: images/testing_scenarios/ScreenPlateWell/011pub.png + :align: center + + FSspw011 diff --git a/docs/testing_scenarios/FSViewBigImage.rst b/docs/testing_scenarios/FSViewBigImage.rst new file mode 100644 index 0000000..6060da6 --- /dev/null +++ b/docs/testing_scenarios/FSViewBigImage.rst @@ -0,0 +1,67 @@ +FS View Big Image +================= + +``Test in``: Web, Insight + +``Purpose``: Check viewing/rendering of large images (tiles, bird's eye features) for FS demo. Concentrate on performance. + +.. only:: html + + **Download both Gretzky and Howe builds and compare the speed of the workflow on the same images on Gretzky vs Howe. Test ALL Big images pre-loaded on Gretzky and Howe, see:** + `FS testing table `_ + +.. only:: latex + + **Compare the speed of the workflow on the same images on FS-demo build vs non-FS build (the most recent non-FS release).** + + + +#. Open a large image. + + - |C| that location in the bird's eye view (the red square in the insert in the lower-right corner) corresponds to the image part shown in the main window [:ref:`FSViewBig001`][:ref:`FSViewBig002`]. + - Move the red square in the bird's eye view. + - Pan. + - |C| the tile loading. + +#. Modify the resolution level using slider on the left (Insight) [:ref:`FSViewBig004`] or `+`, `-` signs on the left-hand side of the image (Web) [:ref:`FSViewBig005`]. + + - |C| the tile loading. + +#. Modify rendering settings [:ref:`FSViewBig006`]. + + + .. _FSViewBig001: + .. figure:: images/testing_scenarios/ViewBigImage/001pub.png + :align: center + :width: 100% + + FSViewBig001 + + + .. _FSViewBig002: + .. figure:: images/testing_scenarios/ViewBigImage/002pub.png + :align: center + + FSViewBig002 + + + .. _FSViewBig004: + .. figure:: images/testing_scenarios/ViewBigImage/004.png + :align: center + + FSViewBig004 + + + .. _FSViewBig005: + .. figure:: images/testing_scenarios/ViewBigImage/005.png + :align: center + + FSViewBig005 + + + .. _FSViewBig006: + .. figure:: images/testing_scenarios/ViewBigImage/006pub.png + :align: center + :width: 100% + + FSViewBig006 diff --git a/docs/testing_scenarios/FSViewImage.rst b/docs/testing_scenarios/FSViewImage.rst new file mode 100644 index 0000000..7b692ba --- /dev/null +++ b/docs/testing_scenarios/FSViewImage.rst @@ -0,0 +1,124 @@ +FS View Image +============= + + + +``Test in``: Web, Insight + +``Purpose``: View "small" images and concentrate on projection and performance. + +.. only:: html + + **Download both Gretzky and Howe builds and compare the speed of the workflow on the same images on Gretzky vs Howe. Test ALL "small" images pre-loaded on Gretzky and Howe, see:** + `FS testing table `_ + +.. only:: latex + + **Compare the speed of the workflow on the same images on FS-demo build vs non-FS build (the most recent non-FS release).** + + + +#. Turn on/off channels, use z-slider and t-slider and play channels movie and z/t movie. + +#. Go to the split-view (= multi-channel in Web). Turn channels on/off, use the z and t-sliders. + +#. Toggle back between views. + +#. Turn on/off color/grayscale + +#. Modify the rendering settings. + +#. Click on Projection tab if enabled:[:ref:`FSView002`] - in Web, click on "Max Intensity" instead + + - Preview the projection [:ref:`FSView002`] (Insight only) + - Change the projection range (Insight only). + - Change the projection type (Maximum or Mean - double arrow menu + next to "Intensity") [:ref:`FSView003`] (Insight only). + - Project the image.[:ref:`FSView004`][:ref:`FSView005`] (Insight only) + - |C| the result [:ref:`FSView006`] (Insight; Web - the result will appear in the full viewer window after click on "Max Intensity") + +#. Save as (Insight only): + + - JPEG, PNG - use the icon in the projection window, see [:ref:`FSView007`][:ref:`FSView008`] + - Save split channels.[:ref:`FSView008`] + - Save with all channels turned off. + - |C| the saved files. + +#. Import a multi-image fileset ( = MIF, for example ``lei``). Select one or more image(s) of the MIF in the central pane [:ref:`FSView009`] + + - |C| that you see the other images belonging to the same MIF being indicated by a lighter highlight [:ref:`FSView010`, :ref:`FSView011`]. + + + .. _FSView002: + .. figure:: images/testing_scenarios/ViewImage/002.png + :align: center + + FSView002 + + + .. _FSView003: + .. figure:: images/testing_scenarios/ViewImage/003.png + :align: center + + FSView003 + + + .. _FSView004: + .. figure:: images/testing_scenarios/ViewImage/004.png + :align: center + + FSView004 + + + .. _FSView005: + .. figure:: images/testing_scenarios/ViewImage/005.png + :align: center + + FSView005 + + + .. _FSView006: + .. figure:: images/testing_scenarios/ViewImage/006.png + :align: center + + + FSView006 + + + .. _FSView007: + .. figure:: images/testing_scenarios/ViewImage/007.png + :align: center + + FSView007 + + + .. _FSView008: + .. figure:: images/testing_scenarios/ViewImage/008.png + :align: center + + + FSView008 + + .. _FSView009: + .. figure:: images/testing_scenarios/ViewImage/009.png + :align: center + + + FSView009 + + .. _FSView010: + .. figure:: images/testing_scenarios/ViewImage/010.png + :align: center + + + FSView010 + + .. _FSView011: + .. figure:: images/testing_scenarios/ViewImage/011.png + :align: center + + + FSView011 + + + diff --git a/docs/testing_scenarios/FileFormatMetadataValidation.rst b/docs/testing_scenarios/FileFormatMetadataValidation.rst new file mode 100644 index 0000000..af9804b --- /dev/null +++ b/docs/testing_scenarios/FileFormatMetadataValidation.rst @@ -0,0 +1,22 @@ +File Format Metadata Validation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**To test in**: Insight + +**Purpose of the test** is to check the Annotate ability (creating as well as viewing) for P/D/I/Plates/Plate Acquisitions + + +**Prerequisites** open the following metadata excel spreadsheets: + + ``test_images_good/leica-lif/Original Metadata - free edge 6.xls`` + ``test_images_good/lei/leica-original/Original Metadata - 050118_07-01-a_ch00.xls`` + ``test_images_good/zeiss-lsm/Original Metadata - 2chZT.xls`` + ``test_images_good/sis/glen/Original Metadata - CG 3.31 10K.xls`` + +#. Import each of the following file formats + + - lif/free-edge 6.lif + - lei/050118.lei + - zeiss-lsm/2chZT.lsm + - /sis/glen/CG 3.31 10K.tif + - |C| compare the metadata values in Insight of each file format with the values shown in each of the excel spreadsheets diff --git a/docs/testing_scenarios/GeneralRelease.rst b/docs/testing_scenarios/GeneralRelease.rst new file mode 100644 index 0000000..c104835 --- /dev/null +++ b/docs/testing_scenarios/GeneralRelease.rst @@ -0,0 +1,282 @@ +.. contents:: + :depth: 2 + + +############### +General Release +############### + + +**Purpose of the test** is to make sure the particular application on the release day is built correctly, starts, connects and opens an image as expected (when applicable). + +**Click onto the application you are assigned to test in the Contents above** + + + +OMERO.clients +============= + +#. Download and open the application and login as any user + + - (all platforms) |C| other Ice versions of OMERO.insight*.zip files on artifacts page. + - (all platforms) |C| one of the OMERO.importer*.zip files on artifacts page + - (Windows only) |C| that there is no "exe4j" popup prior to Insight splashscreen. + - (all platforms) |C| that the application starts and you can log in. + - (all platforms, Insight only) |C| that you can expand a dataset and open an image with multi-z (Choose one of the ``.dv`` images in datasets named like ``archived dv`` or ``non-archived dv`` - present in almost every user/group.) + - (all platforms, Insight only) |C| that you can click onto the Projection tab in the opened image. + - (all platforms) |C| that you can execute any script. + - (all platforms) |C| that you can delete the image. + + + +IJ/Fiji Plugin +============== + +#. Follow :doc:`InsightasPluginImageJFiji` + + +OMERO.server +============ + +#. Download the appropriate OMERO.server*.zip and unzip the downloaded file. +#. Configure the server. +#. Start the server and the web server. + + - |C| that the server starts as expected. + +#. Download and open OMERO.insight and go to the appropriate port address in your web browser to login to OMERO.web. +#. Login in OMERO.insight and OMERO.web connecting to the server you just started. + + - |C| that the clients connect to the server and login is successful. + - |C| that DropBox imports a file successfully + - |C| that you can execute (any) script using (any) client + + +OMERO.matlab toolbox +==================== + +#. Install Matlab (development). + +#. In order to be able to execute the testing commands in Matlab, perform the necessary steps in the workflow described in :omerodoc:`Matlab docs ` using the build indicated in the Standup Notes. Then, execute in Matlab (``hostname``, ``username``, ``password`` and ``imageID`` needs to be substituted by valid values):: + + client = loadOmero(hostname); + % to use a different port than the default one. + % client = loadOmero(hostname, port); + session = client.createSession(username, password); + image = getImages(session, imageID); + plane = getPlane(session, image, 0, 0, 0); + datasets = getDatasets(session); + figure; imshow(plane, []); + client.closeSession(); + +#. After you have executed the above commands, + + - |C| that all 7 commands executed without errors. + - |C| that after ``figure; imshow(plane, []);`` the image is displayed in Matlab. + +#. Go to :omerodoc:`Matlab docs ` and find the paragraph ``Create a Dataset...`` under ``Writing`` section. Follow the commands to create a Dataset and link it to a Project. + + - |C| that a Dataset was created. + +#. Go to :omerodoc:`Matlab docs ` and find the paragraph ``Creating ROI`` under ``ROIs`` section. Follow the commands to create a ROI and link it to an Image. + + - |C| that a ROI was created. + +#. Go to :omerodoc:`Matlab docs ` and find the section ``Deleting data``. Follow the commands to Delete an Image, a Dataset and a Project. + + - |C| that the I/D/P was deleted. + + +OMERO Virtual Appliance +======================= + +#. This section is only valid for testing versions prior to 5.2.2. + +#. Follow the `Virtual Appliance docs `_ to get the Virtual Appliance started - skip the steps as appropriate in case you have already installed Virtual Box. + +#. Start OMERO.insight and OMERO.web as described in the docs and try to login. + + - |C| that Insight and Web start okay and you can login successfully. + - |C| that you can import and then open a small image (any small image will do). + +Bio-Formats MATLAB/Octave +========================= + +.. warning:: + Milestone or SNAPSHOT versions cannot be tested using the version of GNU + Octave installed by the Ubuntu 16.04 package manager (4.0.x) as only versions + of the format x.y.z are accepted by the implementation + (https://wiki.octave.org/OEP:pkg#version_definition). + +**System installation** + +#. Install MATLAB or GNU Octave on your operating system using the appropriate + downloads or package manager. + +#. Install the :bf_doc:`Bio-Formats MATLAB toolbox ` or the + :bf_doc:`Bio-Formats Octave package `. + +#. Download one of our :modeldoc:`sample images `. + Alternatively, use any small image on your local disk or on squig. + +#. Follow the instructions :bf_doc:`here ` up to + and including the section ``Displaying images``. + + - |C| that the image opens as expected. + +#. Set the root logger to `DEBUG` level:: + + loci.common.DebugTools.setRootLevel('DEBUG'); + +#. Reopen the image using the same commands as previously. + + - |C| that the amount of logging increases in the MATLAB command prompt. + +**Docker (GNU Octave only)** + +#. Clone https://github.com/openmicroscopy/bio-formats-octave-docker, update + the ``VERSION`` argument and build the Docker image:: + + $ docker build -t bio-formats-octave . + +#. Download one of our :modeldoc:`sample images `. + Alternatively, use any small image on your local disk or on squig. + +#. Run the :file:`travis_test.m` on the image e.g.:: + + $ docker run -ti -v /data/:/data/ bio-formats-octave travis_test.m /data/tubhiswt-2D/tubhiswt_C0.ome.tif + + - |C| that the image opens as expected. + - |C| that the amount of logging increases in the second execution. + +Bio-Formats: ImageJ/Fiji testing +================================ + +ImageJ +------ + +#. Use ImageJ for this section, not Fiji. + +#. Remove any previous ``bioformats_package.jar`` or ``loci_tools.jar`` files from your ImageJ Plugins folder. Put the freshly downloaded ``bioformats_package.jar`` into the Plugins folder of ImageJ and start ImageJ. + + - |C| that there is a ``LOCI`` menu item under the ``Plugins`` menu and when you select it, the submenu asks you to use ``Bio-Formats`` menu. + - |C| that there is a ``Bio-Formats`` menu item under the ``Plugins`` menu. + +#. Select ``Plugins`` > ``Bio-Formats`` > ``Bio-Formats Importer`` and import a small image (any small image will do). + + - |C| that the image imports successfully. + +#. Leave the imported image open in ImageJ and Select ``Plugins`` > ``Bio-Formats`` > ``Bio-Formats Exporter`` and export this image. + + - |C| that the image exports successfully. + +#. Select ``Plugins`` > ``Bio-Formats`` > ``Bio-Formats Remote Importer`` and paste the URL ``https://downloads.openmicroscopy.org/images/DV/U2OS/U2OS_Eg5_PH3_001_R3D.dv`` into the first dialog that pops up. + + - |C| that the image imports successfully. + +#. Select ``Help`` > ``About Plugins`` > ``Bio-Formats Plugins...`` + + - |C| that the URLs shown in the popup link to existing and sensible pages. + - |C| that the release version and date are correct. +Fiji +---- + +This testing assumes the release artifacts have been deployed to the +`Bio-Formats update site `_. + + +#. Use Fiji for this section, not ImageJ. + +#. Activate the Bio-Formats update site :menuselection:`Help -> Update... -> Manage update sites` in addition to the Java-8 update site. + +#. In the ImageJ Updater Window ensure that the ``plugins/bio-formats_plugins.jar`` file and jars in the ``jars/bio-formats`` folder are listed for update. + + - |C| check that the ``Update Site`` for each is listed as the ``Bio-Formats`` update site. + - |C| the ``Status/Action`` field for each should be set to ``Install it`` or ``Update it``. + - |C| click on ``Advanced Mode``, then select each file and ensure the date and version in the ``Details`` panel is correct. + +#. Select ``Help`` > ``About Plugins`` > ``Bio-Formats Plugins...`` + + - |C| that the URLs shown in the popup link to existing and sensible pages. + - |C| that the release version and date are correct. + +#. In the ImageJ Updater Window select ``Apply Changes`` to run the update and restart FIJI + +#. Select ``Plugins`` > ``Bio-Formats`` > ``Bio-Formats Importer`` and import a small image (any small image will do). + + - |C| that the image imports successfully. + +#. Leave the imported image open in ImageJ and select ``Plugins`` > ``Bio-Formats`` > ``Bio-Formats Exporter`` and export this image. + + - |C| that the image exports successfully. + +#. Select ``Plugins`` > ``Bio-Formats`` > ``Bio-Formats Remote Importer`` and paste the URL ``https://downloads.openmicroscopy.org/images/DV/U2OS/U2OS_Eg5_PH3_001_R3D.dv`` into the first dialog that pops up + + - |C| that the image imports successfully. + +#. Select ``Help`` > ``About Plugins`` > ``Bio-Formats Plugins...`` + + - |C| that the URLs shown in the popup link to existing and sensible pages. + +#. Select ``Plugins`` > ``Bio-Formats`` > ``Update Bio-Formats Plugins`` and go to the ``Stable build (*.*.*)`` item in the ``Release`` dropdown menu. + + - |C| that the version number in the brackets shows the most recent stable release number. + +#. (**post-release step**) |C| that you can execute the updates (Note that the release page has not been made public prior to the later release steps. This is why this step would cause an error when executed prior to Release Acceptance.) + + - |C| that after you have updated, the ``loci_tools.jar`` in your Plugins folder vanished, and ``bioformats_package.jar`` appeared instead. + + + + +Bio-Formats command-line tools +============================== + +#. Download and unzip the bftools.zip. + +#. Move into this folder. + + +#. Execute the ``bfconvert`` command on the cmd line, for example:: + + $ touch test.fake + $ ./bfconvert test.fake test.ome.tiff + + - |C| that a new image with the name you chose and the chosen extension (for example ``.ome.tiff``) was created. + +#. Execute the ``showinf`` command on the cmd line, using the ``.ome.tiff`` image created in previous step :: + + $ ./showinf -version + + - |C| that the correct version, revision and build date are returned after the first command. + + :: + + $ ./showinf + + - |C| that the image in the in the second command opens. + + :: + + $ ./showinf -omexml + + - |C| that the image in the in the second command opens, the + OME-XML is validated and displayed + + + + + + +Downloads page +============== + +#. Go to the downloads page and + + - |C| the general layout (no gross misformattings or similar) + - |C| that clicking on all links in the text everywhere (e.g. like to the docs in the first paragraph, in the explanatory texts under the download blocks) will bring you to the advertised place. + - NO NEED to download the clients or servers + - |C| that you can download the ``Source code``, ``OMERO API documentation``, ``OMERO Java Downloads``, ``OMERO Python Downloads`` + - |C| ``Source code links`` + + diff --git a/docs/testing_scenarios/ImportAs.rst b/docs/testing_scenarios/ImportAs.rst new file mode 100644 index 0000000..fc029cb --- /dev/null +++ b/docs/testing_scenarios/ImportAs.rst @@ -0,0 +1,456 @@ +Import As +========= + + + +**To test in**: Insight and Web (Web - viewing the imported platesimages +only) + +**Purpose of the test** is to check the import of data for other users. + + +NB: Only Administrators can import data for other users. When importing the data for another +user, permission to put these data into a **third party** P/D/S depends on the permission levels of the user for whom the data is being +imported ( = the owner of the data). + +#. Check the permission levels for putting the data to other users' P/D/S (= + Mix Data) :omerodoc:`here `. + + +#. Read the :ref:`Table of permissions-users `. + You will pick or you have been assigned to 3 users from one group.: + + - an administrator (e.g. user-6) + - a user who CANNOT Mix ("No Mix" = NM) - referred to as user-NM from + here + - a user who Can Mix (CM) - referred to as user-CM from here + - both user-NM and user-CM must be members of more than one + group (they must share one group, and each be a member of at least one + other group as well) + + +#. Make sure you have images ready on your local hierarchy. Use small images + like ``data_repo/public/PNG/`` and a multi-well + plate like ``test_images_good/bd-pathway/2009-05-01_000/``. You will need to have + reasonably named images and plates within reasonably named folders. + + - prepare folders with images for user-NM + - prepare folders with images for user-CM + - prepare folders with plates for user-NM + - prepare folders with plates for user-CM + +#. In Insight UI, prepare Projects and Datasets for the users for whom you + will import later. + **Note** that even when you are (later) logged in as admin and Importing As for another user, you can still create P/D/S for that user at import stage (will be tested here further down). These P/D/S will be owned by the user you are just about to Import As. This step prepares P/D/S to cover only the pre-prepared-P/D/S case. + + - Login as user-NM. + - Create a Project and a Screen for the data for user-NM (e.g. "user-NM for + user-NM's data") + - Create a Project and a Screen for the data of user-CM (e.g. "user-NM for + user-CM's data") + - Login as user-CM. + - Create a Project and a Screen for the data of user-NM (e.g. "user-CM for + user-NM's data") + - Create a Project and a Screen for the data of user-CM (e.g. "user-CM for + user-CM's data") + - Login as administrator + - Create a project and a Screen for the data of user-NM (e.g. "user-6 for + user-NM's data") + - Create a project and a Screen for the data of user-CM (e.g. "user-6 for + user-CM's data") + +#. Log in as administrator. + + +#. Switch to Group Display. + + +#. Import for user-CM, do not create a new Project at import stage. + + + - Open Importer, select the folder you prepared in step 3 for user-CM, + click ``>``. + - In the Import Location window, select ``Import For`` user-CM + [:ref:`ImportAs001`] + - Open the Projects menu, you should be able to select the Projects of the + user-CM and other users' Projects [:ref:`ImportAs002`]. + - Perform 3 separate imports into 3 different Projects: + - 1 Project owned by the user-NM (e.g. "Project of user-NM for user-CM's data") [:ref:`ImportAs002b`]. + - 1 Project owned by the user-CM (e.g. "Project of user-CM for user-CM's data") [:ref:`ImportAs002c`]. + - 1 Project owned by the admin (e.g. "Project of user-6 for user-CM's data") [:ref:`ImportAs002d`] + - Switch groups in the Import Location window (selecting the other group + user-CM is a member of) + - |C| that the selection of P/Ds in the other group makes sense = the + P/Ds to which user-CM is allowed to put their data into are black, the + other P/Ds are greyed out and that you can import an image and put + it into one of the black P/Ds + - Switch group back to the original one and again |C| that the P/Ds in + the Import Location selection are black or greyed out as they were + before you switched groups. + +#. Import for user-NM, do not create a new Project at import stage + + - In Importer select the folder you prepared for user-NM in step 3, click ``>``. + - Select ``Import For`` user-NM + - Open the Projects menu, you should see all projects, but not be able to + select any Projects except the ones owned by user-NM [:ref:`ImportAs004`] + - Select the Project owned by the user-NM (e.g. "user-NM for user-NM's + data") and import. + - Switch groups in the Import Location window (selecting the other group + user-NM is a member of) + - |C| that the selection of P/Ds in the other group makes sense = the + P/Ds to which user-NM is allowed to put their data into are black, the + other P/Ds are greyed out and that you can import an image and put + it into one of the black P/Ds + - Switch group back to the original one and again |C| that the P/Ds in + the Import Location selection are black or greyed out as they were + before you switched groups. + + +#. Repeat steps 7, 8 importing single images (not a whole folder). + +#. Repeat steps 7, 8 importing plates (small multi-well e.g. + ``test_images_good/bd-pathway/2009-05-01_000/``). + +#. Repeat steps 7, 8 creating a new + + - Project at import stage and importing to it + - Dataset at import stage and importing to it + - Screen at import stage and importing a plate to it. + +#. Check the imported objects. + + - Start checking in Web first, then in Insight. View the data logged in as + the user who did not import them and does not own them. + - |C| that new P/D/S were created and the images and plates were imported + as appropriate [:ref:`ImportAs005`] + - |C| that the ownership of the P/D/S and of the imported images and plates + is as expected [:ref:`ImportAs006`] + +#. Import now for yourself (=admin). + + - Switch to private group in Import Location window and |C| that you can + put your data to your own P/Ds on import. + - Switch to all other groups (private, read-only, read-annotate, read-write) and |C| + that you can put your data to other users P/Ds according to + permissions (see the ``Mix data`` row in :omerodoc:`here + `.) + + + +#. Switch to User Display. The situation in Import Location window should be + the same as in Group Display. The P/Ds of the user you are importing for as + well as all the P/Ds of the other users which the user you are importing + for can put data in are selectable. All the other P/Ds in the group are + greyed out, but visible. + + + +.. _ImportAs001: +.. figure:: images/testing_scenarios/ImportAs/001.png + :align: center + + ImportAs001 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ImportAs002: +.. figure:: images/testing_scenarios/ImportAs/002.png + :align: center + + ImportAs002 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ImportAs002b: +.. figure:: images/testing_scenarios/ImportAs/002b.png + :align: center + + ImportAs002b + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ImportAs002c: +.. figure:: images/testing_scenarios/ImportAs/002c.png + :align: center + + ImportAs002c + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ImportAs002d: +.. figure:: images/testing_scenarios/ImportAs/002d.png + :align: center + + ImportAs002d + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ImportAs004: +.. figure:: images/testing_scenarios/ImportAs/004.png + :align: center + + ImportAs004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ImportAs005: +.. figure:: images/testing_scenarios/ImportAs/005.png + :align: center + + ImportAs005 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImportAs006: +.. figure:: images/testing_scenarios/ImportAs/006.png + :align: center + + ImportAs006 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ImportAs007: +.. figure:: images/testing_scenarios/ImportAs/007.png + :align: center + + ImportAs007 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + diff --git a/docs/testing_scenarios/ImportCLI.rst b/docs/testing_scenarios/ImportCLI.rst new file mode 100644 index 0000000..4dc01ee --- /dev/null +++ b/docs/testing_scenarios/ImportCLI.rst @@ -0,0 +1,324 @@ +Import CLI +========== + + + +**To test in**: Command line interface / Insight + +**Purpose of the test** is to check the import of single, multiple images and multi-images file from command line. Also, to test In-place import and the Background import functionalities. + + +**Find suitable images here** [:download:`TestingSet `] or here [:download:`TestingTemplate `] + +**Note that you have to download the right .zip server file (with the correct Ice version) to have the correct CLI-client for testing. You can use omego for this purpose, or download the .zip manually.** + +**Note that you do not have to do CLI import on the OMERO server system you are importing into (no need to ssh into the server), as long as you do not do In-place import (steps 10 - 13 below).** + +**Section 1: CLI Import** + +#. Open Insight (UI), create a Dataset, note the Dataset ID + +#. Go to Terminal. cd into the directory where your server runs. From there: + +#. Log in onto the server you chose in step 1 as the user you chose in step 1. Import a single image without a companion file [:download:`001 `] + + - |C| that the file was imported using Insight UI [:ref:`ImportCLI002`] + +#. Import several images in one transaction (a whole folder).[:download:`003 `] + + - |C| that the files were imported using Insight UI [:ref:`ImportCLI004`] + +#. Import an image with a companion file e.g. ``data_repo/test_images_good/dv/CFPNEAT01_R3D.dv``, or see "Extra information" in [:download:`here `] + + - |C| that the file was imported and you can see the companion file.- Acquisition tab, Companion files [:ref:`ImportCLI005`] + - |C| that you can download the companion file + +#. Select a folder with a multi-images file (like ``test_images_good/lei``) [:download:`007 `][:ref:`ImportCLI006`] + + - |C| that you can see the imported images within the file + +#. Try import into an existing dataset (use -d - use the dataset you created in step 1) - e.g. ``import -d 101 ~/Desktop/dv/CFPNEAT01_R3D.dv`` + + - |C| the image has been imported into the right dataset + +#. Import a nested folder containing Screen/Plate/Well files + +#. Execute each of these commands twice, once with an image and once with a plate, replacing the ```` with the file name of a valid image or plate. + + - ``bin/omero import -n cli_short_name -x "cli short description"`` + - ``bin/omero import --name cli_long_name --description "cli long description"`` + + - |C| that all images & plates were imported. + - |C| that the names of the imported images/plates are as expected in each case + - |C| that the descriptions of the imported images/plates are as expected in each case + +**Section 2: Import As** + +#. Import As. Log in "as Administrator" but for another user, executing the following command and replacing ```` with a valid Administrator name and ```` with a valid username (this will be the user for which the Administrator will be importing for). + + - ``bin/omero login --sudo= @localhost`` + + - |C| that you are really logged in as ```` by executing + + - ``cat `bin/omero sessions file``` + - |C| that the output is + + - ``...`` + - ``omero.user=`` + - ``omero.host=localhost`` + - ``omero.sudo=`` + +#. Execute following lines to import images as the ```` several + times, varying the ```` in such a manner that you will + import into all 4 types of groups (Private, Read-Only, Read-Annotate, + Read-Write). Note that the ```` has to be a member of all the + groups into which the import is attempted and you have to be using + the session you just created in previous step (if the session + expires, repeat the step 1 in Section 2). + + - ``bin/omero sessions group `` - the output of which should be similar to: + + :: + + Using session 5d7d8cd2-13e7-4a1d-988b-e65b02cf7f2f (user-8@localhost:4064). Current group: private-1 + Group 'private-1' (id=7) switched to 'read-only-1' (id=8) + + - ``bin/omero import `` + - |C| that the images are displayed as owned by ```` in both Insight and Web. + + +**Section 3: In-place import** + +#. **Note that the In-place import works only on the data which are local to the server (the imported files might be remote, but must be mounted on your file system, for example under Volumes).** + +#. Perform ``ssh`` command into the server you are going to test the In-place import to or start up your local server. Import a multi z/t image and a plate In-place. To understand better, read the doc :omerodoc:`sysadmins/in-place-import.html`. Do the In-place import using + + - hard link = ``--transfer=ln`` + - soft link = ``--transfer=ln_s`` + - ``--transfer=ln_rm`` (NEVER use ``ln_rm`` on ``ome/data_repo`` !!!) + - |C| that the plate and image imported well in Insight and Web + - |C| that when you perform ``ln_rm`` option across file systems (of the same machine) the original file is NOT deleted and the import does not proceed (``ln_rm`` proceeds only when operating within one file system) + +#. Find the original of the image/plate you imported In-place using soft link and remove it. Try also removing individual images in plates. + + - |C| that when you open the image or image in a plate now in Insight & Web you get reasonable message from the UI that image is not available. + - |C| that when you return the original file you have removed at the start of this step to its original place, both Insight & Web will open the In-place imported image/plate with no problem (|C| also images in a plate) + + + +#. On an In-place imported image, perform following actions: + + - Projection (in Insight) + - Download the original file (Insight & Web) + - Move it to another group (Insight & Web) + - |C| that the actions proceed without error. + + +#. Background importing: read :omerodoc:`sysadmins/in-place-import.html`. + + - Perform background import with all options mentioned in the doc. + - |C| that the importer disconnected as expected and the images were imported okay. + + + +**Section 4: Bulk import** + +#. Prepare a ``filePaths.tsv`` file. This should be at least two columns where the first column can be the name of the target Dataset and the second is the path to the file to import. The columns are separated by Tab. For example: + + :: + + Dataset:name:Dataset-1 /Users/pwalczysko/Desktop/image1.png + Dataset:name:Dataset-1 /Users/pwalczysko/Desktop/iviewer.png + Dataset:name:Dataset-2 /Users/pwalczysko/Desktop/old_Full_viewer.png + Dataset:name:Dataset-2 /Users/pwalczysko/Desktop/image2.png + +#. Prepare a ``bulk.yml`` file. This file should specify whether or not this is an in-place import, exclusion of already imported files, and the columns in the .tsv. The example can be + + :: + + --- + continue: "true" + transfer: "ln_s" + exclude: "clientpath" + path: "filePaths.tsv" + checksum_algorithm: "File-Size-64" + logprefix: "logs/" + output: "yaml" + columns: + - target + - path + + + + +#. Prepare the data on the server you are testing so that they can be imported in-place. The path to the data must correspond with the paths stated in the filePaths.tsv file. + +#. Run bulk import ``bin/omero import --bulk bulk.yml`` + +#. |C| that the newly created Datasets in OMERO and their content correspond to the specification in the ``filePaths.tsv`` file. + +#. |C| that the import finished successfully and the images are imported in-place. This means the images have the ``Imported with --transfer=ln_s`` remark under the ``Show file paths on server`` icon in the clients. + +#. Comment out the ``transfer: "ln_s"`` line from your bulk.yml file and repeat the import. + +#. |C| that this time the images are not imported in-place. This means the images do not have the ``Imported with --transfer=ln_s`` remark under the ``Show file paths on server`` icon in the clients. + +#. In OMERO client, delete some (not all) of the imported images. + +#. Repeat the last import again, and |C| that only the images which were deleted in OMERO in the previous step were imported. This means, you should have no duplicate imports in your datasets now. Also |C| that all the images specified in the ``filePaths.tsv`` are imported now. + +#. Repeat the workflow for a .tsv specifying Plates, see such as in this IDR `example `_ + +#. Repeat the workflow for a .tsv specifying whole folders, instead of pointing to single images or Plates. + + + + + + .. _ImportCLI002: + .. figure:: images/testing_scenarios/ImportCLI/002.png + :align: center + + ImportCLI002: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportCLI004: + .. figure:: images/testing_scenarios/ImportCLI/004.png + :align: center + + ImportCLI004: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportCLI005: + .. figure:: images/testing_scenarios/ImportCLI/005.png + :align: center + + ImportCLI005: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportCLI006: + .. figure:: images/testing_scenarios/ImportCLI/006.png + :align: center + + ImportCLI006 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + diff --git a/docs/testing_scenarios/ImportDropBox.rst b/docs/testing_scenarios/ImportDropBox.rst new file mode 100644 index 0000000..273c3d4 --- /dev/null +++ b/docs/testing_scenarios/ImportDropBox.rst @@ -0,0 +1,69 @@ +Import DropBox +============== + + +**To test in**: Command line interface/DropBox/Insight + +**Purpose of the test** is to check the import using DropBox + +**Prerequisites:** local server - user creates a folder DropBox/username in local binary repository. + +**Note:** For moving the scenario forward a remote server: a DropBox/username folder exists that the user has write access to will be +implemented. + +**Note:** images are not imported into a dataset so the images will be orphaned. + +**Find suitable images here** [:download:`TestingSet `] or here [:download:`TestingTemplate `] + +#. Find the DropBox folder in your ``/omero`` folder e.g. ``Petr/var/omero/DropBox``. + +#. Open it and create a new folder with a name matching the user ID which you are going to import images for () + +#. Open Terminal (command line) + +#. Get a ``DropBox.log`` file output. Get into your home directory (e.g. petr), then into ``/Work/openmicroscopy/`` folder and then use a line like: ``tail -f dist/var/log/DropBox.log`` to see the log output. + +#. Drag and Drop an image file which has a companion file (e.g. ``IAGFP-Noc01_R3D.dv``) into the DropBox subfolder you created in step 2 (e.g. ``Petr/var/omero/DropBox/petr``). + +#. Observe the log info in your command line + + - |C| the file has been registered by DropBox [:download:`001 `] and immediately + +#. Drag and Drop a companion file to the DV file you put in in step 5 (e.g. ``IAGFP-Noc01_R3D.dv.log``) + + - |C| the companion file has been registered by DropBox [:download:`001 `] + - |C| that the import starts within ~60 sec (if you do not interrupt it by another file addition into DropBox) [:download:`001 `] + - |C| that the files have been correctly imported (using Insight UI) + +#. Drag and Drop an image without companion file into the DropBox subfolder you created in step 2 (e.g. ``Petr/var/omero/DropBox/petr``) + + - Wait at least ~60sec - watch the progress of the import in the log + - |C| they are all imported (using Insight UI) + +#. Drag and Drop a folder containing several images/companion files into the DropBox subfolder you created in step 2 (e.g. ``Petr/var/omero/DropBox/petr``) + + - Wait at least ~60sec - watch the progress of the import in the log + - |C| they are all imported (using Insight UI) + +#. Drag and Drop a nested folder containing Screen/Plate/Well files into the DropBox subfolder you created in step 2 (e.g. ``Petr/var/omero/DropBox/petr``) + + - Wait at least ~60sec - watch the progress of the import in the log + - |C| they are all imported (using Insight UI) + +#. Select a folder with a multi-images file (like ``test_images_good/lei``), drag and drop it into the DropBox subfolder you created in step 2 (e.g. ``Petr/var/omero/DropBox/petr``) + + - Wait at least ~60sec - watch the progress of the import in the log + - |C| they are all imported (using Insight UI) + +#. Inplace import via DropBox. To understand better, read :omerodoc:`sysadmins/in-place-import.html#dropbox`. Set the ``bin/omero config set -- omero.fs.importArgs`` variable in your local server to: + + - ``--transfer=ln_rm`` + - ``--transfer=ln_s`` + - ``--transfer=ln`` + + and restart the server after each change to finalize the reset. + +#. Import a plate/image via DropBox after each of the 3 resets (and server restarts) above. + + - |C| that the plate/image has been imported successfully and the files stay in the DropBox folder (``ln`` and ``ln_s`` options) or are deleted from it (``ln_rm`` option) + diff --git a/docs/testing_scenarios/ImportFileFormatsTesting.rst b/docs/testing_scenarios/ImportFileFormatsTesting.rst new file mode 100644 index 0000000..ef9fd2a --- /dev/null +++ b/docs/testing_scenarios/ImportFileFormatsTesting.rst @@ -0,0 +1,271 @@ +Import File Formats Testing +=========================== + + + +**To test in**: Insight + +**Purpose of the test** is to check the import of various file formats and ability to report failures correctly. + +#. Note any special cases for the file format. These will be in the Notes column in the spreadsheet - see [:download:`here `], or for special cases in a README which you must read first. + +#. Import the files for this format. A known good selection is located in :file:`/ome/data_repo/test_images_good` or a larger set in :file:`/ome/data_repo/curated` (see details [:download:`here `]) + + - Note that some formats have special import requirements--please check first! + - |C| for any import failures, and take a copy of any exceptions + (= import failure reasons in the "Failed" button window) + or other failures [:ref:`ImportFileFT002`, :ref:`ImportFileFT003`, :ref:`ImportFileFT004`]. + - |C| that all files have been copied in any case, including import failure case. + - |C| each imported image visually for the following features: + - All images have thumbnails [:ref:`ImportFileFT005`]. Note that big images may take some time to generate thumbnails following import, showing clock placeholder [:ref:`ImportFileFT005b`]. + - All image planes are visible, and that the correct number of planes are in each dimension (check the metadata pane) [:ref:`ImportFileFT006`] and are of the correct size. + - All ROIs (if any) are present and in the correct place [:ref:`ImportFileFT007`]. + + + + +.. _ImportFileFT002: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/002.png + :align: center + + ImportFileFT002: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImportFileFT003: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/003.png + :align: center + + ImportFileFT003 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImportFileFT004: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/004.png + :align: center + + ImportFileFT004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImportFileFT005: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/005.png + :align: center + + ImportFileFT005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImportFileFT005b: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/005b.png + :align: center + + ImportFileFT005b + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImportFileFT006: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/006.png + :align: center + + ImportFileFT006: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImportFileFT007: +.. figure:: images/testing_scenarios/ImportFileFormatsTesting/007.png + :align: center + + ImportFileFT007: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + diff --git a/docs/testing_scenarios/ImportMultigroups.rst b/docs/testing_scenarios/ImportMultigroups.rst new file mode 100644 index 0000000..f75a143 --- /dev/null +++ b/docs/testing_scenarios/ImportMultigroups.rst @@ -0,0 +1,255 @@ +Import and Multigroups +====================== + + + +**To test in**: Insight + +**Purpose of the test** is to test the import of images into multiple groups and check the Import Queue behaviour in this case + +#. Import the same image in 2 different groups. Find suitable images here [:download:`TestingSet `] or here [:download:`TestingTemplate `] + + - Open Importer window, select an image, click onto ">" to bring up the "Import Location" window + - Choose where to import the image in the first group [:ref:`ImportMultiGr000a`] + - Do not change the selection of images, switch group and select where to import the image in the second group [:ref:`ImportMultiGr000b`]. + - Import the images + - Go back to the Data Manager and add the 2 groups to the display if not already added. [:ref:`ImportMultiGr001`] + - |C| Make sure that the image is in the correct location (in both groups). [:ref:`ImportMultiGr002`] + - Go to Screens harmonica tab in the left-hand pane and repeat step 1 with plates (e.g. `test_images_good/flex/`). + +#. "Import Location" window - group update + + - Open Importer window, select an image, click onto ">" to bring up the "Import Location" window + - Choose where to import the image in the first group [:ref:`ImportMultiGr000a`]. + - Close the "Import Location" window, leave the importer open and go to Data Manager, into the tree (left-hand pane) [:ref:`ImportMultiGr002`] + - Expand a group (NOT the one you have previously selected in the "Import Location" window) + - Select a user + - Go back to the importer, click onto ">" and |C| that the group display matches your choice in Data Manager + + +#. Import queue + + - Select files to import and select the "New From folder" option[default option] in the location dialog. + - Start the import + - Start immediately (while the previous import is still not finished !) a new import with the same selected files . + - In the location dialog, switch group and select "New From Folder", then add images to the queue and click "Import". + - Go back to the Data Manager and add the 2 groups to the display if not already added. + - |C| that the image is in the correct locations. + + +#. Remove group from display during import + + - Add few groups to the display. + - Open the importer. + - Import data in one of the groups displayed. + - During the on-going import, remove the group you are importing to from the display. + + - |C| that the data are imported successfully and import finishes + without error. The only known limitation here is that + ocassionally (but not necessarily) there are black thumbnails in + the Importer after this workflow, see [:ref:`ImportMultiGr003`]. + +#. Double import + + + - Import a plate (for example ``curated/mias/frans/siRNA...``, but it could be any other plate type, too) + - While the previous import is still running, import another plate (for the same user, to the same group). + - Test this double import several times, as the relevant bug here occurred randomly. + + - |C| that each plate in each import has been imported exactly once and each import ends successfully, with no unexpected plate duplications. + + + +.. _ImportMultiGr000a: +.. figure:: images/testing_scenarios/ImportMultigroups/000a.png + :align: center + + ImportMultiGr000a + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ImportMultiGr000b: +.. figure:: images/testing_scenarios/ImportMultigroups/000b.png + :align: center + + ImportMultiGr000b + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ImportMultiGr001: +.. figure:: images/testing_scenarios/ImportMultigroups/001.png + :align: center + + ImportMultiGr001: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImportMultiGr002: +.. figure:: images/testing_scenarios/ImportMultigroups/002.png + :align: center + + Tree in left-hand pane: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImportMultiGr003: +.. figure:: images/testing_scenarios/ImportMultigroups/003.png + :align: center + + Known limitation - black thumbnails: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + diff --git a/docs/testing_scenarios/ImportUI.rst b/docs/testing_scenarios/ImportUI.rst new file mode 100644 index 0000000..063995e --- /dev/null +++ b/docs/testing_scenarios/ImportUI.rst @@ -0,0 +1,1217 @@ +Import (UI) +=========== + + + +**To test in**: Insight + +**Purpose of the test** is to check all the features of Importer UI as started from Insight + +Find suitable images here [:download:`TestingSet `] or here [:download:`TestingTemplate `] + +NB: **Data Manager** == **The main window of Insight UI** + +#. Select single image files + + - Add them to the queue by pressing the ">" control. + - Select "New From Folder" option [:ref:`ImportUI001`] when choosing where to import the images. + - |C| that a new Dataset will be created with the name of the folder. + - |C| that the icon of the Dataset (right-hand side of the Import window) is light blue, not plum color as for Project [:ref:`ImportUI002`] + - Click import. + - Go to the Data Manager (=Main Insight UI window). + + - |C| that the wheel in the toolbar is spinning when import in progress [:ref:`ImportUI004b`] + - |C| that the number next to green tick is incremented when an import is finished successfully. + + - Still in the Data Manager (left-hand side), hit the refresh button + - |C| that only one dataset is created. [:ref:`ImportUI003`] + + +#. After any finished import in this scenario, in the Importer Window (perform these checks briefly for each import but for one import of your choice thoroughly): + + - |C| that thumbnail(s) is(are) created. + - |C| that clicking on the thumbnail(s) opens the image in Viewer. In case of a multi-image file [:ref:`ImportUI013b`], click on every thumbnail in the row. + - |C| the ``View`` menu: [:ref:`ImportUI013c`]. + + - |C| that the ``In Full Viewer`` item opens the image in viewer + - |C| that the ``In Data Browser`` item brings you to the image in data tree in Data Manager + - |C| that the ``View Import Log`` item shows the Log file [:ref:`ImportUI013f`] + + - |C| that the Log file is not truncated, i.e. it ends with line like ``2014-05-05 08:55:07,349 INFO o.s.blitz.repo.ManagedImportRequestI Finalizing log file.`` + + - |C| that the ``Checksum`` item opens the checksum popup [:ref:`ImportUI013d`, :ref:`ImportUI013e`] + +#. Import the folder + ``data_repo/test_images_broken/broken_images_scenario/`` into a non- + default group (you have to switch the group actively) and after it + failed, go Failed > View Exception. |C| that the exception window + appears. + + +#. Repeat step 1 this time selecting a whole folder to import. [:ref:`ImportUI004`]. + + - |C| that the counter in the toolbar of Data Manager (right-hand side) counts the imported files correctly [:ref:`ImportUI004b`]. + + - |C| that only one dataset was created for the imported folder. + - Import another folder and again check that just one dataset was created and no duplicate imports or re-imports of the previous folder occurred. + +#. Repeat step 1 this time not selecting "New From Folder" but creating a new Project and Dataset at the import stage [:ref:`ImportUI004c`, :ref:`ImportUI004d`]. + + +#. Import more than 2000 files (for example a whole folder containing 2001 files). + + - |C| that the import does not proceed. + - |C| that you get a dialog [:ref:`ImportUI004e`] + +#. Start several parallel image imports, then randomly switch between the import tabs. + + - |C| that imports proceed smoothly to the end. + + +#. De-duplication of import: Make sure you can import in two different groups. + Select any file, put it to the queue. + + - |C| that if you select the same file again, and add it to the queue (in + **the same group**), the new addition **will be ignored** + - |C| that when you select the same file again and select **another target + group** in the Import Location window, the file **will be added** to the queue. + +#. De-duplication of import in case of a Companion File: Select a dv image like ``data_repo/test_images_good/dv/CFPNEAT01_R3D.dv`` and its log file, (``data_repo/test_images_good/dv/CFPNEAT01_R3D.dv.log``). + + - add both files to the import queue + - click import + - |C| that you get a message indicating that the log file is a duplicate, + meaning that this file has been already imported in this transaction + - |C| that the import of the duplicate does not proceed (in this + transaction) + - |C| that the counter in the Toolbar of the Data Manager is not + counting the skipped files as ``Imported`` + - |C| the Companion File: + + - Go to the Data Manager, right-hand pane, Acquisition tab + - |C| that the first harmonica tab is ``Companion files`` (NOT ``Original Metadata``) + - Expand the ``Companion file`` harmonica tab and check the file is there + +#. Upload. + + - import several images in one transaction, making sure you have images with long ``processing`` times, for example ``data_repo/test_images_good/leica-lif/free edge 6.lif`` or other ``.lif`` files + - |C| that the import of the files in the queue starts immediately after the upload of the previous file is finished + - |C| that the size in the header of the importer window changes after each import + +#. Cancelling: + + - Cancel a single running import using the ``Cancel`` button. + - |C| that only this particular import has been cancelled + - Cancel all imports using the ``Cancel All`` button + - |C| that all the imports where the upload did not start yet are cancelled + - |C| that after everything is imported or cancelled the spinners stop both + in Importer and Data Manager. + +#. Cancelling during scanning phase & large MIF import + + - |C| that after you Cancel and Cancel All successfully during ``scanning`` + phase when importing a whole folder (for example + ``data_repo/public/HCS/INCELL2000/``) spinners have stopped & + Insight can Quit normally. + + - |C| that when importing multi-images-fileset (MIF) + ``test_images_good/lei/leica-original/050118.lei`` you can Cancel both during + ``scanning`` and ``preparing upload`` phases + +#. Tag at import (for permissions testing, tag with tags belonging to other users) + + - One new tag addition: + + - Select at least two images. + - Go to the "options" tab. The second tab when selecting the import location.[:ref:`ImportUI005`] + - Create one new tag and add it + - Import images. + + - One existing tag addition + + - Select at least two images. + - Go to the "options" tab. + - Add one existing tag.[:ref:`ImportUI009`] + - Import images. + + - Two new tags addition: + + - Select at least two images. + - Go to the "options" tab. + - Create two or more tags and add them + - Import images. + + - Two existing tags addition: + + - Select at least two images. + - Go to the "options" tab. + - Add two or more existing tags. + - Import all the images you tagged. + + - Go to the DataManager (left-hand side). Refresh + - |C| that the images are tagged and the tag is shown on thumbnails [:ref:`ImportUI006`][:ref:`ImportUI007`] + - |C| and the tag is created once. [:ref:`ImportUI008`] + - |C| that no new tag is created with the name of an existing tag. + + +#. In the Location dialog, press the Screen button [:ref:`ImportUI011`] + +#. Import a Plate e.g. ``test_images_good/bd-pathway/2009-05-01_000/`` + + - not creating new Screen at import stage [:ref:`ImportUI011b`] + - creating a new Screen to import the plate to at import stage [:ref:`ImportUI011c`] + + + + +#. Error reporting in all import stages. + + - Failure at scanning stage: Import ``test_images_bad/Mike.dv`` and + + - |C| that + + - you can submit the failure. There will be no log, but you should be able to submit the files (as .zip) and exceptions. The exception can also be viewed in a separate item under "Failed" menu. + - you can Retry All (button at the bottom of the Importer) + + + - Failure of checksums: Test on a dedicated server (e.g. a server with recompiled server code in a way which causes checksum failure). + + - |C| that + + - you can submit the failure. There will be no log, but you should be able to submit the files (as .zip) and exceptions. + + - Failure at processing stage: Import ``test_images_broken/volocity/3 Colour.acff`` and ``data_repo/test_images_broken/broken_images_scenario/`` + + - |C| that + + - you can submit the .zip, consisting of the file AND log + - you can submit the exceptions + + - Import the folder ``data_repo/test_images_broken/broken_images_scenario/`` into a non-default group (you have to switch the group actively) and after it failed, go Failed > View Exception + + - |C| that the Exception appears. + +#. Error submission process: Import an image that will fail to import e.g. ``data_repo/test_images_bad/mike1_R3D.dv`` [:ref:`ImportUI014`] + + - |C| that you can view the error.[:ref:`ImportUI015`] + - Submit the error to the QA system using "Submit Failures" button in the right bottom corner [:ref:`ImportUI015b`]. + - Enter a valid e-mail address [:ref:`ImportUI016`] + - |C| that you received a notification e-mail. + - |C| that your email address, error message, and file links are all included on the QA webpage. + - Send a reply comment to the QA webpage, include your email address and a message. + - Log into the QA system as an administrator and confirm the comment was received. + - Reply to the QA message, the message should appear in your email. + - Finally, set the QA message status to "Closed" and save. + + + .. _ImportUI001: + .. figure:: images/testing_scenarios/ImportUI/001.png + :align: center + :width: 100% + + ImportUI001 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI002: + .. figure:: images/testing_scenarios/ImportUI/002.png + :align: center + + ImportUI002 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI003: + .. figure:: images/testing_scenarios/ImportUI/003.png + :align: center + + ImportUI003 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI004: + .. figure:: images/testing_scenarios/ImportUI/004.png + :align: center + :width: 100% + + ImportUI004 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI004b: + .. figure:: images/testing_scenarios/ImportUI/004b.png + :align: center + :width: 100% + + ImportUI004b + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI004c: + .. figure:: images/testing_scenarios/ImportUI/004c.png + :align: center + :width: 100% + + ImportUI004c + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI004d: + .. figure:: images/testing_scenarios/ImportUI/004d.png + :align: center + :width: 100% + + ImportUI004d + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI004e: + .. figure:: images/testing_scenarios/ImportUI/004e.png + :align: center + :width: 100% + + ImportUI004e + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI005: + .. figure:: images/testing_scenarios/ImportUI/005.png + :align: center + + ImportUI005 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI006: + .. figure:: images/testing_scenarios/ImportUI/006.png + :align: center + + ImportUI006 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI007: + .. figure:: images/testing_scenarios/ImportUI/007.png + :align: center + + ImportUI007 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI008: + .. figure:: images/testing_scenarios/ImportUI/008.png + :align: center + + ImportUI008 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI009: + .. figure:: images/testing_scenarios/ImportUI/009.png + :align: center + + ImportUI009 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI011: + .. figure:: images/testing_scenarios/ImportUI/011.png + :align: center + + ImportUI011 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI011b: + .. figure:: images/testing_scenarios/ImportUI/011b.png + :align: center + + ImportUI011b + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI011c: + .. figure:: images/testing_scenarios/ImportUI/011c.png + :align: center + + ImportUI011c + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI012: + .. figure:: images/testing_scenarios/ImportUI/012.png + :align: center + + Tickbox for thumbs + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI012b: + .. figure:: images/testing_scenarios/ImportUI/012b.png + :align: center + + ImportUI012b + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI013: + .. figure:: images/testing_scenarios/ImportUI/013.png + :align: center + + ImportUI013 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI013b: + .. figure:: images/testing_scenarios/ImportUI/013b.png + :align: center + + ImportUI013b + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI013c: + .. figure:: images/testing_scenarios/ImportUI/013c.png + :align: center + + ImportUI013c + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI014: + .. figure:: images/testing_scenarios/ImportUI/014.png + :align: center + + ImportUI014 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI015: + .. figure:: images/testing_scenarios/ImportUI/015.png + :align: center + + ImportUI015 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI015b: + .. figure:: images/testing_scenarios/ImportUI/015b.png + :align: center + + ImportUI015b + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI016: + .. figure:: images/testing_scenarios/ImportUI/016.png + :align: center + + ImportUI016 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI013d: + .. figure:: images/testing_scenarios/ImportUI/013d.png + :align: center + + ImportUI013d + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI013e: + .. figure:: images/testing_scenarios/ImportUI/013e.png + :align: center + + ImportUI013e + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ImportUI013f: + .. figure:: images/testing_scenarios/ImportUI/013f.png + :align: center + + ImportUI013f + + | + | + | + | + + diff --git a/docs/testing_scenarios/ImporterStandalone.rst b/docs/testing_scenarios/ImporterStandalone.rst new file mode 100644 index 0000000..0dcf651 --- /dev/null +++ b/docs/testing_scenarios/ImporterStandalone.rst @@ -0,0 +1,316 @@ +Importer Standalone +=================== + + + +**To test in**: Standalone Importer UI + +**Purpose of the test** is to check the Importer Standalone functionality in importing images/screens + + - |C| that the application start and you can connect to the server [:ref:`ImporterStA001`][:ref:`ImporterStA002`] + +#. Import data in various groups if applicable [:ref:`ImporterStA003`][:ref:`ImporterStA004`][:ref:`ImporterStA005`][:ref:`ImporterStA006`] + +#. Create New Project/Dataset to import the images into.[:ref:`ImporterStA007`] Toggle the icon to Screen in the location selection window.[:ref:`ImporterStA008`] Create New Screen to import the plates into. + +#. Login with both Importer and Insight + + - Change user password in Insight + - Try to import something with importer. + +.. _ImporterStA001: +.. figure:: images/testing_scenarios/ImporterStandalone/001.png + :align: center + + ImporterStA001: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImporterStA002: +.. figure:: images/testing_scenarios/ImporterStandalone/002.png + :align: center + + ImporterStA002: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImporterStA003: +.. figure:: images/testing_scenarios/ImporterStandalone/003.png + :align: center + + ImporterStA003 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImporterStA004: +.. figure:: images/testing_scenarios/ImporterStandalone/004.png + :align: center + + ImporterStA004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImporterStA005: +.. figure:: images/testing_scenarios/ImporterStandalone/005.png + :align: center + + ImporterStA005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImporterStA006: +.. figure:: images/testing_scenarios/ImporterStandalone/006.png + :align: center + + ImporterStA006: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImporterStA007: +.. figure:: images/testing_scenarios/ImporterStandalone/007.png + :align: center + + ImporterStA007: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ImporterStA008: +.. figure:: images/testing_scenarios/ImporterStandalone/008.png + :align: center + + ImporterStA008 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + diff --git a/docs/testing_scenarios/InsightasPluginImageJFiji.rst b/docs/testing_scenarios/InsightasPluginImageJFiji.rst new file mode 100644 index 0000000..33351f5 --- /dev/null +++ b/docs/testing_scenarios/InsightasPluginImageJFiji.rst @@ -0,0 +1,783 @@ +Insight as Plugin ImageJ/Fiji +============================= + + +**To test in**: ImageJ, Fiji + +**Purpose of the test** is to check that the OMERO insight works as plugin for ImageJ/Fiji and the ``bioformats_package.jar`` or ``loci_tools.jar`` missing is not causing a crash. + +**Test on Linux as well as Windows (XP and Win7 if possible)** + +#. Download the ``OMERO.insight-ij*`` build and unzip it [or copy it into] in ImageJ/plugins folder [:ref:`InsightIJI001`] + +**ImageJ and ImageJ2** + +Note: You can download ImageJ2 from https://imagej.net/Downloads. + +#. Add neither ``bioformats_package.jar`` nor ``loci_tools.jar`` to the Plugins folder of ImageJ (or ImageJ2). If it is there, remove it. + + +#. Start ImageJ (or ImageJ2) and go ``Plugins`` > ``OMERO`` > ``Connect to OMERO`` + + - |C| that a popup appears indicating that ``bioformats_package.jar`` or ``loci_tools.jar`` is missing.[:ref:`InsightIJI002`] + +#. (For the release-day testing only.) Click on the hyperlink in the popup and |C| it brings you to the last release version of Bio-formats. Download ``bioformats_package.jar`` [:ref:`InsightIJI005`] from this Bio-formats release Download page which is being coupled with the OMERO for the release, e.g. ``https://downloads.openmicroscopy.org/bio-formats/`` . Note that this **does not have to be matching** version with the OMERO version, as Bio-formats is decoupled from OMERO. + + + +#. (For non-release-day testing only.) Download ``bioformats_package.jar`` from :mergecijob:`CI ` in case you are testing a Bio-formats PR. + + + +#. Quit ImageJ. Copy ``bioformats_package.jar`` into ``Plugins`` folder of ImageJ [:ref:`InsightIJI001`]. + + + +#. Restart ImageJ (or ImageJ2), and go ``Plugins`` > ``OMERO`` > ``Connect to OMERO`` + + + - |C| the ``bioformats_package.jar`` version. To check the ``bioformats_package.jar`` version, open ImageJ (or ImageJ2), go ``Help > About Plugins > Bio-Formats Plugins`` or ``Help > About Plugins > LOCI Plugins`` [:ref:`InsightIJI004`]. + - |C| that Insight splashscreen is displayed. + - |C| that if you rename the ``bioformats_package.jar`` to ``bioformats_package.jar`` and restart ImageJ, and ``Connnect to OMERO``` again, the Insight plugin still starts and no warning is being displayed. + +#. Log in. + +#. Go to the left-hand pane and select an image or import one if no images available. + +#. Double-click on the image and then click ``OK`` in the ``Bio-Formats Import Options`` window [:ref:`InsightIJI006`]. + + - |C| that the image opens in ImageJ [:ref:`InsightIJI007`]. + +#. Replace the ``bioformats_package.jar`` with ``loci_tools.jar`` and repeat the steps 3 (on release day only) or 4 (non-release day only) and 5, 6, 7, 8 and 9 (on both release and non-release days). + +#. Put both ``bioformats_package.jar`` and ``loci_tools.jar`` into Plugins folder and restart ImageJ (or ImageJ2). + + - |C| that a duplication warning appears [:ref:`InsightIJI007b`]. + - |C| that you can still connect to OMERO and open an image. + +#. Go through all steps using ImageJ64 and the platform independent version of ImageJ (download from `ImageJ homepage `_). + + +**ImageJ - ROI and OMERO upload** +(This section is just pre-release testing scenario (unless stated otherwise), do not do on release day, on release day go to section **Fiji**) + +#. Open an image in ImageJ, draw regions using IJ toolbar on a particular z, t and c plane and click ``Analyze > Tools > ROI Manager``. Each time you draw a new region click ``Add`` in the ``ROI Manager`` (The key ``t`` can be used as keyboard shortcut). + + - export the image using ``Plugins > Bio-formats > Bio-formats Exporter`` to the local drive on your machine + - make sure the ``Export ROIs`` tickbox in the second dialog (``Bio-Formats Exporter Options``) is ticked BY DEFAULT + - close the image + - close the ``ROI Manager`` + - reimport the saved image using ``Plugins > Bio-formats > Bio-formats Importer``, selecting the checkboxes ``Display ROIs``, ``Display OME-XML metadata`` and ``Display Metadata`` in the ``Bio-formats importer`` options) + - |C| that the OME-XML has all the saved ROIs listed as shown in example below + - |C| that also the Shape Properties are listed in the OME-XML, for example StrokeColor and StrokeWidth. (See example below. Note: Shape FillColor is not being saved.) + - |C| that when you tick the ``Show all`` tickbox in ``ROI Manager`` you see the regions just as you saved them on the image + +example of OME-XML with Shape Properties:: + + + + + + + + + + +2. Import the image you created into OMERO (using OMERO.insight). + - |C| that the image has regions as you have drawn them in ImageJ and the regions are correctly displayed in Insight and Web. + +3. Repeat steps 1., 2. this time draw regions using IJ toolbar and ``Image > Overlay > Add selection`` or use the shortcut ``cmd B``. Note that any regions in ``ROI Manager`` will be ignored in case the image has an ``Overlay`` to it. Do this workflow also for a stack (not hyperstack) image, e.g. ``test_images_good/tiff/QA images/Artificial_xyt_8bit.tif`` and for a hyperstack image (e.g. a multi z, c, t ``dv``). + +4. Open an image in ImageJ, create a rectangular region, and make a crop (``Image > Crop``). + + - create a region in the cropped image and go ``Plugins > OMERO > Save Image(s) to OMERO`` + - |C| that the Data Manager of Insight opens followed immmediately by Importer [:ref:`InsightIJI007c`] + - Select in a row both the radio button options in the Importer ``Add image from current window`` and ``Add image from all image windows`` + - |C| that when you click ``Add to Queue`` the image(s) gets added to the right-hand pane of importer according to the option of the radio button which you selected. + - Do not create a new project nor select an existing one, and |C| that after you imported, you have the image in Orphaned folder. + - Now create a new Project or select an existing project and use the default ``New From Folder`` option for Dataset and + - |C| that after import, a new Dataset has been created under the Project you selected/created with the name identical to the folder containing the image opened in ImageJ (e.g. if you opened the image in ImageJ from ``users/your_name/localimages/`` on your machine, the name of the Dataset should be ``localimages``) + +#. Open 2 images in ImageJ from your local drive and combine the 2 images (``Image > Stacks > Tools > Combine``). + - go ``Plugins > OMERO > Save Image(s) to OMERO`` + - |C| that the generated image can be added to the queue and imported. + + +#. Testing ``Save ROIs to OMERO`` feature + + - open an image from OMERO in ImageJ and also + - open another image, this time from your local disk (not from OMERO) + - draw ROIs on both images, add them to Overlay and select ``Save ROIs to OMERO`` + - in the first dialog select ``Save image from all open windows`` option and click ``Save`` + - |C| that another dialog pops up [:ref:`InsightIJI007e`] asking you whether you want to also upload images not yet stored in OMERO + - select ``Yes`` and |C| that an ``Import Location...`` dialog [:ref:`InsightIJI007f`] pops up for selection of P/D to import the image to + - select an existing P/D or create a new P/D and click ``Add to the Queue`` + - |C| that import immediately starts. + - |C| that the ``Results saved`` item in Activities pops up + - |C| that the new image(s) are imported with the associated regions to the chosen location. + - |C| that also the other image which was already stored in OMERO has the new regions now associated to it in OMERO. + - close all images and ROI Manager in ImageJ + + +#. Recognizing the image which was freshly uploaded to OMERO. + + - Open an image from your local drive in imageJ + - Use``Save Image(s) to OMERO`` to save the image into OMERO. + - Draw a ROI on the image and add it to ROI Manager in ImageJ. + - Click ``Save ROIs to OMERO``. + - |C| that the dialog indicating that the image is not imported does not pop up. + - |C| that the ROI you just drawn is added to the previously imported image. + +#. Using ``Save ROIs to OMERO`` to upload non-saved images as well. + + + - Open at least two images stored in OMERO in ImageJ using the imageJ plugin + - draw ROIs on both images and add them to Overlay (use ``Alt + B``) + - select ``Plugins > Save ROIs to OMERO`` + - |C| that a dialog ``Save ImageJ Results`` pops up [:ref:`InsightIJI007d`] + - select in a row both ``Save image from current window`` and ``Save image from all open windows`` radio button options + - select ``Save`` in the dialog and |C| that the regions are now saved in OMERO as chosen in the dialog + - Draw a ROI and add it to the ROI Manager in ImageJ + - crop the image (draw a rectangle encompassing the region you have just drawn and select ``Image > Crop``) + - select "Save ROIs to OMERO" item in ``Plugins > OMERO`` + - |C| that the image is imported as ome-tiff WITH the region you have drawn on it. + - close all images and ROI Manager in ImageJ + + + +#. Draw a ROI specifically on a z or t plane. + + - open a multi-z and multi-t image stored in OMERO in ImageJ using the ImageJ plugin + - draw several ROIs (including an ellipse) in ImageJ on a particular z/t plane(s) and add them to ROI Manager in ImageJ (**Note that Overlay in ImageJ does not support t information, but does support the z information.**) + - also open ``test_images_good/tiff/QA images/Artificial_xyt_8bit.tif`` and draw several ROIs (including ellipse) in IJ on a particular plane and add them to Overlay (``Ctrl + B``) + - save the ROI using ``Save ROIs to OMERO`` on both images + - |C| that the ROI in OMERO is associated with the correct z/t plane(s) + - in ImageJ, go to ``ROI Manager > More > Options`` and tick the ``Associate Show All...`` box + - restart ImageJ + - in OMERO, prepare another image with ROIs associated to different z/t planes + - open the image you prepared from OMERO in ImageJ using the plugin, ticking the options ``Display Metadata``, ``Display OME-XML Metadata`` and ``Display ROIs`` options in the ``Bio-formats import options`` dialog and + - |C| that now the ROI is associated to a particular z and t plane(s) in ImageJ and these plane(s) correspond with the plane(s) in OMERO + - |C| the OME-XML to see if the newly added ROI's have the correct Z,C and T information. + +example of OME-XML with Z, C and T information:: + + + + + + + + + + + +10. Testing ``Save Results to OMERO`` feature + + - open an image from OMERO in ImageJ, draw an ROI and add to ROI Manager of IJ + - go to ``Analyze > Measure`` + - select ``Plugins > Save Results to OMERO`` + - |C| that a dialog ``Save ImageJ Results`` pops up [:ref:`InsightIJI007d`] + - input a ```` for the .csv file to save (do not use periods in the name) + - |C| that the ``Results saved`` item in Activities pops up + - |C| that the csv file with the name ``.csv`` is attached to the image in OMERO + - |C| that when you leave the box for the name empty, the file is named ``ImageJ--Results-.csv`` + +11. Using ``Save Results to OMERO`` to upload non-saved images as well. + + - Repeat the steps above with an image opened from your local disk + - |C| that the image is imported and the measurements saved as ``.csv`` file. + +12. Open and save workflows for images + + - open a z-stack image from OMERO in ImageJ + - open another z-stack image from OMERO in ImageJ + - go in IJ ``Image > Stacks > Tools > Concatenate...`` + - ``Upload and Save to OMERO`` the resulting image + - |C| that the concatenated image has been imported successfully + +13. MIF workflows + + - in ImageJ, using Bio-Formats Importer, open ``test_images_good/leica-liff/Beta Catenin.lif`` + - select ``Select All`` in the popup window and click OK + - 5 images should be open + - draw a region on 3 of the images, adding it to Overlay every time + - use ``Save image(s) to OMERO`` to upload the MIF and ROIs to OMERO + - select in a row ``Add images from current window`` and ``Add images from All open window`` to test both workflows + - |C| that in both cases, you have the whole MIF imported 1x with each ROI associated with the image you have drawn it on in ImageJ + +**Fiji** + +#. Start Fiji + +#. Go ``Help`` > ``Update Fiji`` -> the update process will start. Restart Fiji and + + - |C| that you have the last release version of Bio-formats. To check the Bio-Formats version, go ``Help > About Plugins > LOCI Plugins`` [:ref:`InsightIJI004`]. Note that this **does not have to be matching** version with the OMERO version, as Bio-formats are decoupled from OMERO. + + +#. Add the ``OMERO.insight-ij*`` plugin to the ``Plugins`` folder of Fiji - on Mac, use rigth-click on Fiji icon & ``Show package content`` [:ref:`InsightIJI003`] to get to ``Plugins`` + +#. Restart Fiji + +#. Go ``Plugins`` > ``OMERO`` > ``Connect to OMERO`` + + - |C| that Insight splashscreen is displayed. + +#. Log in. + +#. Go to the left-hand pane and select an image or import one if no images available. + + +#. Double-click on the image and then click ``OK`` in the ``Bio-Formats Import Options`` window [:ref:`InsightIJI006`]. + + - |C| that the image opens in Fiji. + + +**Note** that during the update, there might be a problem with the class ``org.joda.time.Instant`` which can be found here: + +:: + + /Applications/Fiji.app/jars/jruby.jar + /Applications/Fiji.app/jars/loci_tools.jar + /Applications/Fiji.app/plugins/OMERO.insight-ij-5.0.0-rc1-ice35-b10/libs/joda-time.jar + + +The warning looks as follows: + +:: + + WARNING: multiple locations found! java.lang.NoSuchMethodError: org.joda.time.Instant.parse(Ljava/lang/String;Lorg/joda/time/format/DateTimeFormatter;)Lorg/joda/time/Instant; + +**Solution**: Delete the ``jruby.jar``. + + + + + + + +.. _InsightIJI001: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/001.png + :align: center + + InsightIJI001 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI002: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/002.png + :align: center + + InsightIJI002 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI003: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/003.png + :align: center + + InsightIJI003 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI004: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/004.png + :align: center + + InsightIJI004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI005: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/005.png + :align: center + + InsightIJI005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI006: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/006.png + :align: center + + InsightIJI006 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI007: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/007.png + :align: center + + InsightIJI007 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI007b: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/007b.png + :align: center + + InsightIJI007b + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI007c: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/007c.png + :align: center + + InsightIJI007c + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI007d: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/007d.png + :align: center + + InsightIJI007d + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI007e: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/007e.png + :align: center + + InsightIJI007e + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI007f: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/007f.png + :align: center + + InsightIJI007f + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI008: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/008.png + :align: center + + InsightIJI008 + + +| +| +| +| +| +| +| +| +| + +| +| +| +| +| +| +| +| + + +.. _InsightIJI008b: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/008b.png + :align: center + + InsightIJI008b + + +| +| +| +| +| +| +| + +| +| +| +| +| +| +| +| +| +| + + +.. _InsightIJI009: +.. figure:: images/testing_scenarios/InsightasPluginImageJFiji/009.png + :align: center + + InsightIJI009 + + +| +| +| +| +| +| +| +| +| + + + diff --git a/docs/testing_scenarios/MapAnnotations.rst b/docs/testing_scenarios/MapAnnotations.rst new file mode 100644 index 0000000..e576771 --- /dev/null +++ b/docs/testing_scenarios/MapAnnotations.rst @@ -0,0 +1,101 @@ +.. contents:: + :depth: 2 + + +############### +Map Annotations +############### + + + + +**To test in**: Insight, Web + +**Purpose of the test** is to make sure the Map Annotations functionality is working okay for both annotations on your images as well as on other users' images (permissions permitting). + + +**Note**: Although you can copy and paste lines from a Map Annotation to create a new Map Annotation, this newly created Map Annotation is not the same as the one from which you copied the lines from, you are creating a completely new object with such action. + +Map Annotations - basic +======================= + + +#. Create a new Map Annotation + + - Find the Map Annotations table in the right-hand pane (``General`` tab, last of the ``Annotations`` section). + - Start typing into the boxes (which say ``Add Key``, ``Add Value`` and hit Enter after you have finished with the particular box or mouse-click into the next box. + +#. Adding new rows + + - Select the last row of the Map Annotation you have just created or of another already present Map Annotation. + - Click Plus + - |C| that row at the bottom of the table is added. + - Click Plus again + - |C| that another row at the bottom of the table is added. + - Select a middle row + - Click Plus + - |C| that a new row under the selected one was added. + + +#. Editing fields + + - Click (once) into a field (e.g. the Key field in the first row) + - |C| that you can start typing + - Press Tab key. + - |C| that you are now editing a next field (e.g. the Value field in the first row) or that a new row was created (when in the second column before pressing Tab) and you are editing the field in the first column of the newly created row. + - edit fields again, do not hit Enter, Tab or Save but navigate to another object and back and |C| that the editing changes in the field have been saved. + +#. Select by + + - Find the ``Show All`` menu in the right-hand pane next to (Web) or just under (Insight) the label ``Annotations``. + - Select ``Show added by others`` and ``Show added by me`` and + - |C| that the Map Annotations are filtered accordingly. + + +Map Annotations - permissions +============================= + + +**Note** that the setup is usually done in such a manner that you DO NOT HAVE TO LOGOUT and LOGIN as some other user. You should be able to do all the work sticking to the user prescribed for you in the testing sheet. The Map Annotations of other users on your data will be prepared for you to work on. + + +#. |C| the testing sheet to find which user you should log in as and which groups you should work on! + +#. |C| the testing sheet to find which user's data you should work on! This will be indicated by sentences like ``Work on data of user-x.`` + +#. Edit + + - copy line(s) from one Map Annotation and paste them to another (**not your**) Map Annotation + - copy and cut line(s) from one Map Annotation and paste them to another (**your**) Map Annotation + - add lines to Map Annotation (**not yours**) + - edit fields of Map Annotations (**not yours**), write new text into them, (Insight only) hit Save (in the row of icons on top of left-hand pane) and + - |C| that the Save action proceeded. + - edit fields again, do not hit Enter, Tab or Save but navigate to another object and back and + - |C| that the editing changes in the field have been saved. + - delete (not too much, you will still need plenty of data!) rows in Map Annotations (**not yours** - be wise, do not delete too much, leave plenty Map Annotations for next steps!) + +#. Create + + - |C| the testing spreadsheet for information whether you can create a new Map Annotation in the particular group type. + - Try to create new Map Annotations in both allowed and non-allowed situations, checking that the allowed situations work, whereas the non-allowed do not. + - Paste line(s) from one Map Annotation to create a new Map Annotation on an object which has no Map Annotations of yours yet (no lines are pre-populated on the object with no Map Annotation, just the line ``Add Key`` and ``Add Value`` is present.) + +#. AFTER Edit & Create actions: + + - |C| the testing spreadsheet for information whether you can delete a new Map Annotation in the particular group type. + - Try to delete new Map Annotations in both allowed and non-allowed situations, checking that the allowed situations work, whereas the non-allowed do not. + - Delete (do not delete everything, one or two tests are enough!) some Map Annotations (meaning all rows) from Map Annotations **not belonging to you**. + - Delete (do not delete everything, one or two tests are enough!) some Map Annotations (meaning all rows) from **your** Map Annotations which are on the same object as some other Map Annotations **not belonging to you**. + +#. AFTER Delete actions: + + - |C| and note down what Map Annotations you have on the objects which you are going to Move. + - Move some doubly-annotated objects (with both your and not-your Map Annotations on them) to the same level group (e.g. from Read-Annotate-1 group move to Read-Annotate-2 group) + - |C| that Map Annotations are left on the objects as long as the owner of the Map Annotations is a member of the target group except for PRIVATE target group (there only the Map Annotations of the owner of the data are preserved) - see the testing sheet for details in your case. + - |C| that no errors occur. + - Move again the objects you moved in the first step - check the testing sheet for the order of moves. + - |C| after each step that the Map Annotations are preserved and no errors occur. + + + + diff --git a/docs/testing_scenarios/Mapr.rst b/docs/testing_scenarios/Mapr.rst new file mode 100644 index 0000000..965fd68 --- /dev/null +++ b/docs/testing_scenarios/Mapr.rst @@ -0,0 +1,275 @@ +Mapr (web extension for IDR) +============================ + + + +**To test in**: Web + +**Purpose of the test** is to check the so called Mapr, this means the additional metadata +navigation tabs, metadata display and tree autocomplete search extending the OMERO.web UI. + +**Section 1: UI layout testing and queries** + +Note: **Replace the ``idr-demo-test-server``** with the server address from the testing sheet in all the urls below !! + +#. |C| that the multiple words of Key-Value pair tables do not occur. For example Compound should not be split into Compound Name and Compound Name Url, see [:ref:`compound_not_expected`] for a negative example. Instead, the url should be indicated by a clickable icon in the Compound Name row, see [:ref:`compound_expected`] for an expected layout example. Also other rows like Compound Source and Compound Group should be missing, just as indicated in the expected layout example. Analogically check the layout of Gene, Organism and other mapr objects. + +#. Gene should be divided into Gene and Supplementary. + + - go to ``Studies`` tab and open a study + - navigate in the tree down to wells + - select a well in central pane + - expand the "Attributes" harmonica in right-hand pane + - |C| that there are two MapAnnotations for ``Gene`` topic, ``Gene`` and ``Gene Supplementary``, see [:ref:`gene_supplementary`] + +#. Check pagination in central pane + + - click onto the "Organism" tab and type "h" in the filter box above the left-hand tree + - |C| that spinning wheel is present (It can happen though that the dropdown menu shows immediately, with no spinning wheel appearing.) + - wait, this can take a few seconds before the dropdown menu appears + - find and click "Homo sapiens" in the dropdown menu + - wait till the UI refreshes + - expand any, but not the first Screen + - expand any, but not the first Plate in the Screen + - wait till central pane is populated with images thumbnails + - click onto Next in the centre of the central panel to load the second page + - being with the cursor on the left-hand pane tree, use the down arrow key on keyboard to switch between screens and plates and |C| that the central pane and right-hand pane update correspondingly + - try also multiselections in central pane and left-hand tree + - |C| that the selections and multi-selections in central and left-hand panes select the corresponding objects in left-hand tree and central pane. Also keep checking the right-hand pane loading and synchronicity with your actions in the left/central panes. Concentrate especially to the region of the end of the first page and beginning of the second page. + +#. Check type across multiple studies + + - Use both of the two following methods to find a Gene: + + - go to Genes tab and filter and choose a gene + - navigate to a plate (not first plate or first screen) and well (not first well) and click into the Gene symbol in right-hand pane + + - once you select the Gene you should see something similar to this example [:ref:`tree_numbers`] + - |C| that gene is loaded in right hand panel (appropriate MapAnnotation(s) will appear) + - |C| that the first number in the Gene name in the tree signifies the number of images (23 in the example screenshot [:ref:`tree_numbers`]), the second number is the number of screens/projects which contain images with this gene (4 in the example screenshot [:ref:`tree_numbers`]). + - |C| that there are no two MapAnnotations containing exactly the samee values in right-hand pane. + - |C| that all the displayed MapAnnotations in the right-hand pane are unique, by hovering over them and checking their ID in the tooltip. + - Repeat search for different genes and checks of the numbers in the tree and the MapAnnotations in RHP as indicated, until you have found and checked three cases + + - Gene with Screens only + - Gene with Projects only + - Gene with both Screens and Projects + + - Repeat the "Check type accross multiple studies" steps for types: Phenotype, siRNA, Compound, Organism instead of Gene + +#. Check query. + + - in your browser line, go to ``idr-demo-test-server/mapr/phenotype/?value=elongated%20cells&query=true`` + - |C| that you have more results with the &query=true ending of the url than without it + - |C| that the query retrieves all the values which contain "elongated cells" string + - get other values from Phenotypes tab + + - type an alphabetical character into the filter line + - read the values in the dropdown menu + - edit the url with these new values + + - |C| that when you use another phenotype values in the url the query delivers corresponding results. + +#. Pagination on query. Checking the pagination of the left-hand panel. + + - note that it is fairly unprobable that you will find a paginated left-hand panel just by randomly browsing through the screens/plates, use the example below or adjust this example + - in your browser line go to ``idr-demo-test-server/mapr/gene/?value=ab&query=true`` + - |C| that the top node in the tree ("Gene") is selected as shown in [:ref:`pagination_left-hand_tree`] + - click onto Next in the centre of the central panel to load the second page + - click onto "2" in the centre of the central panel to load the second page + - |C| that the elements of the lef-hand side tree in the second page work as expected (tree expands, thumbs appear in central and right-hand pane gets populated as expected.) + +#. |C| that when you multiselect Screens, the harmonica tab order in right-hand pane is the same for single [:ref:`Mapr002`] as well as multiselections [:ref:`Mapr001`]. Also check that all the annotations on the single screens are visible in the multiselection mode in the right-hand pane. + + +**Section 2: Performance test** + +#. Performance test will need to concentrate on the caching (going to the same page several times when cached and not cached, playing with 2 different tabs (in your browser) and trying to "put the UI off" by making actions in one tab and trying to catch up in another tab with the action. + + +| +| +| +| + +.. _Mapr001: +.. figure:: images/testing_scenarios/Mapr/001.png + :align: center + + Mapr001 + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _Mapr002: +.. figure:: images/testing_scenarios/Mapr/002.png + :align: center + + Mapr002 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _compound_not_expected: +.. figure:: images/testing_scenarios/Mapr/compound_not_expected.png + :align: center + + compound_not_expected + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _compound_expected: +.. figure:: images/testing_scenarios/Mapr/compound_expected.png + :align: center + + compound_expected + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _gene_supplementary: +.. figure:: images/testing_scenarios/Mapr/gene_supplementary.png + :align: center + + gene_supplementary + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _tree_numbers: +.. figure:: images/testing_scenarios/Mapr/tree_numbers.png + :align: center + + tree_numbers + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _pagination_left-hand_tree: +.. figure:: images/testing_scenarios/Mapr/pagination_left-hand_tree.png + :align: center + + pagination_left-hand_tree + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + + + + + + + + + + + diff --git a/docs/testing_scenarios/MemoFile.rst b/docs/testing_scenarios/MemoFile.rst new file mode 100644 index 0000000..08602bf --- /dev/null +++ b/docs/testing_scenarios/MemoFile.rst @@ -0,0 +1,27 @@ +Memo file +========= + + + +**To test in**: Insight, Server logs + +**Purpose of the test** is to check that the memo file has been created and revisited when images are imported/viewed. + +#. Import a file, e.g ``.nd2`` + + - |C| that in the ``Blitz-0.log`` + there is a line such as + + ``2014-08-01 15:32:49,004 DEBUG [loci.formats.Memoizer] (2-thread-3) saved memo file: /repositories/OMERO-5.0-merge-integration/BioFormatsCache/repositories/OMERO-5.0-merge-integration/ManagedRepository/root_0/2014-08/01/15-32-48.427/.test.fake.bfmemo (22873 bytes)`` + + which appears the + first time the server calls the ``setID()`` method. + +#. Try to open the file you imported in the viewer. + + - |C| that the ``Blitz-0.log`` + shows a line such as + + ``2014-08-01 15:32:49,888 DEBUG [loci.formats.Memoizer] (Server-155) loaded memo file: /repositories/OMERO-5.0-merge-integration/BioFormatsCache/repositories/OMERO-5.0-merge-integration/ManagedRepository/root_0/2014-08/01/15-32-48.427/.test.fake.bfmemo (22873 bytes)`` + + for every time you open the image. diff --git a/docs/testing_scenarios/MetadataDisplay.rst b/docs/testing_scenarios/MetadataDisplay.rst new file mode 100644 index 0000000..3653613 --- /dev/null +++ b/docs/testing_scenarios/MetadataDisplay.rst @@ -0,0 +1,166 @@ +Metadata Display +================= + + + +**To test in**: Web, Insight + +**Purpose of the test** is to test the metadata display, and check they display consistently in Web and Insight + +#. Import an image rich in metadata for example 'data_repo/test_images_metada/leica-lif/Rosier.lif.2' or see the set of images here [:download:`here `] Compare the display between web and insight i.e. Make sure the same values are displayed [:ref:`Metadata001`][:ref:`Metadata002`] + + - |C| the units + +#. Show or hide unset fields [not populated fields - click on "show unset fields" in the metadata tabs].[:ref:`Metadata003`][:ref:`Metadata004`] + + - |C| Make sure they are the same in both clients (Web and Insight) + - |C| that the user cannot edit the fields. + + + .. _Metadata001: + .. figure:: images/testing_scenarios/MetadataDisplay/001.png + :align: center + + Metadata001: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Metadata002: + .. figure:: images/testing_scenarios/MetadataDisplay/002.png + :align: center + + Metadata002: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Metadata003: + .. figure:: images/testing_scenarios/MetadataDisplay/003.png + :align: center + + Metadata003 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Metadata004: + .. figure:: images/testing_scenarios/MetadataDisplay/004.png + :align: center + + Metadata004 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + diff --git a/docs/testing_scenarios/MoveDataBetwGroups.rst b/docs/testing_scenarios/MoveDataBetwGroups.rst new file mode 100644 index 0000000..a5488ac --- /dev/null +++ b/docs/testing_scenarios/MoveDataBetwGroups.rst @@ -0,0 +1,460 @@ +Move Data between Groups +======================== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the feature of moving the entities between groups + +#. Move Dataset/Image between groups.[:ref:`MoveData001`][:ref:`MoveData002`][:ref:`MoveData003`][:ref:`MoveData004`] + + - |C| that the Project/Dataset/Image Screen/Plate is no longer in the source group and has been moved to the target group. Put group to display if necessary-Insight [:ref:`MoveData005`] + +#. Move a Project with Datasets and images + + - |C| that the Project / Dataset and images are in the target group. + +#. Move Screen/Plate + + - Move a Screen with Plate + - Move an orphaned Plate + - |C| that the Screen/Plates are at the destination with all the ROIs/annotations as allowed by permissions, see the setup table for expected results + +#. Move an Image (see here for choice of images [:download:`Images `]) + + - rich in metadata + - with a ROI + - with an annotation + - large image + - |C| that the image is at the destination with all the ROIs/annotations as allowed by permissions, see the setup table for expected results + +#. Targeted / non-targeted Move: + + - Move a Dataset / image / plate and + + - target the Move into a Project / Dataset / Screen + + - |C| that the data are in the intended location + + - do not target the Move into a P/D/S + + - |C| that the data are in the target group as orphaned Datasets / Images / plates + + + +#. (Insight only) Move via D&D + + - Put at least 2 groups to display + - Repeat steps 1, 2, 3 using Drag & Drop + - |C| that you get the Move warning [:ref:`MoveData006`] + - Click Yes in the warning window + - |C| that the objects are in their destination group + + + +#. Find a multi-image fileset (= MIF, should be imported for you, but if not, for example ``test_images_good/lei/leica-original/050118.lei`` or ``data_repo/test_images_metadata/leica-lif/Rosier.lif``). Choose one image of the MIF only and try to Move it. + + - NB: You cannot Move just a part of a MIF, you have to select the whole MIF or use "Move All" buton in order for the action to go through. + - |C| that the action does not proceed and a warning popup appears [:ref:`MoveData007`, :ref:`MoveData008`] + - Click Move All button in the warning popup + - Select a Project and Dataset in the destination group to Move the Dataset to + - |C| that the action proceeds now and the images are Moved to the target group + - |C| that in case the MIF was split between several Datasets in the original group, then + + - in Web, all the images of the MIF end up in the selected Dataset in target group + - in Insight, the images of the MIF which were originally in the Dataset are in the selected Dataset, the other images are in Orphaned images [:ref:`MoveData009`] + +#. Repeat previous step, this time not choosing any Project and Dataset to Move the MIF to + + - |C| that the MIF ends up in Orphaned folder in the target group + + +#. Choose all the images in the MIF and try to Move them. + + - |C| that this time the Move action proceeds successfully [:ref:`MoveData010`, :ref:`MoveData011`]. + - |C| that the MIF is in the destination group. + + +#. Create a new dataset (or use an existing one if available). Cut one of the images of the MIF and paste it into the newly created (or another existing) dataset. Select the original dataset (with all the MIF images minus one). Try to Move it. + + - |C| that the action does not proceed [:ref:`MoveData007`, :ref:`MoveData008`] + - Click "Move All" button and + - choose a Project in the destination group to Move the Dataset to + - |C| that the Dataset is in the destination group and + + - in Web, all the images of the MIF end up in the moved Dataset + - in Insight, the images of the MIF which were originally in the Dataset are in the moved Dataset, the other images are in Orphaned images folder in the target group [:ref:`MoveData009`] + +#. Repeat previous step, this time not choosing any Project to Move the Dataset to + + - |C| that the Dataset ends up as orphaned in the target group, with the images arranged as described in previous step + +#. Cut and paste the image you manipulated in the step 10 back into the original dataset -> the MIF should now be complete. Select the dataset with the complete MIF and try to Move it. + + - |C| that this time the Move action proceeds successfully [:ref:`MoveData010`, :ref:`MoveData011`]. + + + + + +.. _MoveData001: +.. figure:: images/testing_scenarios/MoveData/001.png + :align: center + + MoveData001: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _MoveData002: +.. figure:: images/testing_scenarios/MoveData/002.png + :align: center + + MoveData002: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _MoveData003: +.. figure:: images/testing_scenarios/MoveData/003.png + :align: center + + MoveData003 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _MoveData004: +.. figure:: images/testing_scenarios/MoveData/004.png + :align: center + + MoveData004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _MoveData005: +.. figure:: images/testing_scenarios/MoveData/005.png + :align: center + + MoveData005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _MoveData006: +.. figure:: images/testing_scenarios/MoveData/006.png + :align: center + + MoveData006: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _MoveData007: +.. figure:: images/testing_scenarios/MoveData/007.png + :align: center + + MoveData007: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _MoveData008: +.. figure:: images/testing_scenarios/MoveData/008.png + :align: center + + MoveData008: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _MoveData009: +.. figure:: images/testing_scenarios/MoveData/009.png + :align: center + + MoveData009: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _MoveData010: +.. figure:: images/testing_scenarios/MoveData/010.png + :align: center + + MoveData010: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _MoveData011: +.. figure:: images/testing_scenarios/MoveData/011.png + :align: center + + MoveData011: + + +| +| +| +| +| +| +| +| +| + diff --git a/docs/testing_scenarios/OMEROdownloader.rst b/docs/testing_scenarios/OMEROdownloader.rst new file mode 100644 index 0000000..4caacb4 --- /dev/null +++ b/docs/testing_scenarios/OMEROdownloader.rst @@ -0,0 +1,601 @@ +OMERO.downloader +================ + +Preparation +----------- + +Downloader +^^^^^^^^^^ + +To minimize typing make a helpful alias like:: + + $ cd omero-downloader/ + $ mvn + ... + $ export SOURCE_DIR="`pwd`" TARGET_DIR="/tmp/repo" OME_DIR="/ome" + $ rm -fr "$TARGET_DIR" + $ mkdir "$TARGET_DIR" + $ alias download="\"$SOURCE_DIR\"/download.sh -b \"$TARGET_DIR\" -s eel.openmicroscopy.org -u user-3 -w ome" + $ cd + +:envvar:`SOURCE_DIR` is where your sources for OMERO.downloader are and +:envvar:`TARGET_DIR` is to where it should download files. The following +test steps assume that something like that shell alias has been set. +:envvar:`OME_DIR` is where you have squig mounted locally. Adjust the +options in the alias definition according to how you log in to your +OMERO server. + + +Bio-Formats +^^^^^^^^^^^ + +This scenario assumes that the `Bio-Formats command-line tools +`_ +are available locally. + + +XML formatter +^^^^^^^^^^^^^ + +It helps for some optional steps to have a reasonable OME-XML formatter +or editor. Here I shall assume that :command:`xmllint` is available: it +is easily installed as part of ``libxml2``. Feel free to substitute for +any other such tool. + + +OMERO.cli +^^^^^^^^^ + +For using the :command:`omero` executable you may find it convenient to +add its ``bin`` directory to your search :envvar:`PATH`. Alternatively, +from your OMERO directory you could set another alias:: + + alias omero="`pwd`/bin/omero" + +This scenario assumes that typing :command:`omero` without any prefix +suffices for your shell to locate the OMERO.cli Python executable. + + +Follow symbolic links +^^^^^^^^^^^^^^^^^^^^^ + +Some test steps use :command:`ls -l` for exploring symbolic links. You +may find :command:`realpath` helpful for checking to where a symbolic +link (symlink) ultimately links. This command is provided as part of GNU +coreutils. BSD users may prefer to use :command:`readlink` but the +analogous command-line option depends on the BSD variant. Mac users may +find it easiest to simply install coreutils, e.g., :command:`brew +install coreutils` then use :command:`grealpath`. + + +Working directory +^^^^^^^^^^^^^^^^^ + +With the environment variables and aliases set as above you can follow +this scenario from any convenient working directory. This flexibility +may be helpful as you investigate the outcome of any particular step of +the scenario. + + +File downloads +-------------- + +#. Get the ID of an image that has a companion file:: + + omero login + DV_IMAGE=$(omero import "$OME_DIR"/data_repo/test_images_good/dv/IAGFP-Noc01_R3D.dv) + +#. Download the image's binary file:: + + download -f binary $DV_IMAGE + +#. |C| that three files are listed: for fileset, image and repository:: + + find "$TARGET_DIR" -name IAGFP-Noc01_R3D.dv -print + +#. |C| with :command:`ls -l` that the image file is a symlink to the + fileset file. + +#. |C| with :command:`ls -l` that the fileset file is a symlink to the + repository file. + +#. |C| that :command:`showinf -autoscale` on any of those files shows + the image. + +#. Download the image's log file:: + + download -f companion $DV_IMAGE + find "$TARGET_DIR" -name IAGFP-Noc01_R3D.dv\* -print + +#. |C| that for the fileset and image directories, the binary file is in + a ``Binary`` directory and the log file in a ``Companion`` directory. + +#. |C| that within the repository directory both files are in the same + directory. + +#. |C| that :command:`showinf` on the repository's log file shows the + image:: + + showinf -autoscale `find "$TARGET_DIR"/Repository -name IAGFP-Noc01_R3D.dv.log -print` + +#. Download both the binary and companion files for the image:: + + download -f binary,companion $DV_IMAGE + +#. |C| that two files are listed, both as "already downloaded" + +#. Get the ID of an image whose file is large:: + + omero login + SCN_IMAGE=$(omero import "$OME_DIR"/data_repo/test_images_good/leica-scn/mihaela/UCLAD_0000000280_2011-02-10\ 13_32_55Z.scn) + + That import may take a few minutes so perhaps take a short break. + +#. *Start* to download the file:: + + download -f binary $SCN_IMAGE + +#. Once the "commencing download of file" message is shown and its line + of dots is growing then quit the downloader mid-download with + control+C or similar. + +#. Retry the download, |c| that the message is now "resuming download". + Allow it to complete. + +#. Retry the download, |c| that the message is now "already downloaded". + (If you used the above Leica file then you should have already seen + this as its second image uses the same file.) + +#. Find the file in the local repository:: + + SCN_FILE=`find "$TARGET_DIR/"Repository -name UCLAD_0000000280_2011-02-10\ 13_32_55Z.scn -print` + +#. Find the checksum of the file then delete it:: + + cksum "$SCN_FILE" + rm "$SCN_FILE" + +#. Download the file again *without* interrupting it. + +#. |c| that the file's checksum matches the previous. + + +File exports +------------ + +#. Import a big image, e.g.:: + + omero login + JPEG_IMAGE=$(omero import "$OME_DIR"/data_repo/test_images_good/jpeg/4kx4k.jpg) + +#. In a graphical client wait for the image's thumbnail to become available. + +#. Annotate the image a little: add a tag, a comment, a ROI, etc. Note + the IDs of what you add. + +#. Annotate one of the ROIs, e.g.:: + + omero obj new RoiAnnotationLink parent=Roi:1234 child=TagAnnotation:567 + + to add tag ID 567 to ROI ID 1234. + +#. *Start* to export the image:: + + download -f tiff $JPEG_IMAGE + +#. Once the "commencing download of pixels" message is shown and its + line of dots is growing then quit the downloader mid-download with + control+C or similar. + +#. Restart the download, |c| that the message is now "resuming + download". Allow it to complete. + +#. Change to the export directory for that image then see what it has:: + + cd "$TARGET_DIR"/`echo $JPEG_IMAGE | tr : /`/Export/ + ls + +#. |c| that :command:`tiffcomment` does not have much to report about the export:: + + tiffcomment 4kx4k.jpg.tiff + +#. |c| that :file:`4kx4k.jpg.tiff` is viewable with its smooth intensity + gradient:: + + showinf 4kx4k.jpg.tiff + +#. Now export the *OME-*\ TIFF version of the image:: + + download -f ome-tiff $JPEG_IMAGE + +#. |c| that :command:`tiffcomment` has rather more to say about that export:: + + tiffcomment 4kx4k.jpg.ome.tiff + +#. |c| that :file:`4kx4k.jpg.ome.tiff` has the same pixel data as + :file:`4kx4k.jpg.tiff`:: + + showinf 4kx4k.jpg.ome.tiff + +#. |c| that :file:`4kx4k.jpg.ome.tiff` has valid OME-XML:: + + xmlvalid 4kx4k.jpg.ome.tiff + +#. |c| the XML output from :command:`tiffcomment` above:: + + tiffcomment 4kx4k.jpg.ome.tiff | xmllint -format - + + #. |c| that at the top level is an ``OME`` element. + + #. |c| that the ``Pixels`` element contains ``TiffData`` elements. + + #. |c| that the image has annotation and ROI reference elements. + + #. |c| that the ROI has an annotation reference element. + + #. |c| that the referenced elements are present. + +#. Import a multi-Z,C,T image, e.g.:: + + omero login + LSM_IMAGE=$(omero import "$OME_DIR"/data_repo/test_images_good/zeiss-lsm/2chZT.lsm) + +#. Export both the TIFF and OME-TIFF versions of the image:: + + download -f tiff,ome-tiff $LSM_IMAGE + +#. Import both the exported images:: + + omero import "$TARGET_DIR"/`echo $LSM_IMAGE | tr : /`/Export/*.tiff + +#. |c| that ``2chZT.lsm``, ``2chZT.lsm.tiff``, ``2chZT.lsm.ome.tiff`` + look the same in OMERO: + + #. |c| that the three images' thumbnails look identical. + + #. |c| by scrolling in Z and T that their plane order matches. + +#. |c| the channel names and exposure times from ``2chZT.lsm`` using + the 'Acquisition' tab: + + #. |c| that they match those from ``2chZT.lsm.ome.tiff`` though + other metadata may be missing. + + #. |c| that they are missing from ``2chZT.lsm.tiff`` which should + include little metadata overall. + + +Fetching metadata +----------------- + +Here we reuse the :envvar:`JPEG_IMAGE` for testing exports. If you are +not also testing exports then just run the first few import and +annotation steps of `File exports`_ until the first download. If you +prefer then you can use :file:`2kx2k.jpg` instead of the larger. + +#. Download XML fragments for your image's model objects:: + + download -f ome-xml-parts $JPEG_IMAGE + +#. Change to the metadata directory for that image then see what it has:: + + cd "$TARGET_DIR"/`echo $JPEG_IMAGE | tr : /`/Metadata/ + ls + +#. |c| that the export directory has no XML files in it yet:: + + ls ../Export/ + +#. |c| the XML fragment for the image:: + + xmllint -format `echo $JPEG_IMAGE | tr I: i-`.ome.xml + + #. |c| that at the top level is an ``Image`` element. + + #. |c| that the ``Pixels`` element contains a ``MetadataOnly`` + element. + + #. |c| that the image has no annotation or ROI reference elements. + +#. |c| the related XML fragments:: + + ls ../*/*/Metadata/* + +#. |c| that these annotations and ROIs are the ones you expected. + :command:`xmllint -format ...` can be used to inspect each. + + #. |c| that their top-level element is ``ROI`` or some kind of + annotation. + + #. |c| that their XML contains no reference elements. + + #. |c| the same for the annotation that you put on the ROI:: + + ls ../Roi/*/Annotation/*/Metadata/* + +#. Assemble the XML fragments into one whole:: + + download -f ome-xml-whole $JPEG_IMAGE + +#. |c| that nothing mentioned writing anything as XML. + +#. |c| that the export directory now has an XML file in it:: + + ls ../Export/ + +#. |c| the contents of the XML file:: + + xmllint -format ../Export/`echo $JPEG_IMAGE | tr I: i-`.ome.xml + + #. |c| that at the top level is an ``OME`` element. + + #. |c| that the ``Pixels`` element contains a ``MetadataOnly`` + element. + + #. |c| that the image has annotation and ROI reference elements. + + #. |c| that the ROI has an annotation reference element. + + #. |c| that the referenced elements are present. + +#. Delete all the downloaded XML:: + + find "$TARGET_DIR" -name \*.xml -print -exec rm {} + + + You may wish to first omit everything after the ``-print`` to check + what would be deleted. + +#. Run the combined parts-and-whole metadata export:: + + download -f ome-xml $JPEG_IMAGE + + For the ``-f`` option ``ome-xml`` is simply shorthand for + ``ome-xml-parts,ome-xml-whole``, options you used above. + +#. |c| that the XML fragments are again just as before after running the + ``ome-xml-parts`` download. + +#. |c| that the assembled OME-XML document is again just as before after + running the ``ome-xml-whole`` download. + +#. Optionally, try deleting some subset of XML files and repeating the + export to ensure that the download messages are as you would expect, + e.g.:: + + writing annotations as XML, need up to 3, already have 2... done + + +Whole fileset +------------- + +#. Remove any existing export directories:: + + rm -fr "$TARGET_DIR"/Image/*/Export + +#. Import a plate:: + + omero login + INCELL_PLATE=$(omero import "$OME_DIR"/data_repo/test_images_good/incell/Single\ plane\ no\ flatfield\ corr/) + +#. Download its binary files:: + + download -f binary $INCELL_PLATE + +#. |c| that file download failures are reported. A server with + default configuration does not allow download of plate files. + +#. Export one of the images listed for, "determining files used by + image":: + + download -f ome-tiff,ome-xml Image:1234 + +#. |c| that the OME-TIFF and OME-XML files were exported:: + + cd "$TARGET_DIR"/Image/*/Export/ + ls + +#. |c| that the OME-TIFF and OME-XML files look reasonable:: + + showinf -autoscale 2007.10.17.17.04.55.xdce*.ome.tiff + xmllint -format image-*.ome.xml + +#. |c| that downloads can be expanded to whole filesets, using the same + image ID as above:: + + download -f ome-xml -a Image:1234 + +#. |c| that you see many "assembling metadata for image" messages. + +#. |c| that you see an "already assembled metadata for image" message + for the image that you chose above. + +#. |c| that referencing the plate directly works the same as ``-a``:: + + download -f ome-xml $INCELL_PLATE + +#. |c| that you see many "already assembled metadata for image" + messages. + + +Limit symbolic links +-------------------- + +#. Delete the contents of your download directory:: + + rm -fr "$TARGET_DIR" + mkdir "$TARGET_DIR" + +#. Import a simple image:: + + omero login + PNM_IMAGE=$(omero import "$OME_DIR"/data_repo/test_images_good/pgm/pigfoot.pgm) + +#. Download its binary files:: + + download -f binary $PNM_IMAGE + +#. |c| that a link exists from the fileset to the image:: + + ls -l "$TARGET_DIR"/Fileset/*/Image/ + +#. |c| that a link exists from the image to the fileset:: + + ls -l "$TARGET_DIR"/Image/*/Binary/ + +#. |c| that a link exists from the fileset to the local repository:: + + ls -l "$TARGET_DIR"/Fileset/*/Binary/ + +#. |c| that the links reach the target file:: + + showinf "$TARGET_DIR"/Fileset/*/Image/*/Binary/pigfoot.pgm + +#. Delete the contents of your download directory:: + + rm -fr "$TARGET_DIR" + mkdir "$TARGET_DIR" + +#. Download its binary files making no links:: + + download -f binary -l none $PNM_IMAGE + +#. Verify that only the repository file exists:: + + find "$TARGET_DIR" -not -type d -print + +#. |c| that the repository file is as expected:: + + showinf `find "$TARGET_DIR" -type f -print` + +#. Download its binary files again without limiting links:: + + download -f binary $PNM_IMAGE + +#. |c| that an "already downloaded file" message is shown. + +#. |c| that the links are now created:: + + find "$TARGET_DIR" -type l -print + +#. |c| that the links reach the target file:: + + showinf "$TARGET_DIR"/Fileset/*/Image/*/Binary/pigfoot.pgm + + +Limit metadata +-------------- + +Here we reuse the :envvar:`JPEG_IMAGE` for testing exports. If you are +not also testing exports then just run the first few import and +annotation steps of `File exports`_ until the first download. If you +prefer then you can use :file:`2kx2k.jpg` instead of the larger. + +#. Delete all the downloaded XML:: + + find "$TARGET_DIR" -name \*.xml -print -exec rm {} + + + You may wish to first omit everything after the ``-print`` to check + what would be deleted. + +#. Run the normal XML fragment download:: + + download -f ome-xml-parts $JPEG_IMAGE + +#. |c| that images, ROIs and annotations were downloaded:: + + find "$TARGET_DIR" -name \*.xml -print + +#. Assemble the XML document for that image, both with and without pixel + data:: + + download -f ome-tiff,ome-xml $JPEG_IMAGE + +#. Change to the export directory for that image:: + + cd "$TARGET_DIR"/`echo $JPEG_IMAGE | tr : /`/Export/ + +#. |c| that the XML includes images, ROIs and annotations:: + + tiffcomment 4kx4k.jpg.ome.tiff | xmllint -format - + xmllint -format `echo $JPEG_IMAGE | tr I: i-`.ome.xml + +#. Delete the exported files:: + + rm -f *.ome.tiff *.ome.xml + + This step is important because any change in the ``-x`` option will + not overwrite previous exports. + +#. Repeat the above steps using fewer kinds of model object for the + ``-x`` option in the :command:`download`: + + * ``-x image,roi`` + * ``-x image,annotation`` + * ``-x image`` + + #. |c| that ROIs and annotations are omitted from the XML accordingly. + + #. |c| that omission from assembled XML is regardless of if extra XML + fragments were downloaded in a previous ``ome-xml-parts`` step. + +#. Repeat the above step using even fewer kinds of model object for the + ``-x`` option in the :command:`download`: + + * ``-x roi,annotation`` + * ``-x roi`` + + Note that the exported file for :command:`xmllint` will be found among:: + + ls "$TARGET_DIR"/`echo $JPEG_IMAGE | tr : /`/Roi/*/Export/roi-*.ome.xml + +#. Do one more repetition for ``-x annotation``. + + Note that the exported files for :command:`xmllint` will be found among:: + + ls "$TARGET_DIR"/`echo $JPEG_IMAGE | tr : /`/Annotation/*/Export/annotation-*.ome.xml + ls "$TARGET_DIR"/`echo $JPEG_IMAGE | tr : /`/Roi/*/Annotation/*/Export/annotation-*.ome.xml + + according to how you annotated the image and ROI. + + +Session login +------------- + +The above suggested "download" shell alias uses the ``-u``, ``-w`` +options to supply a username and password. A session key should suffice: + +#. Obtain an OMERO session key:: + + omero login + KEY=`omero sessions key` + +#. Import a simple image:: + + DICOM_IMAGE=$(omero import "$OME_DIR"/data_repo/test_images_good/dicom/ankle.dcm) + +#. Download the image file using the session key:: + + "$SOURCE_DIR"/download.sh -b "$TARGET_DIR" -s eel.openmicroscopy.org -k $KEY -f binary $DICOM_IMAGE + + As when you set the "download" shell alias adjust the server name for + your OMERO server. + +#. |c| that the downloaded file looks as expected:: + + showinf "$TARGET_DIR"/`echo $DICOM_IMAGE | tr : /`/Binary/ankle.dcm + + +Other groups +------------ + +The above tests pay no mind to which images are in which groups: +probably everything was done as the current user in their default group. +OMERO.downloader should be able fetch from outside the current group. +For example, try adding a ``-g `` option to the ``login`` in +some of the above workflows. One could even adjust the ``-u`` and ``-w`` +options in the "download" shell alias, and adjust the options given to +:command:`omero login`, to have an administrator try to download data +that a normal user has in a private group. Try a couple of different +types of download with the various ``-f`` options from the workflows to +|c| that any kind of data can be fetched from any group that the +download user can read. diff --git a/docs/testing_scenarios/OMEROfigure.rst b/docs/testing_scenarios/OMEROfigure.rst new file mode 100644 index 0000000..e6a616f --- /dev/null +++ b/docs/testing_scenarios/OMEROfigure.rst @@ -0,0 +1,555 @@ +.. contents:: + :depth: 2 + + +############ +OMERO.figure +############ + + + + +**To test in**: Web + +**Purpose of the test** is to check that the OMERO.figure as an OMERO.web application is functioning correctly. + +#. The redeployment of the daily CI servers currently causes the external + scripts to be lost. If you need to test the export script, you can reupload + it as follows where `servername` and `JOB_NAME` need to be replaced:: + + $ ssh + $ cd /home/hudson/OMERO.webapps/figure/scripts + $ eval $(bash /home/hudson/ice/ice-multi-config.sh ice35) + $ /home/hudson//bin/omero login root@ -w omero + $ /home/hudson//bin/omero script upload omero/figure_scripts/Figure_To_Pdf.py --official + + .. seealso:: + + :devs_doc:`Deployment servers ` + Table of the contributing documentation listing the servers and + their corresponding deployment job. + +#. Go to \https://.openmicroscopy.org/merge/webclient/, login to the webclient then click on Figure in top toolbar to open OMERO.figure in another tab. + +#. This first series of tests checks that saved and unsaved changes are not lost inadvertantly. Creating unsaved figure can be easily done by adding a single image to a new figure (note an image ID from the webclient). If you need to make more changes, simply copy, paste and move or edit the panel. + + +Saving files to OMERO +===================== + +**Test that saved figures are not lost** + +#. Select images in the webclient -> Open with (in tree OR right panel) -> OMERO.figure. This will open OMERO.figure in a new tab, adding the images to the figure. Try to include big images in the various testing scenarios. + + - |C| that the 'Save' button becomes enabled, indicating you have an unsaved figure. + +#. Save the figure (click 'Save' button or Menu: File > Save) and choose a figure name. 'Figure1' + + - |C| that the 'Save' button becomes disabled and the url updates with the figure ID. + - |C| that you can refresh your browser without any message popup and the figure is refreshed (not lost) + +#. Copy the url, then navigate to the webclient and logout. Open new window and paste the url. + + - |C| that after login, you are redirected to the saved figure. + +#. Make another change to 'Figure1' and Save. Go to File > New. Add an Image (copy image URL from webclient and paste into the Add Images dialog) and Save 'Figure2'. + + - |C| that no popup messages asked you to save. + - |C| that File > Open > Figure1 shows your latest changes to Figure1 (no 'save' popups) + - |C| that hitting the back button takes you to your saved Figure2 (no 'save' popups) + +**Test that unsaved changes are not lost on existing figures** + +#. Open a saved figure, make some changes without saving. Try to refresh the browser, navigate to webclient or close browser window. + + - |C| that you get a "Leave Page" or "Stay on Page" alert (or equivalent). + - |C| that choosing "Stay on page" cancels and returns to page, allowing Save. + - |C| that choosing "Leave Page" results in losing of unsaved changes (when you return). + +#. Again, open saved figure and make some unsaved changes. Try to create new file: File > New. + + - |C| that you get a "Save", "Don't Save" or "Cancel" dialog. + - |C| that "Cancel" returns you to the figure. + - |C| that "Don't Save" continues with the New File without saving. + - |C| that "Save" continues with the New File and the unsaved changes are saved. + - |C| that saving the New figure creates a NEW figure and does not overwrite the previous figure. + +#. Again, open saved figure and make some unsaved changes. Try to open figure: File > Open. + + - |C| that you get a "Save", "Don't Save" or "Cancel" dialog before the 'Open Figure' list. + - |C| that these choices work as described above. + +#. Open a saved figure, then open another saved figure and make some unsaved changes. + + - Now try hitting the browser 'Back' button. + - |C| that the url reverts to the first figure and you get a "Save" or "Don't Save" dialog. + - |C| that "Don't Save" results in the loss of your unsaved changes. + - |C| that "Save" does save the changes, when you return to the figure (using Forward button). + +**Test that unsaved changes on a NEW figure are not lost** + +#. Open a new figure, make some changes without saving. + + - Try to refresh the browser, navigate to webclient or close browser window. + - |C| that you get a "Leave Page" or "Stay on Page" alert (or equivalent). + - |C| that choosing "Stay on page" cancels and returns to page, allowing Save. + - |C| that choosing "Leave Page" results in losing of unsaved changes. + +#. Again, open new figure and make some unsaved changes. + + - Try to create new file: File > New + - |C| that you get a "Save", "Don't Save" or "Cancel" dialog. + - |C| that "Cancel" returns you to the figure. + - |C| that "Don't Save" continues with the New File without saving. + - |C| that "Save" opens a 'Enter Figure Name' dialog. + - |C| that a new figure is created with the chosen name and no changes are lost. + +#. Again, open new figure and make some unsaved changes. + + - Try to open figure: File > Open + - |C| that you get a "Save", "Don't Save" or "Cancel" dialog before the new figure is started. + - |C| that these choices work as described above. + +#. Open a saved figure, then open a new figure and make some unsaved changes. Now try hitting the browser 'Back' button. + + - |C| that the url reverts to the first figure and you get a "Save" or "Don't Save" dialog. + - |C| that "Don't Save" results in the loss of your unsaved changes. + - |C| that "Save" does save the changes, when you return to the new figure (using File > Open). + +#. Test renaming figures in the top toolbar. + + - Open a new figure, add a panel and edit the figure name by clicking where name usually appears. + - |C| that name is displayed when Enter is pressed or field loses focus. + - |C| that when figure is saved, suggested name is already filled in ``Enter Figure Name`` dialog. + - |C| that File > Open shows correct name in files list. + - |C| that renaming figure again and Save updates the name in the ``File > Open`` list + +**Additional tests below are for less critical features** + +#. Select ``File > Delete a Figure``. + + - |C| that when you try to delete couple of figures in a row, the workflow makes sense. + +#. Select ``File > Open`` to open an existing figure. + + - |C| that you can sort the file list by name and date. + - |C| that files can be filtered by name. + - |C| that only files you own are shown by default. + - |C| that you can choose to show other users' files or 'All files'. + - |C| that clicking on a Figure name opens the figure. + - |C| that there is a name of the Figure which is on display above the canvas. + +#. Check that exported PDF or TIFFs are linked to images they contain. Export a PDF or TIFF of a figure. Click image urls in the PDF to open in webclient. + + - |C| that these images are annotated with the PDF. + - |C| that the PDF also contains a link to the figure url itself. + - |C| that export to New OMERO Image creates a new image, and link appears when export is done. + + +Layout of image panels, paper setup +=================================== + +#. Add several images (all same width and height) to a new Figure. + + - |C| that when you paste a non-existent ID or URL, you get a warning message + - |C| that added panels are laid out as a grid that fills the width of the paper and all are selected. + - |C| that delete key removes selected panels. + - |C| that delete button in top toolbar removes selected panels. + - |C| that delete button is only enabled when one or more panels are selected. + +#. De-select panels by clicking on empty canvas space. Select by clicking/dragging on panels: + + - |C| that single click on a panel selects only that panel (other de-selected). + - |C| that shift-click adds panel to selection (others not de-selected). + - |C| that dragging-selection, starting on empty space, selects all panels covered by selection. + - |C| that shift dragging adds selected panels to selection (others not de-selected). + +#. Move and resize panels by dragging and keys: + + - |C| that click -> drag on unselected panel selects it and starts drag. + - |C| that click -> drag on selected panel / panels moves them without changing selection. + - |C| that up, down, left, right keys nudge all selected panels in the correct direction. + - |C| that dragging on corner handles resizes all selected panels, maintaining width/height ratio. + - |C| that dragging on side handle stretches width or height alone. + +#. Align selected images with toolbar buttons: + + - |C| that alignment buttons are only enabled when more than one panel is selected. + - |C| that 'align left' aligns all selected panels to the left-most selected panel. + - |C| that 'align to grid' snaps all selected panels to grid, starting at top-left panel. + - |C| that 'align top' aligns all selected panels to the top-most selected panel. + +#. Resize selected images with toolbar buttons: + + - |C| that 'align sizes' (width, height and width and height) resize all panels to match the dimensions of top-left selected panel. + - |C| that 'Align Magnification' resizes selected panels so that the scalebars in the all the selected panels have either equal, or proportional apparent length to the scalebar in the top-left panel. For example if top-left panel displays a scalebar representing 10 microns, all the selected images with scalebars representing 10 microns should have the same apparent length as the one in top-left panel after the alignment of magnification. The scalebars representing 100 microns in the other images should appear as being 10 times longer than the top-left image scalebar and so on. + +#. Copy and Paste duplicate panels into grid layout: + + - |C| that copy and paste works with keyboard short-cuts. + - |C| that copy and paste works with Menu items: Edit -> Copy/Paste. + - |C| that copy and paste of a 'column' of panels duplicates it to the right. + - |C| that copy and paste of a 'row' of panels duplicates it to the bottom. + +#. Test paper setup. Click File -> Paper Setup: + + - |C| that Number of Pages, Size and Orientation are shown correctly. + - |C| that changing the number of pages updates the figure. + - |C| that changing the page size updates pages in the figure. + - |C| that changing Orientation switches the width and height corretly. + - |C| that choosing Size > crop page... crops page to fit panels and will reduce multi-page figures to single page. + - |C| that setting the page color works as expected. + +#. Finally, export to PDF and TIFF + - |C| that layout corresponds to web UI. + - |C| that each page of multi-page figure has correct panels, page color, labels and scalebars. + + +Preview Tab - Z/T and rendering +=============================== + +#. Add image with multiple Z sections. Select panel and 'Preview' tab: + + - |C| that Z slider is shown beside viewer in Preview tab. + - |C| that current Z / total Z numbers are shown at bottom of slider. + - |C| that sliding Z updates Z number while sliding. + - |C| that when sliding stops, Preview viewer and selected panel update. + - |C| that Undo/Redo toggles to the previous Z-section. + - |C| that clicking the ^ and v buttons increment Z by 1, but stops at 1 or sizeZ. + +#. Copy and paste to duplicate image with multiple Z sections. Adjust Z on ONE of them, then select both: + + - |C| that Z slider is shown and is enabled. + - |C| that current Z is - / total Z at bottom of slider. + - |C| that clicking the ^ and v buttons increment Z by 1 (Z still different between panels) + - |C| that sliding Z updates Z number while sliding. + - |C| that when sliding stops, Preview viewer and selected panel update. + - |C| that current Z number is now shown (both panels same Z) + +#. Check behaviour of T-slider is same as Z-slider for all tests above. + + - |C| that for images that have timestamp data, time in hrs:mins:secs is shown while sliding. + +#. Select 2 images with different number of Z-sections. + + - |C| that Z-slider is disabled. + +#. Select 2 images with different number of T-sections. + + - |C| that T-slider is not disabled, but T-section is restricted to smaller sizeT. + +#. Select a panel with multiple Z, note Z-section, turn on Z-projection: + + - |C| that Z slider has 2 handles, +/- 2 from previous Z-section. + - |C| that Preview viewer and selected panel show Z-projected images. + - |C| that current Z-range is shown: start-end / total Z at bottom of slider. + - |C| that clicking the ^ and v buttons increment Z-start and stop by 1. + - |C| that dragging each slider updates start or end of Z-range. + - |C| that turning Z-projection off returns to single Z-selection. + - |C| that single Z-selection is mid-way between Z-start and end when projection is toggled. + - |C| that range of Z-start to Z-end is maintained when projection is toggled. + +#. Select a multi-channel image: + + - |C| that the channels are shown as 'toggle' buttons beside Preview viewer. + - |C| that channels can be turned on and off by clicking toggle buttons. + - |C| that Preview viewer and selected panel images are updated. + - |C| that Channel color can be changed via drop-down button beside toggle buttons. + - |C| that *Invert* option works in the channel color drop-down. + - |C| that Color-picker option launches color-picker and this works OK. + - |C| that Lookup tables work as expected. + - |C| that Channel sliders behave as expected and update viewer and panel on stop. + - |C| that you can enter numbers into the Channel start/end fields and slider updates accordingly. + +#. Select multiple images with the same channel count. + + - |C| that channel ON/OFF and color changes are applied to all selected images. + +#. Turn a channel ON in one panel and OFF in another. Select both. + + - |C| that if toggling the channel turns it ON in all selected panels. + +#. Change channel color in one panel and select both. + + - |C| that a 'null' grey color is shown on the toggle button. + - |C| that picking a new color is applied to all selected panels. + +#. Change channel sliders start/end to different values in different panels. Select both. + + - |C| that start/end numbers are replaced by - where values are not same in all panels. + - |C| that changing start/end values applies to all panels and value replaces -. + +#. Select multiple images with different channel counts. + + - |C| that channel toggle buttons and channel sliders are not shown. + +#. Finally, export to PDF and TIFF + + - |C| that layout corresponds to web UI and check that rendering settings, LUTs, Invert etc. look right. + - |C| that each page of multi-page figure has correct panels, labels and scalebars. + + +Preview Tab - Zoom, pan and rotation +==================================== + +#. All behaviours below need to be tested on Big (tiled) images and small images. + +#. Test behaviour of Zoom and Pan. Select a panel. + + - |C| that changing Zoom slider updates viewer while sliding. + - |C| that stop of Zoom slider updates selected panel too. + - |C| that dragging the viewer image pans the viewer. + - |C| that when dragging ends, the selected panel updates too. + - |C| that Zooming back out to 100% resets the panning to zero offset. + - |C| that max zoom level is appropriate for images of different sizes. + +#. Test cropping to region. Select one or more panels and click the crop button below zoom slider. + + - |C| that a dialog opens showing image at current Z/T with the current crop region shown. + - |C| that a region can be drawn on the image by click and drag. + - |C| that the region can be manipulated by dragging corner or side handles or the whole region. + - |C| that clicking OK crops the selected panels to the chosen region, keeping within existing boundaries. + - |C| that clicking Reset button restores the shape of the panel to the shape of the image and sets Zoom at 100%. + +#. Test crop to ROI. Choose a timelapse image that has multiple Rectangular ROIs in OMERO. Select several panels from the same Timepoint. Click crop button. + + - |C| that the crop dialog loads and shows Rectangle ROIs from OMERO with Z and T indices. + - |C| that clicking ROIs shows them in the dialog viewer, updating to the correct Z/T plane. + - |C| that choosing a single-Rectangle ROI updates all seleced panels to the shape of the selected ROI + and to the Z and T indices on which this ROI is drawn. + - |C| that if panels with a range of Timepoints are selected, the T value is not changed. + +#. Test rotation of panels. + + - |C| that rotation slider is shown when rotation icon clicked. + - |C| that while sliding rotation, viewer is updated. + - |C| that when rotation sliding stops, selected panel updates too. + - |C| that rotation of the image is centered on the centre of the viewer. + +#. Zoom and drag to pan the rotated image in the viewer. + + - |C| that the zooming and panning behaves correctly. + - |C| that additional rotation is centered on the new centre. + +#. Test rotation with multiple panels selected. + + - |C| that rotation and zoom sliders show average values. + - |C| that update to zoom syncronises zoom but not panning in selected panels. + - |C| that update to rotation syncronises rotation in selected panels. + - |C| that dragging on viewer image pans to same spot for all selected panels. + +#. Finally, export to PDF and TIFF to check that it looks same + + +Labels Tab +========== + +#. Test adding a scalebar. Add an image that does NOT have pixel size metadata. Select the image and the Labels tab. + + - |C| that pixel size is 'NOT SET'. + - |C| that pixel size can be edited by clicking on it, editing and 'Enter'. + - |C| that selecting an image WITH pixel size metadata, it is shown correctly. + - |C| that clicking 'Show' adds a scalebar to selected panel. + - |C| that editing the length, position $ color of the scalebar update scalebar on selected panel. + +#. Test scalebar label. + + - |C| that clicking 'Label' on the scalebar dialog adds a label above scalebar on the figure panel. + - |C| that a font-size widget appears in the scalebar form. + - |C| that choosing a different font-size for the label updates the label in the selected panel. + - |C| that unchecking / rechecking 'Label' checkbox hides and shows the label. + - |C| that moving scalebar to top left or right of panel shifts label below the scalebar. + +#. Test units display and conversion. You need an image that has different units for pixel size. See https://docs.openmicroscopy.org/latest/omero/developers/Python.html#create-image and look for "Set the pixel size using units" for how to edit this. + + - |C| that the unit of pixel size is shown in the scalebar dialog. + - |C| that the unit is also shown on scalebar labels. + - |C| that saving figure and refreshing the page preserves units display. + - |C| that 'Align magnification' conversion works correctly when images with different units are chosen. + +#. Select multiple panels, with some showing, some NOT showing scalebars. + + - |C| that clicking "Show" adds scalebar to all panels. + +#. Select multiple panels, with scalebars of different lengths / location / color / label / font-size + + - |C| that editing scalebar length / location / color / label / font-size applies change to all selected panels. + - |C| that zooming of the image (in Preview tab) updates scalebar size accoringly. + +#. Test manual adding labels to one or more panels. + + - Select an image and enter some text in the 'Add Labels' form. Hit Enter. + - |C| that label is added to the selected image with default parameters. + - |C| that choosing different font-sizes / position are shown in new labels. + - |C| that color-picker works for picking label color. + - |C| that adding a white label outside the panel creates a Black label. + - |C| that multiple labels added to a single position are stacked in rows. + - |C| that markdown syntax works for italic and bold fonts in labels. + +#. Test creating labels from metadata to one or more panels. Select 'Image Name' from the drop-down option under 'Label' field. + + - |C| that new label is created with Image name. + - |C| that new label can also be created with 'Dataset Name'. + - |C| that 'Tags' option creates new labels from Tags on each selected image. + +#. Create new labels from 'Channels' option. + + - |C| that labels are only created from active channels. + - |C| that labels are colored according to channel color. + +#. Add a time-lapse image with time-stamp info, E.g. DV movie. + + - |C| that 'Time' drop-down options are only enabled if timestamp info exists. + - |C| new labels created with 'Time' add correctly formatted time label to each panel. + - |C| that scrolling through time (in Prevew tab) updates timestamp labels on each panel. + +#. Test editing existing labels on multiple panels. + + - |C| that identical labels on multiple panels are combined under 'Edit Labels' (no duplicates). + - |C| that editing all labels update labels on selected panels. + - |C| that Time-stamp labels can be updated for Size, Color and Position without affecting time shown. + +#. Finally, export to PDF and TIFF to check that all labels and scalebars looks the same as in web. + + - |C| that the PDF includes a note about the length of scalebars in the figure. + - |C| that scalebar labels appear the same in the PDF as in the web figure. + + +ROIs +==== + +#. Test drawing of ROIs. + + - |C| that ROI viewer is launched when the 'Draw' button is clicked. + - |C| that you can choose shape type with the toolbar buttons. + - |C| that you can draw a Rectangle, Ellipse, Line and Arrow. + - |C| that holding down Shift key while creating/updating shapes constrains shape to cicle, rectangle, or horizontal/vertical line. + - |C| that you can tweak the last-drawn shape while still adding more shapes (without switching to select mode). + - |C| that Select mode allows you to select single shapes with click, multiple shapes with drag. + - |C| that currently selected shape(s) color and line width are shown in toolbar (or defaults are chosen if not the same in all shapes). + - |C| that changing the color and line width updates the currently selected shapes. + - |C| that selected shapes can be copied, pasted and deleted using Edit menu or keyboard shortcuts. + - |C| that clicking OK closes the dialog and updates the figure with shapes. + +#. Test loading ROIs from OMERO by clicking *Load ROIs* in ROIs dialog, using a multi-plane image with a number of different ROI shapes on it (Ellipse, Rectangle, Line, Arrow, Polyline, Polygon). + + - |C| that *Load ROIs* button is disabled if image has no ROIs in OMERO. + - |C| that clicking button loads and displays ROIs from OMERO. + - |C| that hovering over each Shape shows it temporarily on the image. + - |C| that clicking on a Shape in the list moves the image to the corresponding Z/T index. + - |C| that clicking Add adds the shape to the image and selects it. + - |C| that added shapes can be edited (drag, resize, color, line-width) including Polyline and Polygon. + - |C| that saving figure and refreshing correctly reloads all shapes. + +#. Copy and Paste ROIs. + + - Draw some ROIs in the ROI dialog, OK to close. + - |C| that the number of ROIs in selected panels is shown at top of Labels tab. + - |C| that you can now copy all the ROIs on the panel with the Copy button. + - |C| that you can paste ROIs onto another panel (or panels). + - |C| that you can also Delete all ROIs on selected panels with the Delete button. + - |C| that you can use the Colour and Line width choosers on the ROI controls on the Labels tab to apply chosen colour or line width to all shapes in selected panels. + +#. Copy and Paste crop region. + + - |C| that the View x, y, width height update in the Preview tab when you zoom and pan the viewport. + - |C| that you can copy the crop region and paste onto another panel / panels. + - |C| that multiple selected panels with different view regions show '-' for x, y, width, height. + - |C| that the "Crop" button launches the crop dialog and the "Reset" button reverts to uncropped panel. + +#. Copy ROIs Rectangle -> Crop region. + + - Duplicate a panel by copying and pasting the panel + - Copy a single Rectangle on the first panel by opening the ROI viewer, selecting/drawing a rectangle and 'Copy'. + - |C| that clicking Paste in the Preview tab crops the other panel. + - |C| that crop region matches the region highlighted by the rectangle in first panel. + +#. Copy Crop region -> Rectangle. + + - Again, copy and paste a panel to duplicate and zoom and pan one panel to chosen viewport. + - Copy the view region by clicking Copy in the View section of the Preview tab, select the other panel and click Paste under the ROI header of Labels tab. + - |C| that a new Rectangle ROI is created and this corresponds to the viewport region of the other panel. + - |C| that you can then update the colour / line width of this rectangle using the ROI color and line width controls. + +#. Crop dialog using regions from Clipboard or ROIs on the image + + - Copy some ROIs (including Rectangle(s)) to the clipboard. + - Open the Crop dialog (green button) on an image that has some Rectangular ROIs drawn on it. + - |C| that you can pick regions from the clipboard or from ROIs on the image and use these to crop the image. + - |C| that if you are cropping an image that has ROIs on it, you are asked if you want to remove these ROIs when you crop it. + - |C| that clicking Yes, No or Cancel on this dialog has the expected effect. + +#. Finally, export to PDF and TIFF to check that ROIs look the same as in web UI. + + - |C| that rotated images have ROIs showing in correct location on export. + - |C| that multi-page figures have ROIs in correct location on all pages. + + +Info Tab +======== + +#. Test Info for a single panel. Select panel and click the 'Info' tab. + + - |C| that Image Name is shown at the top of Info tab. + - |C| that other metadata (sizes and channels) are shown and correct. + - |C| that clicking 'Show in webclient' shows image in new tab. + - |C| that resizing or moving panel updates x, y, width, height while dragging. + - |C| that DPI value is updated while resizing. + +#. Test Info for a multiple panels. + + - |C| that number of panels selected is shown in place of Name. + - |C| that clicking 'Show in webclient' shows images in new tab. + - |C| that metadata is shown only if it is same in all panels. + - |C| that x, y, width, height are shown only if same in all panels. + - |C| that DPI is shown only if same in all panels. + +#. Test Open-with with one or more images selected. + + - |C| that single image can be opened in webclient and Image viewer (and iviewer if installed). + - |C| that multiple selected images can be opened in Webclient (both selected if in same Dataset) and iviewer. + +#. Test Editing the ID for multiple panels. Copy and paste panels to create multiple panels from the same Image. + + - |C| that 'Edit ID' button is only enabled if all selected panels have the same Image ID. + - Pick another similar image in webclient. Note ID. Select multiple panels with same ID and click 'Edit ID'. Enter new image ID. + - |C| that 'Preview' is only enabled when valid ID is entered. + - |C| that clicking 'Preview' displays new image thumbnail and other metadata. + - |C| that Green/Red flags are shown where x, y, z, c, t matches. + - |C| that warning are shown below in Red if new image has fewer timepoints / channels than selected panels. + - |C| that other mismatches are shown as Green messages. + - Click 'Update' to replace selected panels with new image. + - |C| that Timepoints and Channels are preserved but Z-indecies are not. + +#. Test setting the panel x, y, width and height on a multi-page figure. + + - |C| that x and y coordinates apply to the page that the panel is on. + - |C| that setting x and y for muliple panels on different pages works as expected. + - |C| that setting width and height of panels works. + - |C| that the aspect ratio can be preserved by clicking to link width and height. + +#. Test the display and update of panel resolution (dpi). + + - |C| that the 'dpi' is displayed for each panel and updates when zoomed or resized. + - |C| that the "Set dpi" button allows you to choose a min and max dpi for export in the pop-up. + - |C| that you can change the max dpi (a valid number is required) but setting min dpi is optional. + - |C| that if the export dpi is shown in the Info tab if different from the default dpi. + - |C| that you can remove the minimum export dpi with the X button. + - |C| that if the export dpi is expected to be > 300 that the image appears interpolated, not pixelated. + +#. Finally, export to PDF and TIFF to check that it looks the same as the web UI. + + - |C| that dpi is as expected in exported PDFs using Adobe Illustrator and https://web.archive.org/web/20200223222335/http://swainhart.org/how-to-check-the-dpi-of-an-image-in-adobe-illustrator-cs5/. + - |C| that export 'with images' includes extra folders with images that have been interpolated (this will be all images for TIFF export). + + +Export Options +============== + +#. There are 4 export options: PDF, PDF with Images, TIFF and TIFF with images. Choose each in turn and export: + + - |C| that the TIFFs or PDF figures look the same as they do in the web. + - |C| that when 'with Images' option is chosen, the export should produce a zip containing 3 directories of images (original, pre-resampled and final). Images named the same in each directory should show progression of processing. + - |C| that single page figures produce a single TIFF image download when 'TIFF' (no images) is chosen. + - |C| that multi-page figures produce a zip of TIFFs (one per page) with a PDF 'info' page. + diff --git a/docs/testing_scenarios/OMEROiviewer.rst b/docs/testing_scenarios/OMEROiviewer.rst new file mode 100644 index 0000000..c29b041 --- /dev/null +++ b/docs/testing_scenarios/OMEROiviewer.rst @@ -0,0 +1,131 @@ +OMERO.iviewer +============= + +**To test in**: OMERO.iviewer + +#. With the OMERO.iviewer configured as the default viewer in webclient, adjust settings in Preview panel and then click "Full Viewer" to open iviewer. This should work the same both when you saved the settings in the Preview and when you did not save. + + - |C| that the rendering settings are in the URL and are respected (channels on/off, levels etc.). + - |C| that adding Zoom, X, Y, Z & T to URL are respected in big / multi-plane image as appropriate: e.g. ?zm=50&x=300&y=500&z=10&t=5 + +#. In webclient, select multiple Images or a Dataset or Well and test "Open with > OMERO.iviewer". + +#. In the left hand column, note the images thumbnails. + + - |C| that scrolling to the bottom of the column loads more images from the same dataset or selection + - |C| that the thumbs refresh correctly when changes to the dataset or selection have been made + + +#. In the settings pane, adjust the rendering settings and save them. Use histogram and LUTs. Scroll through Z or T on the image. + +#. |C| that the scalebar is in the bottom left of the image, try to move it. + +#. |C| that the full-screen button is on the very top right of the central pane. + +#. Click the Crosshairs icon at the top right of the viewer to enable the pixel intensity display for the mouse pointer. Then mouse over the Image to see the pixel intensities for the channels turned on. + +#. |C| that the X, Y position of the mouse is indicated in the top right corner. + +#. Select sequentially all the ROI tools (Rectangle, Ellipse, Line, Arrow, Polygon, Polyline, Point, Label) in the right-hand pane and draw each ROI on the Image, using Click-Move-Click (not drag) and Save them using Save button. + +#. Draw again all the ROI types but do not save them. + +#. Go back to each ROI you have drawn (both saved and unsaved) and try to Edit them by + + - moving the ROI around + - changing the shape of the ROI (re-shaping it) + +#. Draw also a couple of other ROIs on different Z planes. + +#. Draw ROIs which are associated with a concrete z,t as well as ROIs which are "floating". To draw "floating" ROIs, unlock the lock to the right of the "Z" and "T" boxes above the toolbar of the ROI tab. + +#. |C| that the ROIs drawn with the "Z" and "T" boxes unlocked do not have any values in the Z and T columns of the ROI table. + +#. Drag on the Image to pan. + +#. Zoom in and out by + + - scrolling the mousewheel + - using the controls on the top left of central pane + - using trackpad + +#. |C| the "fit to size" and "1:1" resizing buttons on the top left of central pane. + +#. Test the birds eye view functionality and panning and zooming on. Find links to images in the testing sheet or import them or similar images from indicated locations. + + - Big, tiled image, e.g. the ``[Series 1]`` image of ``ome/data_repo/curated/alexandra/UMD001_ORO.svs`` (sizes over 4000 x 4000 pixels, but can be configured, so choose a much larger image than the limit) + - Large image (tiled in iviewer, but not in OMERO) (between 4000 x 4000 and 2000 x 2000 pixel size, e.g. 2477 x 3498 pixels) + - Small image (not tiled in iviewer), e.g. the ``[Series 2]`` image of ``ome/data_repo/curated/alexandra/UMD001_ORO.svs`` (less than 2000 x 2000 pixels). Note that you have to expand the birds eye first as it is collapsed by default for small images. + +#. Using Shift-drag, rotate the image (using selection tool), draw a rectangle or an ellipse or draw “freehand” (polygon, polyline). + + - |C| that after rotating the image, the arrow icon on top right of the central pane resets the image back to the 0 degree rotation. + +#. Click on each type of ROI in the right-hand pane ROI table. This should bring the viewport to the position where the selected ROI is in the middle of it and navigates the viewport to the timepoint and z section the ROI is associated with. + +#. Select several ROIs from different Z planes in the ROI table. Shift-click to select a range, Cmd-click to select several ROIs. + + - |C| that the selected ROIs are highlighted in blue in the image and the ROI table. + - |C| that the table scrolls to show selected row. + +#. Select multiple ROIs in the image using Cmd-drag. + + - |C| that the selected ROIs are highlighted in blue in the image and the ROI table. + +#. Save the ROIs. Export the Intensities, areas and line lengths into Excel. Select, in the top-left corner ROIs > Export (CSV). This will export the values from the selected ROIs. + +#. If possible, open a Big image and a multi-Z/T image with as many ROIs as possible. + + - |C| that ROIs are paginated if more than 500 on any plane. + - |C| that ROIs are loaded for each plane viewed. + - |C| that new or edited ROIs are not lost when moving between Z/T/page: "Save first" dialog is shown. + +#. Delete some ROIs. Note that the deletion of saved ROIs just highlights these as red in the ROI table. The deletion is executed only after the Save button has been clicked. The unsaved ROIs should disappear immediately from image and table after deletion. Try deleting using + + - Delete key on keyboard + - Backspace key on keyboard + - Delete button in iviewer + - Main menu (ROIs > Delete) + +#. Save the viewport by selecting in the top left corner File > Save Viewport as PNG. + +#. Open multiple viewers by double-clicking on thumbnails or dragging them to centre panel + + - |C| double-clicking opens the first 4 images in 2x2 grid, then randomly places others. + - |C| dragging a thumbnail to the centre opens in a new viewer (same as for double-clicking), unless dragged into an existing viewer window when it should replace the image. + +#. Use a multi-z image for the two following steps. Compare the two channels of one of the Images in multi-image view: + + - Double-click on the thumbnail of the already opened Image in the left-hand pane of the viewer. This will open the Image again in a new window. + - Select sequentially both of the windows and in the right-hand pane in the Settings tab switch all channels except one off e.g. the green for one window, blue for the other window. + +#. Synchronize the viewport windows by adding them both to the same sync Group. Select one window, click the sync icon in the top-left corner and select the first option (lock with number 1) in the dropdown menu. Repeat for the other window. + + - |C| that both Images have the Z/T and View (zoom and position of viewport) synchronized. Note that you have to first drag or zoom in or change Z/T in one of the windows to see this synchronization. + - |C| that a single click on a thumbnail of another image in the left-hand column of iviewer displays that image in the active window, but does not open a new viewport. + +#. Find in the Info tab the link to Dataset. + + - |C| that clicking on the link brings you to the Dataset. + +#. Make a projection on a multi-z image. Save projection as a new image. File > Save projection as a new image + +#. Copy ROIs + + - from one image to another and |C| that the ROIs are pasted on the same position if the other image is equal in size + - onto the same image + - using the keyboard shortcuts + - using main menu (ROIs > Copy and ROIs > Paste) + - using the Edit menu in the right-hand pane above the ROI table + +#. Check the tooltip on the ROI table - each tooltip should have + + - ID of ROI + - ID of Shape + - owner (first and last name) + +#. Masks can be created using `script `_ or you can find a link to image with a mask in the testing sheet + + - Open an image with a mask in iviewer and + - |C| that you can see the mask in the ROI table (cannot be edited) + - |C| that you can see the mask in the viewer on the image as red object (hide and show it alternately in the ROI table to be sure that you are viewing the mask) diff --git a/docs/testing_scenarios/OMEROmtools.rst b/docs/testing_scenarios/OMEROmtools.rst new file mode 100644 index 0000000..5024b04 --- /dev/null +++ b/docs/testing_scenarios/OMEROmtools.rst @@ -0,0 +1,148 @@ +############ +OMERO.mtools +############ + + + + +**To test in**: OMERO.mtools + +**Purpose of the test** is to check that the OMERO.mtools starts, connects to OMERO server and performs its functionality on Mac and Windows. + +Installation +============ + +#. Copy the appropriate installer (Mac/Windows) from ``squig:\team\mporter\mtools testing versions``. The Mac installer contains the Matlab Compiler Runtime (MCR) so it will be a very large file. +#. Execute the installer and follow on-screen prompts, accepting the default locations and settings + + - Windows: The installer will check for the presence of the correct MCR. If not found it will download and install this for you. Please accept the default locations and settings. + - Mac: The installer will install the MCR. If you know it is already installed then this step can be cancelled. If you are unsure then please allow this process to continue, accepting the default locations and settings. +#. After the installer has completed, OMERO.mtools will be listed in your Start menu (Win) or Applications folder (Mac). +#. Launch the application and type in the username, password and server name. It will attempt to log in when you press the button of the tool you wish to run. + + +BoxIt Feature +============= + +#. Import following images from ``squig:\ome\data_repo\curated\deltavision\michael\mtools`` into a suitable project/dataset (ALL mtools WORKFLOWS REQUIRE FULL PROJECT/DATASET HIERARCHY):: + + 090829_HeLa_siCTL_coilin_ATUB01_01_R3D_D3D + 090829_HeLa_siCTL_coilin_ATUB01_02_R3D_D3D + 090829_HeLa_siCTL_coilin_ATUB01_03_R3D_D3D + +#. Ensure the username, password and server address are entered into the text boxes +#. Click on the `Box It` button to log in to the server and open the tool. In the dialogue that pops up choose the group that contains the images imported in step 1. +#. The main application window should now be displayed. From the file menu choose `Open Image…` or press ctrl+O/cmd+O +#. In the drop-down boxes, select the project and dataset used in step 1 and open the first image. An image of DAPI stained nuclei should be visible. The `Next Image` button should be enabled and the `Previous Image` button should be disabled. +#. Click the `create ROI` button (white box on a red background) and click/drag to select a region around one of the nuclei. The application will now download the z-stack. +#. If multiple objects were detected a dialogue will appear asking you to choose an object. In this window click on the cell that you intended to capture in the ROI. +#. Repeat steps 6 and 7 for a few more cells. +#. From the `File` menu click `Save ROIs` or press ctrl+S/cmd+S. +#. Click on the `Next Image` button. Verify that image 2 loads. +#. Repeat steps 6 to 9 for this image. +#. Click on the `Next Image` button. Image 3 should load and the `Next Image` button should now be disabled. +#. Exit the application by closing the window. You should be returned to the main menu window. +#. Open these images in Insight and verify that the ROIs exist. + +Testing EventTimer +================== + +#. Import images from ``squig:\ome\data_repo\curated\deltavision\michael\mtools`` into a suitable project/dataset (ALL mtools WORKFLOWS REQUIRE FULL PROJECT/DATASET HIERARCHY):: + + RPE1-CAG_Trans_01_01_R3D + RPE1-CAG_Trans_01_02_R3D + + +#. In Insight open each of the new images and create some rectangular ROIs that are propagated over some time points. The time points for an ROI should be consecutive, without gaps. +#. Open mtools and ensure the username, password and server address are entered into the text boxes. +#. Click on the `Event Timer` button to log in to the server and open the tool. In the dialogue that pops up choose the group that contains the images imported in step1. +#. The main application window should now be displayed. Press the `Add/Remove Datasets` button and in the dialogue that appears select the project and dataset containing the images from step 1. Press the `+` button to add this dataset to the analysis queue and press `OK` to return to the main window. +#. Check the box to `Save masks` and accept the warning about the time it takes to process. +#. Add a number of frames to the start and end of each ROI by entering a number in the related text boxes. +#. Press `Begin Analysis` and look for the progress bar moving as the mask images are uploaded to the server. +#. Once analysis is complete a save file dialogue will appear. Save the results spreadsheet/.csv to a convenient location. +#. The application can now be closed. + + +#. In Insight, check for the masks images:: + + RPE1-CAG_Trans_01_01_R3D_masks + RPE1-CAG_Trans_01_02_R3D_masks + + +#. |C| that these images are mostly black, except for the areas enclosed by the ROIs in the corresponding original images (= event areas). +#. Scroll through t and watch for these events appearing in the mask images and + + - |C| that each event will display the event number in the top left corner of the event area. + - |C| that the number is present in the time points that match those of the ROIs in the original image. + - |C| that the numbers are not present in time points before/after the ROI. + - |C| that the correct number of frames has been added to the start/end of the events, as specified in step 7. + + +Testing Label Images +==================== + +#. Open mtools and ensure the username, password and server address are entered into the text boxes. +#. Click on the `Label Images` button to log in to the server and open the tool. In the dialogue that pops up choose a group that contains images of various sizes. +#. In the main application window, select `File` -> `Open Image` and browse to an image up to 1024 x 1024 in size that has multiple z-sections and/or time points. +#. Click `Add label` and enter some text for the new label. Choose a colour from the drop-down list. Click `OK`. +#. Repeat step for a few times, varying the text and colour chosen. +#. Inspect the drop-down list of labels you have created. Delete one of the labels and check that the drop-down list updated correctly. +#. Click the `Create point` button (cross-hairs) and place a few points on the image. +#. Click the `Select point` button (arrow) and select a point. The point should turn white. +#. Select a few more points and check only the selected point is white. +#. Delete some of the points: select one and hit the `Delete selected point` button, or press `Del` on the keyboard. +#. Add points from the various labels you have created to various z-sections/time points of the image. From the View menu test the `Flatten points in Z/T` options. +#. Click the `Zoom in` button (+ magnifying glass) and click on the image to zoom in to that region. Do this again to zoom in further. +#. Click the `Zoom out` button (- magnifying glass) to zoom right out to see the whole image again. +#. Play with adding/selecting/deleting points whilst zoomed in at the two zoom levels on various z-sections/time points. +#. From the `File` menu, select `Save Points` to save the points to a location on your computer. Note the image name should be automatically filled out as the name of the file. +#. From the `File` menu, select `Save Label Definitions` to save the label definitions to a location on your computer. +#. Add some more labels to your drop-down list (step 4). +#. From the `File` menu, choose to `Open Label Definitions`. Observe the question dialogue that appears, and select to continue. Browse to and select the labels definition file saved in step 16. +#. Inspect the labels drop-down to confirm that the labels are as they were when you saved them in step 16. + +#. Repeat the opening and creation of points with three more images, one image at a time, and each time save the points to your computer. +#. From the `Analysis` menu, choose `Batch analysis`. In the text box make up a name for an experimental condition (e.g. siCtrl). Click `Add Points Files` and browse to and select two of the points files saved earlier. |C| that this condition appears in the list box. +#. Enter a second experimental condition (e.g. siRNA), click `Add Points Files` and browse to and select the other two points files created earlier. |C| that this condition appears in the list box. +#. Click `Analyse` and in the dialogue that appears select a location to save it to. Creating a new directory is recommended for this analysis. Specify a name for the save file and click `Save`. +#. As the progress bar moves, the data is being written out to .xls (Windows) or .csv (Mac). When this is complete, open these files in Excel to inspect them. Note that there will be files for each image analysed plus the summary file that you named in step 23. +#. Select the ``Analyse the points on current image`` menu item under ``Analysis``. |C| that the output is one (csv or xls) file corresponding to the image which was at display at the time of execution of the command. +#. Try to open one of the very large images. It should handle two different scenarios here: + + - A large image that has been imported but not yet viewed in Insight/web (i.e. no rendering settings exist yet) + - A pyramidal image that will take a long time to download. + +Please investigate whether these scenarios play out correctly (i.e. there is a warning asking you to open the non-rendered image in Insight or Web first). Note that it may take a LONG time for a very large image to appear, so don’t assume too quickly that it has crashed. + + +Testing Intensity Measurement tool +================================== + +Prerequisites: + - Some small number of images (multi-Z, multi-C, not ‘large images’) across some number of datasets/projects + - Rectangular, multi-Z ROIs encompassing some object in the images (e.g. a cell) + + - ROIs can be produced via BoxIt or the measurement tool in Insight + - ROIs can be distributed as single ROI or multiple ROIs per image + +#. Launch mtools and enter the user credentials. Click on ‘Intensity Measure’ and select the correct working group when the dialogue appears. The main programme window will appear. +#. From the ‘File’ menu click ‘Choose Datasets’ +#. In the Dataset Chooser dialogue use the drop-down control to select a project. The datasets will be listed in the left-hand ‘Datasets:’ list. Select a dataset and click the ‘+’ button to add it to the ‘Datasets to analyse:’ list on the right-hand side. +#. Repeat step 3 to add all of the desired datasets, from whichever projects are necessary, containing the images from the ‘Prerequisites’ section. +#. Incorrect datasets can be removed from the analysis list by highlighting and clicking the ‘-‘ button. The whole list can be cleared by clicking the ‘x’ button. +#. Once all of the datasets have been selected, click the ‘ok’ button. The programme will now go through each selected dataset and find all of the images containing rectangular ROIs. +#. Focus will now return to the main programme window. After a few seconds a thumbnail of the first image will appear in the left-hand viewer with the first ROI drawn in green. After a few more seconds the right-hand viewer will display an example of the default ‘Otsu’ segmentation of the first channel in the image. +#. The channel for segmentation can be changed in the drop-down box in the top-centre panel. The right-hand viewer will update with the new segmentation. Choosing ‘Separate Objects’ and clicking ‘Preview Segmentation’ will update the image again, with a different grey-scale representation of each object. +#. The segmentation algorithm used can be changed in the bottom-middle panel. ‘Otsu’ is the default. Other methods can be chosen here and you must click the ‘Preview Segmentation’ button the see the results of this. For ‘Absolute threshold’ you can use the horizontal slider under the right-hand viewer to adjust the threshold value or enter a value in the text box between the viewers. Again, click ‘Preview Segmentation’ to see the results. An adaptive threshold of ‘ROI mean + x * standard dev.’ can be adjusted by entering a number in the text box. +#. Small objects can be filtered out by specifying a ‘Min object size’ in the text box between the viewers, and the mask can be expanded in the same way. Click ‘Preview Segmentation’ to see the results of this. +#. Choose one or more channels to measure by ticking the boxes in the bottom-left panel. There are two columns for each channel in the image: ‘Measure directly’ takes intensity values directly under the segmentation mask for the chosen channels. ‘Measure around’ takes intensity values that are not under the mask. There is an optional tick box, ‘Use x pixels annulus with y pixel gap’, for constraining the ‘around’ measurement to only x pixels in width close to the mask with a y pixel gap. +#. Once segmentation parameters have been chosen, the effect on another image from the selected datasets can be assessed. Use the ‘Select Image:’ drop-down at the top-left of the programme window. This will load the image chosen and perform the segmentation. +#. The ‘Verify Z-sections’ tick box will generate a potentially time-consuming workflow, depending on the number of images/ROIs chosen for analysis. Leave this unticked for now, we can cover it later. +#. The ‘Save masks to server’ tick box will save a new mask image for each intensity image back into the relevant datasets. +#. Once all settings have been chosen, click the ‘ok’ button. A progress bar window will appear and increment as the programme analyses each of the images in the queue. +#. When the analysis has completed you will be prompted to save a local copy of the spreadsheets/csv files. Choose a location and change the name of the file if desired. +#. After several seconds the ‘attachResults’ dialogue will appear. Select one or more projects/datasets and click ‘Attach to Selected’. This will upload a copy of the data files to the server and link them to the selected objects. Success can be confirmed in insight. This will end the workflow and return you to the initial menu window. + +If attaching the results to projects/datasets is not required, click the ‘Cancel’ button. A confirmation dialogue will appear. Clicking ‘No’ will allow you to select projects/datasets again. Clicking ‘Yes’ will end the workflow and return you to the initial menu window + diff --git a/docs/testing_scenarios/OMEROsearcher.rst b/docs/testing_scenarios/OMEROsearcher.rst new file mode 100644 index 0000000..35b85c4 --- /dev/null +++ b/docs/testing_scenarios/OMEROsearcher.rst @@ -0,0 +1,193 @@ +OMERO.searcher +============== + + + + +**To test in**: Web + +**Purpose of the test** is to check that the OMERO.searcher as an OMERO.Web application is functioning correctly. + +NB: Because the image features are being stored in two different places, which may occasionally get out of sync, it is important to run the ``Omero searcher Rebuild Content DB`` script in following cases: + - after you deleted features + - after you got an error when calculating features normally (= as described in step 2 below) + - after you disabled content DB update (by ticking a box in the feature calculation script, see step 4 below) + + +#. Login to the server mentioned in PR or testing setup. + + + +#. Run the Feature Calculation script "normally" + + - Select an image and go Scripts > searcher > Omero searcher feature calculation [:ref:`OMERO.searcher001a`] + - In the script dialog, make sure you tick ``Advanced Features`` and ``Recalculate Existing Features`` [:ref:`OMERO.searcher001b`] + - Do not tick ``Disable ContentDB Update`` [:ref:`OMERO.searcher001b`] + - |C| that an attachment was created with the calculated features (cannot be viewed atm) + +#. Run 2 Feature Calculation scripts in parallel with an error + + - make sure you have 2 projects or datasets ready with many images in each of them + - start the Feature Calculation script as in step 2 above on one of the 2 P/Ds + - immediately (when the previous calculation is still in progress) start a second Feature Calculation script running on the other P/D + - |C| that you get an error in the script run saying something like ``WARNING:omero.gateway:OptimisticLockException on `` + +#. Run 2 Feature Calculation scripts in parallel without any error + + - repeat step 3, this time checking the box ``Advanced Features``, ``Recalculate Existing Features`` AND ``Disable ContentDB Update`` in both script runs [:ref:`OMERO.searcher002`] + - |C| that this time both scripts ended successfully and the attachments on images inside the datasets (not on the datasets themselves) were created + +#. Run ``Rebuild Content DB`` script + + - Go Scripts > searcher > Rebuild Content DB + - |C| that the script ended up successfully [:download:`002b `]. + +#. Search for images + + - Select an image which you have calculated the features for. + - Go to the ``searcher`` tab (right-hand pane). + - Select the Featureset for which you Rebuilt Content DB [:ref:`OMERO.searcher003`] + - Click ``Do Search`` + - |C| that a list of images was found in the middle panel + +#. Refine search + + - In the list of images found in previous step, select the positive and negative examples to refine your search (click the radio button) + - Click the ``Refine Search`` button in the left-hand pane + - |C| that the search results match now better the original image + - Change the Retrieved images number from 100 to 20 + - Click ``Refine Serach`` + - |C| that the results are now identical with the top 20 results of the previous search + - Change the Retrieved images number back to 100 + - |C| that after click on "Refine Search" you get the same results as before + - |C| that there are no duplicates in the search results + - |C| that the images you deemed to be ``negative`` do not appear in the search results or appear near the end of the search results if there are not many images in the database. + +#. Additional search filters + + - Click ``Enable additional search filters (may slow down queries).`` + - Deselect some of the Projects / Datasets + - Click ``Refine Search`` + - |C| that the search results are filtered as intended + +#. Change group in OMERO.web (from a default group to non-default group or the other way round) and start a new search + + - |C| that the search results are taken only from the group you have on display, not the other group. + + + .. _OMERO.searcher001a: + .. figure:: images/testing_scenarios/OMEROsearcher/001a.png + :align: center + + OMERO.searcher001a: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _OMERO.searcher001b: + .. figure:: images/testing_scenarios/OMEROsearcher/001b.png + :align: center + + OMERO.searcher001b: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _OMERO.searcher002: + .. figure:: images/testing_scenarios/OMEROsearcher/002.png + :align: center + + OMERO.searcher002 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _OMERO.searcher003: + .. figure:: images/testing_scenarios/OMEROsearcher/003.png + :align: center + + OMERO.searcher003 diff --git a/docs/testing_scenarios/OmeroDataDirFiles.rst b/docs/testing_scenarios/OmeroDataDirFiles.rst new file mode 100644 index 0000000..46e5272 --- /dev/null +++ b/docs/testing_scenarios/OmeroDataDirFiles.rst @@ -0,0 +1,21 @@ +Omero.data.dir Files +==================== + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the omero.data.dir files accessibility ? + +discuss with Kenny how to put in what makes more sense + +**Prerequisite a folder set with ownership permissions and folder without permissions set.** + +#. Modify the omero.data.dir according to a new directory you can write to. + +#. Run bin/omero admin diagnostics ensuring that new omero.data.dir is picked up. +- +#. Modifiy the omero.data.dir according to :omerodoc:`these instructions ` to a new directory you CANNOT write to + +#. Run bin/omero admin diagnostics ensuring that new omero.data.dir is picked up and a permissions error is displayed. + +#. |C| that bin/omero admin start (starting the server) produces a permissions error. diff --git a/docs/testing_scenarios/Pixelservice.rst b/docs/testing_scenarios/Pixelservice.rst new file mode 100644 index 0000000..fa72869 --- /dev/null +++ b/docs/testing_scenarios/Pixelservice.rst @@ -0,0 +1,35 @@ +Pixelservice +============ + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the pyramid generation logic on the server. + +#. Download and start OMERO.server +#. Disable the PixelData-0 service + + - run ``bin/omero admin diagnostics`` and |C| that the PixelData-0 server is ``active`` and ``enabled`` + - run + +:: + + bin/omero admin ice server disable PixelData-0 + bin/omero admin ice server stop PixelData-0 + +#. Run again ``bin/omero admin diagnostics`` and |C| that the PixelData-0 server is ``inactive`` and ``disabled`` + +#. Upload a number of large images as user-1 (10 images, gatan for + example) +#. Upload one big image as user-2 +#. Upload one big image as user-3 +#. Re-enable the PixelData-0 service. Run ``bin/omero admin ice server + enable PixelData-0``. +#. Wait until the service is finished processing. Execute ``tail -f + PixelData.log`` and wait till the output stops. +#. |C| that viewing the related dataset (or "Orphaned") shows all the + objects without the clock icon in Insight and Web WITHOUT having to + refresh the UI manually. + + diff --git a/docs/testing_scenarios/Pub.rst b/docs/testing_scenarios/Pub.rst new file mode 100644 index 0000000..c9ce72a --- /dev/null +++ b/docs/testing_scenarios/Pub.rst @@ -0,0 +1,18 @@ +:orphan: + +Scenarios for Publication +========================= + +.. toctree:: + :maxdepth: 1 + + FSImportFileFormatsTesting + FSImportUI + FSViewImage + FSViewBigImage + FSScreenPlateWell + FSCheckFilePath + FSRender + FSDelete + + diff --git a/docs/testing_scenarios/Qa.rst b/docs/testing_scenarios/Qa.rst new file mode 100644 index 0000000..6fe548d --- /dev/null +++ b/docs/testing_scenarios/Qa.rst @@ -0,0 +1,123 @@ +QA web application testing +========================== + + +**To test in**: QA application, Web, Insight, Importer + +**Purpose of the test** is to check the QA Web application functionality. + +#. Go to https://qa.staging.openmicroscopy.org/, login and remove the date in the top row of boxes. + +#. Click ``Filter`` and select one QA feedback. + +#. |C| that all data are displayed correctly. + +#. Click on ``New ticket`` and select ``Trac`` in the ``System`` menu. + + - |C| that the trac domain (the top item on the list) points to the test trac. + + - |C| that you can create a ticket on the ``Trac``. + +#. |C| that the new ticket form shows: + + - Component + - Milestone + - Keywords + - Version + - Priority + - CC + - |C| that you are the pre-selected owner of the ticket, but still you can change this by using the dropdown menu + +#. Upload files. + + - log out + - click send files + - add your email address and select few files, click send + - go to the newly created feedback and check if all data is displayed correctly, also ssh to ``yourldapname@qa.staging.openmicroscopy.org`` and cd into ``/opt/qa-filestore`` - |C| if files are saved in subfolders with names matching the feedback numbers. + - log in, check if all are displayed on the feedback page + +#. Send feedback from Insight + + + - open the file ``config/container.xml`` of your Insight and, in case this is not done already (it might have been preset automatically), exchange the url on line 170 to ``https://qa.staging.openmicroscopy.org/qa/initial/`` + - in the same file and, in case this is not done already (it might have been preset automatically), exchange the url on line 171 to ``https://qa.staging.openmicroscopy.org/qa/upload_processing/`` + - Save the changes in ``config/container.xml`` and start Insight + - Import an image that will fail to import e.g. ``data_repo/test_images_bad/mike1_R3D.dv`` [:ref:`ImportUI014`] + - Submit the error to the QA system using "Submit All" button in the right bottom corner [:ref:`ImportUI015b`]. + - Enter a valid e-mail address [:ref:`ImportUI016`] + - |C| that you received a notification e-mail. + - |C| that your email address, error message, and file links are all included on the QA webpage. + - Send a reply comment to the QA webpage, include your email address and a message. + - Log into the QA system as an administrator and confirm the comment was received. + - Reply to the QA message, the message should appear in your email. + - Finally, set the QA message status to "Closed" and save. + - Import ``test_images_bad/mike1_R3D.dv`` and + + - There will be no log, but you should be able to submit the files (as .zip) and exceptions. + - |C| that your submissions have arrived in the QA system + + + - Import ``test_images_broken/volocity/3 Colour.acff`` and ``data_repo/test_images_broken/broken_images_scenario/`` + + - submit the .zip, consisting of the file AND log + - submit the exceptions + - |C| that your submissions have arrived in the QA system + + - Go to ``Help > Send feedback``, enter a valid email address and a test message and click ``Send`` + - |C| that the feedback has arrived in the QA system + - Add to it the ticket your created in step 4 clicking on ``Add ticket`` + - Cause an error in Insight and submit the error to QA and |C| that the error is in the QA + + +#. Send feedback from Web + + - click onto your username in top-right corner + - Select ``Help`` + - Dialog will open. Input a valid email and message and click ``Send``. + - |C| that the feedback arrived in QA system. + - Cause an error in Web + - Tag a dataset in Web + - Delete the dataset in Insihgt + - Remove the tag in Web (click on the tag in right-hand pane and confirm yes in the dialog) + - In Web, click onto the ``+`` sign to add new tag + - Submittable error appears + - Submit the error and |C| that you can see it in the QA + - Submit a comment from Web and |C| that you can see it in the QA + + +#. Send feedback from CLI + + - donwload a server from the CI and unzip + - download files from ``data_repo/test_images_broken/`` + - try to import these files into a CI server (e.g. trout) with following three options, replacing EMAIL with a valid email address. Use ``test_images_broken/volocity/3 Colour.acff`` for this: + + + + + + + :: + + bin/omero import PATH_TO_FILE/FILENAME --report --email EMAIL --qa_baseurl=https://qa.staging.openmicroscopy.org/qa + bin/omero import PATH_TO_FILE/FILENAME --report --upload --email EMAIL --qa_baseurl=https://qa.staging.openmicroscopy.org/qa + bin/omero import PATH_TO_FILE/FILENAME --report --logs --email EMAIL --qa_baseurl=https://qa.staging.openmicroscopy.org/qa + + + - |C| that the feedback arrived in QA system (qa-staging) + - |C| that you received an email for every submission + - |C| that for ``--report`` option, the error was submitted + - |C| that for ``--report --upload`` option, the file itself and the log were uploaded as a .zip + - |C| that for ``--report --logs`` option, the logs were submitted, not a .zip + - |C| that when you import ``squig/data_repo/test_images_broken/broken_images_scenario/fails_at_processing/wrong-light-source-mk3.ome`` with + - ``--report --logs`` option, you have no log (none is available) in the qa feedback, but you also have no NPE on the console output + - ``--report --upload`` option, you have just the file uploaded (again, no log is available) + +#. Older versions + + + - repeat the point 6 sending feedback from older version of Insight (4.4 and 5.0 version) + - repeat the point 7 sending feedback from older version of Web (4.4 and 5.0 version) + - repeat the point 8 sending feedback from older version of CLI (4.4 and 5.0 version) + - send feedback using http (additionally to the use of https) + + diff --git a/docs/testing_scenarios/ROIFolders.rst b/docs/testing_scenarios/ROIFolders.rst new file mode 100644 index 0000000..62275e2 --- /dev/null +++ b/docs/testing_scenarios/ROIFolders.rst @@ -0,0 +1,210 @@ +ROI Folders +=========== + + + +**To test in**: Insight + +**Purpose of the test** is to check the ROI folders functionality in the Measurement Tool of Insight + +#. Open an image in Full Viewer and open the Measurement Tool. +#. |C| that the Manager tab in the Measurement Tool shows only folders containing ROIs by default. + + - if there are no folders containing ROIs on the image, draw some ROIs and right-click [:ref:`ROIFolders005`] to add them to existing folders, + - right-click [:ref:`ROIFolders000`] and create some empty folders, + - close and reopen the image, + - |C| the default loading of the folders i.e. only the folders containing ROIs on this particular image are loaded. + +#. |C| that you can show or hide Folders in the Manager table using the dropdown menu ``Display ROI folders`` in top left corner (see screenshot [:ref:`ROIFolders001`]). + +#. |C| the filtering typing in the text box to the right of the ``Display ROI folders`` menu (see screenshot [:ref:`ROIFolders002`]). + + - Where filtering query matches a child folder, its parent folder should be still visible, although the query might not match the parent. Sibling folders should be invisible if not matching the query. + - Where filtering query matches a parent folder, all child folders should be visible too even if they do not match the query. + +#. |C| the ``Show all ROI folders`` checkbox next to the filtering line (see screenshot [:ref:`ROIFolders002`]). + + - Type a string into the ``Filter ROI folders…`` text box that will give you some hits but also filter out some folders + - Select the ``Show all ROI folders`` checkbox + - The filtering will be disabled + - |C| that all the folders which you have on display (i.e. all folders shown by default, if not hidden by you explicitly in step 3., and all folders you have added in step 3.) are visible in the table + - Deselect the checkbox, the filtering should return to the state before the checkbox was selected + +#. |C| that you can Create, Delete, Edit and Move folder (right-click menu)(see screenshot [:ref:`ROIFolders003`]). +#. |C| multiselection and right-click (i.e. that you can multiselect and get the right-click context menu to display with the multiselection still respected). +#. |C| Drag and Drop of Folders and ROIs into and out of other folders works. +#. |C| the number in the bracket after the folder name shows the total number of children, both Folders and ROIs (see screenshot [:ref:`ROIFolders004`]). +#. |C| that you can add ROIs to folders imported in an xml header of an ome-tiff. +#. |C| visibility/non-visiblity behaviour for the folders: + + - have some ROIs in one folder only + - deselect the checkbox ``Visible`` next to the folder (right hand side of the table) and |C| that the ROIs disappear from the image + - have some ROIs in two or more folders (i.e. some ROIs having 2 or more parents) + - deselect the checkbox ``Visible`` on only one parent folder and |C| that the ROIs are still visible in the image + - deselect the checkbox on all the parent folders and |C| that the contained ROIs become invisible. + + +#. Delete a folder with subfolders and ROIs. |C| that the subfolders and the ROIs are orphaned, not deleted. +#. Using newly drawn or existing orphaned ROIs |C| all available right-click menu options work correctly: Add to Folder, Delete, Propagate, Duplicate, Merge, Split, Tag and Create Folder (see screenshot [:ref:`ROIFolders005`]). +#. Using ROIs which are in one or more folders |C| that the available right-click options work correctly: Remove from Folder, Add to Folder, Delete, Propagate, Duplicate, Merge, Split, Tag and Create Folder (see screenshot [:ref:`ROIFolders006`]). +#. |C| that the selected ROI(s) are added in the new folder in case ``Create folder`` was executed. +#. |C| that a folder created by ``Create folder`` command is a child of the folder which was selected when the command was executed. +#. |C| the ``Create folder`` command is disabled when multiple folders are selected. +#. Select a Shape in a folder and |C| that the Inspector tab displays the name of its containing folder. + + +| +| +| + + +.. _ROIFolders000: +.. figure:: images/testing_scenarios/ROIFolders/000.png + :align: center + + ROIFolders000: + + +| +| +| +| +| + + +.. _ROIFolders001: +.. figure:: images/testing_scenarios/ROIFolders/001.png + :align: center + + ROIFolders001: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ROIFolders002: +.. figure:: images/testing_scenarios/ROIFolders/002.png + :align: center + + ROIFolders002: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ROIFolders003: +.. figure:: images/testing_scenarios/ROIFolders/003.png + :align: center + + ROIFolders003: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ROIFolders004: +.. figure:: images/testing_scenarios/ROIFolders/004.png + :align: center + + ROIFolders004: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ROIFolders005: +.. figure:: images/testing_scenarios/ROIFolders/005.png + :align: center + + ROIFolders005: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ROIFolders006: +.. figure:: images/testing_scenarios/ROIFolders/006.png + :align: center + + ROIFolders006: + + +| +| +| +| +| +| + diff --git a/docs/testing_scenarios/ROIInsight.rst b/docs/testing_scenarios/ROIInsight.rst new file mode 100644 index 0000000..8bba684 --- /dev/null +++ b/docs/testing_scenarios/ROIInsight.rst @@ -0,0 +1,610 @@ +ROI Insight +=========== + + + +**To test in**: Insight + +**Purpose of the test** is to check main ROI features in Insight (creation, editing, propagation, merging, result collection and export) + +**Section 1: Create ROI, Manager, Inspector and Results tabs** + + + + + +#. Open an image with multiple z/t planes in Full Viewer + +#. Open ROI tool + + - from the icon on the top of the Full Viewer [:ref:`ROIInsight001`] + - from the main menu go ``Controls > ROI Tool`` + + +#. Create ROIs (more than 3) of different types including Text (Text is one of ROI types).[:ref:`ROIInsight002`] + +#. Use a multi-t image. + + - Create ROI and project it across all time points + - Delete the ROI + - Create new ROI, project across all time points + - Close Viewer + - Save changes when prompted + - |C| that the new ROI IS saved + + +#. Draw a line and "break" into segments and Save + + - Go to the Results tab. + - The length should display length per segment and the total. Same for angle. + - Export to Excel. The value displayed in table should be exported as such in Excel. + +#. Add comment to the shape (double-click on the shape and write). Tick and untick the ``Show comment`` box + + - |C| that the comment appears and disappears.[:ref:`ROIInsight003`] + - |C| that when the only action after the image was open was toggling the ``Show comment`` box, no dialog asking whether you want to save pops up + +#. Create a Text ROI (the ``A`` icon in ROI manager). + + - |C| that changes in the color of the text are displayed instantly, not just after you saved the text ROI. + +#. Select and de-select the ROIs and shapes. Check that type is correct and it corresponds with the selection in Viewer. + +#. Move shapes and close the full viewer. + + - |C| that dialog asking whether you want to save pops up. + +#. Propagate shapes, Merge shapes from different z or t planes, Split shapes (which you Merged previously), Duplicate and Delete shapes [:ref:`ROIInsight005`][:ref:`ROIInsight006`][:ref:`ROIInsight007`, :ref:`ROIInsight008`]. Execute these 5 commands from + + - right-click menu on the region in the image + - right-click menu on the ROI in the list in Measurement Tools window + +#. Change Fill and Line color [:ref:`ROIInsight009`]. Change width and height of a shape (Inspector tab). + + - |C| the changes of the region display. + +#. In Results tab, add new Measurements and remove Measurements using Results wizard. + + - Click on a row, check that the chosen region/plane changes in the image. + - Export to Excel. + - |C| the file was created. + +#. Units + + - Import ``test_images_good/EM-data/`` + - Draw a line region + - |C| that the units and values in the Results tab are correctly displayed. This means checking in the General Tab the size of the pixel and judge from it how long approximately your line should be and compare it with what is displayed. + + +#. Select a Big image + + - |C| that only Manager, Inspector and Results tabs are displayed in the ROI Tool and columns are populated. + - |C| that the area is now displayed when drawing a rectangle for example. + - |C| that the font size changes according to the resolution level. + + +**Section 2: Graph, Intensity View and Intensity Results View tabs:** + +#. Choose a region propagated on more than 2 z and 2 t planes & scroll through the histograms + +#. Choose a Line-type of region. + + - |C| that both Line profile and Histogram are shown. + - Export the graph as JPEG or PNG. Only the line plot should be exported. + - |C| that when you hover over the line in the Graph, in case the pixel size of the image is known, it shows the tooltip with current position in microns. + + +#. Repeat the step 2 but this time with a rectangle. Note that no Line profile will be shown in this case. + +#. In Graph Tab, progress through T using both the slider in the ROI tool and in the Full Viewer of the image. + - Close the ROI tool. + - Go through T in the Full Viewer of the image. + - |C| that the ROI tool window does not reopen. + - |C| that no other unexpected windows pop up (such as magnifying tool). + - |C| that the ``Help`` menu of the image is not empty. + + +#. Try to create new regions when on Graph pane and to propagate them + + - Using the magic wand icon + - Using right-click on the region + - |C|: message appears "ROI assistant cannot be used in graph pane or intensity view". + +#. Switch channels on/off on the image. Select different regions. Scroll through z planes on the Graph tab + + - |C| that the graphs update + - |C| that the planes in the stack of images updates concurrently + - Turn channels on off. |C| that histogram updates. + +#. In Intensity View tab: + + - |C| that when no region is selected, the ``Intensity Values`` button is greyed out. + - Select a region in the image which you have saved before. + - Click to ``Intensity Values`` button. + - |C| that window pops up with intensity values of single pixels [:ref:`ROIInsight009b`]. + - Toggle channels on the image on/off. + - Change the channel selection in the ``Intensity Values`` window. + - Export to Excel. + - |C| the file. + - Close the image viewer, reopen it and open the ROI tool again. + +#. Intensity Results View tab. + +#. Check freeze at low memory does not occur. + + - Reduce the default memory allocated to insight + + - right-click on Insight and click on ``Show package contents`` + - edit the ``info.plist`` file + - note down what are the settings from around Line 110 of this file + of ``-Xms&&M -Xmx&&M`` (note down the numbers + replaced here by ``&&``) + - change these settings to ``-Xms64M -Xmx64M`` + + - Draw a rectangle and propagate the shape across few z or t + - Select the shape + - Go to "Intensity Results Tab" and add the selected shape + - After a while, a dialog indicating that an error occurred will pop up. + - Click OK and check that all the controls do not stay greyed out. + - Set the default memory allocated to Insight back to the same value as it was before you reduced it. + +#. Multi-t/z addition behaviour check + + - Draw a line and propagate it across z or t. + - Select the shape + - Go to "Intensity Results Tab" and add the selected shape + - Wait till the results of the shapes composing the ROI are displayed in the table. + - Scroll to a new plane where the shape has been propagated. Check + that the results of the shapes composing the ROI are not added again to the table. + - Draw another line. Save. Select and Add it. Make sure that only + rows corresponding to the new line are added. + +#. ``Add selected`` test1 + + - Go away from Intensity Results View tab (i.e. select Manager tab). + - Still NOT being on Intensity Results View tab, select one region to add (in Results/Manager tabs or in the image itself) + - NOW Select Intensity Results View tab (the region is still selected - do not change your selection now) + - Press Add Selected + - |C| the data were added to the table [:ref:`ROIInsight010`] + - Try to select more regions and press Add Selected + - |C| the data were added to the table [:ref:`ROIInsight010`] + - Try ``Remove`` and ``Remove All`` buttons. + - Add data again and Export to Excel + - |C| the file. [:ref:`ROIInsight011`] + +#. ``Add selected`` test2 + + - Draw a rectangle for example. + - Go the Intensity View Tab. Wait till the results are displayed. + - Go the Intensity Results View Tab, Click Add selected. the results should be displayed. + + +**Section 3: ROIs created in 3rd party software** + +#. 3rd Party ROIs: + + + - Import all the files from ``data_repo/test_images_good/zeiss-lsm/roi-scenario`` + - Import all the files from ``data_repo/test_images_roi/zvi/`` + - All the images thus imported should have ROIs on them. + - Open all the images. + - |C| that the ROIs are displayed. + +#. Shapes without linkage to a plane + + - Create a shape (a ROI) not linked to any plane, for example in ImageJ (see :doc:`InsightasPluginImageJFiji` , Section **ImageJ - ROI and OMERO upload**, step 1 for instructions). + - Import the image into OMERO using OMERO.insight, NOT the IJ-plugin. + - Open the image in Insight, open the Measurement Tool, do not save the ROI + - Go to the Graph, Intensity View, Intensity Result View. + - |C| that the shape is analysed. + + + + .. _ROIInsight001: + .. figure:: images/testing_scenarios/ROIInsight/001.png + :align: center + + ROIInsight001: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIInsight002: + .. figure:: images/testing_scenarios/ROIInsight/002.png + :align: center + + ROIInsight002: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIInsight003: + .. figure:: images/testing_scenarios/ROIInsight/003.png + :align: center + + ROIInsight003 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIInsight005: + .. figure:: images/testing_scenarios/ROIInsight/005.png + :align: center + + ROIInsight005 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIInsight006: + .. figure:: images/testing_scenarios/ROIInsight/006.png + :align: center + + ROIInsight006: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIInsight007: + .. figure:: images/testing_scenarios/ROIInsight/007.png + :align: center + + ROIInsight007: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIInsight008: + .. figure:: images/testing_scenarios/ROIInsight/008.png + :align: center + + ROIInsight008 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIInsight009: + .. figure:: images/testing_scenarios/ROIInsight/009.png + :align: center + + ROIInsight009: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIInsight009b: + .. figure:: images/testing_scenarios/ROIInsight/009b.png + :align: center + + ROIInsight009b: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIInsight010: + .. figure:: images/testing_scenarios/ROIInsight/010.png + :align: center + + ROIInsight010: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIInsight011: + .. figure:: images/testing_scenarios/ROIInsight/011.png + :align: center + + ROIInsight011 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + diff --git a/docs/testing_scenarios/ROIWeb.rst b/docs/testing_scenarios/ROIWeb.rst new file mode 100644 index 0000000..0ed436e --- /dev/null +++ b/docs/testing_scenarios/ROIWeb.rst @@ -0,0 +1,175 @@ +ROI Web +======== + + + +**To test in**: Web + +**Purpose of the test** is to check the ROI viewing in Web + +#. Open in Viewer an image with >3 ROIs propagated through multiple z/t (check here for suitable image [:download:`Images set `]). If it does not exist, create it in Insight.) + +#. View the ROIs [:ref:`ROIWeb001`][:ref:`ROIWeb002`] + +#. Expand and collapse the multiple-shape ROIs + +#. Choose ROIs on different z/t planes + + - |C| that the Viewer updates + +#. Tick and untick the Text and Preview boxes [:ref:`ROIWeb003`] + + - |C| the text in the ROIs appear/disappears and the Preview is made visible/invisible in all ROIs and shapes on different planes. + +#. Hover with mouse over the Thumbnail in Preview + + - |C| that larger view appears.[:ref:`ROIWeb004`] + + + .. _ROIWeb001: + .. figure:: images/testing_scenarios/ROIWeb/001.png + :align: center + + ROIWeb001: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIWeb002: + .. figure:: images/testing_scenarios/ROIWeb/002.png + :align: center + + ROIWeb002: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIWeb003: + .. figure:: images/testing_scenarios/ROIWeb/003.png + :align: center + + ROIWeb003 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _ROIWeb004: + .. figure:: images/testing_scenarios/ROIWeb/004.png + :align: center + + ROIWeb004 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + diff --git a/docs/testing_scenarios/RegisterUsage.rst b/docs/testing_scenarios/RegisterUsage.rst new file mode 100644 index 0000000..6df8496 --- /dev/null +++ b/docs/testing_scenarios/RegisterUsage.rst @@ -0,0 +1,154 @@ +Registering usage +================= + + +**To test in**: Web, Insight, IJ plugin, Importer, MatLab, Bio-Formats + +**Purpose of the test** is to check if ``UpgradeCheck`` hit is registered, this means the usage monitoring of our products is working as expected. + +#. For client upgrade tests, write down your IP address + + .. note:: + Do not use any website to check you IP address as this may give you + incorrect result. + + - on UNIX, use: ``$ /sbin/ifconfig`` (Look for ``inet addr`` in the output, in case there are two addresses in the output, like on CI nodes, |C| BOTH, expecting the hits to come just from one of them) + - on Mac OS X, alternatively go to + :menuselection:`Apple -> System Preferences -> Network` and find the + active connection + - on Windows, open the ``CMD (Command Prompt)`` and type:: + + C:\> ipconfig + +#. For OMERO.server and OMERO.web tests, use the IP address of the node where + the server or the Web is deployed. + +#. To check the hits, first connect to feedback database + + - if you are testing the production registry, use the replica of the + feedback database which is in read-only mode:: + + psql -h pg-slave.openmicroscopy.org -U feedback feedback + + - if you are testing the staging registry database:: + + psql -h ome-web-staging.openmicroscopy.org -U feedback feedback + +#. |C| if the hit was registered in the database using the following query: + + **Repeat the following steps for each client** (see step 6. for the precise list of clients and workflows specifying how to score a hit in the registry), replacing `YOUR_IP` with the correct value:: + + SELECT registry_ip.ip, registry_hit.creation_date, registry_agent.agent_name, registry_agent.id + FROM registry_hit + LEFT OUTER JOIN registry_ip ON ( registry_hit.ip_id = registry_ip.id ) + LEFT OUTER JOIN registry_agent ON ( registry_hit.agent_id = registry_agent.id ) + WHERE registry_ip.ip = 'YOUR_IP' + ORDER BY registry_hit.id DESC LIMIT 5; + + You should see results like:: + + ip | creation_date | agent_name | id + ---------------+-------------------------------+----------------+---- + 134.36.162.28 | 2015-09-24 09:45:14.112992+01 | OMERO.ij | 10 + 134.36.162.28 | 2015-09-23 11:05:35.554009+01 | OMERO.importer | 1 + 134.36.162.28 | 2015-09-23 11:03:10.234792+01 | OMERO.insight | 2 + 134.36.162.28 | 2015-09-23 09:52:05.933021+01 | OMERO.web | 5 + +#. Download the appropriate clients: + + - to test the production registry application, go to + http://downloads.openmicroscopy.org/omero/, choose appropriate version + and download the packages. + + - to test the staging registry application, download the merge clients from + :mergecijob:`OMERO-build` or + :mergecijob:`BIOFORMATS-build`. + The CI :mergecijob:`OMERO-server` server should also be + configured to point the staging registry. + +#. Test the various clients: + + Note: If asked ot ssh into a server, you might encounter a ``(No module named Ice)`` problem when executing the commands. To alleviate this, run ``eval $(bash /home/hudson/ice/ice-multi-config.sh ice35)`` first. + + .. list-table:: + :widths: 10,90 + + * + - Agent + - Testing scenario + + * + - OMERO.importer + - Open the OMERO.importer client and log in to the given server + + * + - OMERO.insight + - Open the OMERO.insight client and log in to the given server + + * + - OMERO.editor + - Open the OMERO.editor client and log in to the given server + + * + - OMERO.fs + - + + * + - OMERO.web + - Open the OMERO.web client and log in to the given server + + * + - OMERO.server + - ssh to the server. Go to ``/home/hudson//`` Start the OMERO.server ``bin/omero admin start`` + + * + - OMERO.ij + - + + * + - OMERO.diagnostics + - ssh to the server. Go to ``/home/hudson//``. Run ``bin/omero admin diagnostics`` + + * + - OMERO.shell + - ssh to the server. Go to ``/home/hudson//``. Run ``bin/omero shell`` + + * + - OMERO.importer-cli + - ssh to the server. Go to ``/home/hudson//``. Run ``bin/omero import`` on the server and import a file. Once the file is imported and appears in OMERO there should be a hit. + + * + - OMERO.imagej + - + + - Copy the appropriate :file:`insight-ij` plugin and the appropriate + :file:`bioformats_package.jar` into the Plugins folder of your + ImageJ + - Open ImageJ + - Connect to OMERO and log in + - Make sure there was **only ONE** hit recorded (see the steps 1. - + 2. above for how to do it) + - Close the :file:`insight-ij` plugin interface running under the + ImageJ, but do not close ImageJ itself + - Connect to OMERO (you will be connected automatically) + - Close the :file:`insight-ij` plugin and ImageJ + - Make sure there was **only ONE more hit** recorded (see the steps 1. - + 2. above for how to do it). Summed up, from the OMERO.imagej testing you should score 2 hits. + + * + - OMERO.dropbox + - Go to the server and copy file to Dropbox folder ``/repositories//DropBox/user``. Once the file is imported and appears in OMERO there should be a hit. + + * + - OMERO.bioformats + - Download the Bio-Formats command-line tools and run + ``showinf -nopix test.fake`` + + * + - OMERO.test + - ssh to the server. Go to ``/home/hudson//``. Run ``bin/omero admin checkupgrade`` (5.2.0 and above) + + * + - OMERO.matlab + - N/A + diff --git a/docs/testing_scenarios/RenderInsight.rst b/docs/testing_scenarios/RenderInsight.rst new file mode 100644 index 0000000..516b899 --- /dev/null +++ b/docs/testing_scenarios/RenderInsight.rst @@ -0,0 +1,292 @@ + +.. contents:: + :depth: 2 + + +################ +Render - Insight +################ + + + +**To test in**: Insight + +**Purpose of the test** is to make sure rendering is smooth and changes are applied consistently to all visualisations of the images and all the options of rendering are functional. + +**Note**: For all copy and paste tests, the copied settings must be pasted to a Dataset of Images/Image or Plate/Well that has the same pixel type and number of channels as the image the settings were copied from. It is suggested that changes made to settings for test purposes are obvious and easily recognisable. + +Render - basic +============== + +#. Use right-click to copy settings from an image. + + + - |C| that both left-hand pane tree and central pane have the appropriate right-click menu [:ref:`Render001`]. + + +#. Select a collection of images and use right-click to Paste and Save the settings [:ref:`Render002`]. + + - |C| that the thumbnails in the centre pane and the Preview viewer and User Settings thumbnail update. + +#. Select a well in a plate and change the settings then use right-click to ``Copy`` and then ``Paste and Save`` the settings to the whole plate using right-click. + + - |C| that the images in the wells in the centre pane and the Preview viewer and User Settings thumbnail update. + + +#. In Preview, change the settings using + + - Sliders. + - Color picker. + - Toggling a channel on and off. + - Copy settings which were not saved, do NOT paste, then + - Navigate to another image, copy settings from it (settings which were saved, e.g. using right-click on the image in the tree) then + - Paste in Preview of a third image and |C| that the second (most recently copied) settings were pasted. + - Open the Full Viewer from the Preview tab using ``Launch Full Viewer`` button. + - |C| that the Full Viewer shows the same Rendering settings as the Preview. + - |C| that the size of the image in the Full Viewer is such that it fits into the window, not smaller. + - Paste something into the Full Viewer and |C| that the Full Viewer updates. + - Change the Rendering settings in the Full Viewer and press Save. |C| that Preview viewer and User Settings thumbnail updates. + + - Copy the unsaved Rendering settings from the Preview pane of an image and Paste them + + - in the Full Viewer of another image. + - in tree, using right-click menu. + - in Preview pane of another image. + - do all 3 Paste actions also on Plate (in tree) and on single Wells in Plate (Full Viewer & Preview). + - |C| that the Rendering settings were updated after Paste in all cases. + +#. In context (right-click) menu, execute the ``Imported and Save`` on a Plate Run and |C| this does revert the Rendering settings to its original state at import. + + +#. Min Max. + + - Import a few images. Go to Preview. + - |C| that for each channel the start-end is set to the min-max. + - Select images imported previously (not the newly imported ones). + - Click ``Imported`` (Insight) or + - |C| that for each channel start-end = min-max. + +#. Make sure you have images in "Orphaned Images" folder (get them via CLI import or do Cut command). + +#. Repeat steps 1. - 6. working on orphaned images. + +#. Repeat the steps 1. - 6. with Big Images (Find suitable images here [:download:`TestingSet `] or here [:download:`TestingTemplate `]). Preview is **NOT** available for Big images. + +Render - copying / resetting +============================ + + +#. Paste settings with the Full viewer open. + + - Make sure you have 2 identical images next to each other (you can quickly import the ``test_images_good/dv/CFPNEAT01_R3D.dv`` image 2x). + - Let us call the images ``image-1`` and ``image-2``. + - Open ``image-1`` in the Full Viewer, switch off a channel and Save (icon in the top row in the Full Viewer ). + - Do not close the Full Viewer of ``image-1``. + - In the Data Manager (= the main pane of OMERO.insight) select the thumbnail of ``image-2`` and copy the rendering settings. + - Select the thumbnail of ``image-1`` and paste the rendering settings. + - |C| that both the thumbnail as well as the Full Viewer of ``image-1`` have the new settings now. + - Close the Full Viewer of ``image-1``. + - |C| that no ``Save`` dialog is displayed. + - Re-open the ``image-1`` in the Full Viewer. + - Select the thumbnail of ``image-1`` and paste the rendering settings. + - In the Full Viewer, switch off a channel again and DO **NOT** save. + - Close the Full Viewer of ``image-1``. + - |C| that the ``Save`` dialog appears. + - Select ``Yes`` to save the new rendering settings. + - |C| that the thumbnail of image-1 has updated in the centre pane and in the viewer and User Settings in Preview. + - Re-open ``image-1``. + - |C| that the rendering settings are as saved last time and the Full Viewer and thumbnail in the centre pane and in the viewer and User Settings in Preview correspond. + +#. Reset imported settings [:ref:`Render003`]. + + - |C| that thumbnails in the central pane are updated. + - |C| that when you select Plate Run in Web and ``Set Imported and Save``, no error occurs. + +#. Set min/max settings. + + - |C| that thumbnails in the central pane are updated. + +#. Set owner's settings [:ref:`Render004`]. + + - |C| that thumbnails in the central pane are updated. + + +Other users' data +================= + +#. Other users' data - basic. + + - Open an image belonging to another user. + - Modify the settings in the ``Preview`` pane on the right [:ref:`Render005`] or use the icon on the top left in the ``Full Viewer`` window (Insight). Save your own settings using the ``Save`` icon in Preview or ``Save`` icon in ``Full Viewer`` (top row of ``Full Viewer``). + - |C| that thumbnails in the central pane are updated. + - Use ``Save to all`` button. + - |C| that all thumbnails in a Dataset or all wells in a Plate Run are updated. + + + +#. Other users' data - Owner's settings. + + - Import at least 2 multi-t and multi-z images as a user (e.g. user-4) in Read-Only group. + - Go to the imported images and modify the Rendering settings in such a way that you can recognize these settings easily later. + - Log out and Log in as an Owner of Read-Only group (e.g. user-3). + - View the images you just imported as another user (e.g. user-3 viewing user-4's images). + + - |C| that, still as a default you can see the Rendering settings you just saved as the owner of the image (for example user-4). + - |C| that when you change Rendering settings and click ``Save`` in Preview pane, your own settings appear in the list under ``User Srttings``. + - Change Rendering settings and click ``Save to All`` in Preview pane, followed by clicking ``Imported`` in Preview pane and again ``Save to All``. + - |C| that the thumbnail in the centre pane, the viewer in Preview, the thumbnail in User Settings and the image in the Full Viewer still match. + - |C| that under ``Preview > User Settings`` the settings of the owner are hightlighted blue. + +#. Repeat step 2 of the present section, this time in Read-Annotate and Read-Write groups (note that you do not have to be Group Owner in these groups to save your own settings on other's images). + + + + + + + + + +.. _Render001: +.. figure:: images/testing_scenarios/Render/001.png + :align: center + + Render001: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Render002: +.. figure:: images/testing_scenarios/Render/002.png + :align: center + + Render002: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Render003: +.. figure:: images/testing_scenarios/Render/003.png + :align: center + + Render003 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Render004: +.. figure:: images/testing_scenarios/Render/004.png + :align: center + + Render004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| diff --git a/docs/testing_scenarios/RenderWeb.rst b/docs/testing_scenarios/RenderWeb.rst new file mode 100644 index 0000000..b126693 --- /dev/null +++ b/docs/testing_scenarios/RenderWeb.rst @@ -0,0 +1,489 @@ +.. contents:: + :depth: 2 + + +############ +Render - Web +############ + + + + +**To test in**: Web + +**Purpose of the test** is to make sure rendering is smooth and changes are applied consistently to all visualisations of the images and all the options of rendering are functional. + +**Note**: For all copy and paste tests, the copied settings must be pasted to a Dataset of Images/Image or Plate/Well that has the same pixel type and number of channels as the image the settings were copied from. It is suggested that changes made to settings for test purposes are obvious and easily recognisable. + +Render - basic +============== + +#. Use right-click to copy settings from an image. + + - |C| that the right-click menu comes up only when selecting in the left-hand pane tree, not in central pane [:ref:`RenderWeb003`]. + + + +#. Select a collection of images and use right-click to Paste and Save the settings. + + - |C| that the thumbnails in the centre pane and the Preview viewer and User Settings thumbnail update. + +#. Select a well in a plate and change the settings then use right-click to ``Copy`` and then ``Paste and Save`` the settings to the whole plate using right-click. + + - |C| that the images in the wells in the centre pane and the Preview viewer and User Settings thumbnail update. + + +#. In Preview [:ref:`RenderWeb004`], change the settings using + + - Sliders. + - Color picker [:ref:`RenderWeb004b`]. + - Toggling a channel on and off. + - Copy settings which were not saved, do NOT paste, then + - Navigate to another image, copy settings from it (settings which were saved, e.g. using right-click on the image in the tree) then + - Paste in Preview of a third image and |C| that the second (most recently copied) settings were pasted. + + + + + - Open the Full Viewer from the Preview tab using ``Launch Full Viewer`` button. + - |C| that the Full Viewer shows the same Rendering settings as the Preview. + - |C| that the size of the image in the Full Viewer is such that it fits into the window, not smaller. + - Paste something into the Full Viewer and |C| that the Full Viewer updates. + - Change the Rendering settings in the Full Viewer and press Save. |C| that Preview viewer and User Settings thumbnail updates. + + - Copy the unsaved Rendering settings from the Preview pane of an image and Paste them + + - in the Full Viewer of another image. + - in tree, using right-click menu [:ref:`RenderWeb003`]. + - in Preview pane of another image. + - do all 3 Paste actions also on Plate (in tree) and on single Wells in Plate (Full Viewer & Preview). **Note** that the ``Save to All`` button is disabled for Plates when single wells are selected. + - |C| that the Rendering settings were updated after Paste in all cases. + +#. In context (right-click) menu, execute the ``Set Imported and Save`` on a Plate Run and |C| that this does revert the Rendering settings to its original state at import. + + +#. Min Max. + + - Import a few images. Go to Preview. + - |C| that for each channel the start-end is set to the min-max. + - Select images imported previously (not the newly imported ones). + - Click ``Imported`` button. + - |C| that for each channel start-end = min-max. + +#. Repeat steps 1. - 6. working on orphaned images. + +#. Repeat the steps 1. - 6. with Big Images (Find suitable images here [:download:`TestingSet `] or here [:download:`TestingTemplate `]). + + + + +Render - copying / resetting +============================ + +#. Copy settings in the Full Viewer [:ref:`RenderWeb002`] ) and paste them. + + - in the Full Viewer of another image. + - in tree, using right-click menu [:ref:`RenderWeb003`]. + - in Preview pane of another image. + - do all 3 Paste actions also on Plate (in tree) and on single Wells in Plate (Full Viewer & Preview). + - |C| that the Rendering settings were updated after Paste in all cases. + +#. Reset imported settings - use the ``Set Imported and Save`` button in the right-clcik context menu, Full Viewer (click on ``Edit`` link first) and Preview. + + - |C| that thumbnail(s) in the central pane is (are) updated. + - |C| that when you select Plate Run and in context menu select ``Set Imported and Save``, no error occurs. + +#. Set min/max settings in Preview and Full Viewer. Press ``Save`` in both cases and + + - |C| that thumbnails in the central pane are updated. + +#. Set owner's settings [:ref:`RenderWeb005`] in right-click menu. Perform also on whole Dataset. + + - |C| that thumbnails in the central pane are updated. + +#. Make sure you have images in "Orphaned Images" folder (get them via CLI import or do Cut command). + + + + +Other users' data +================= + +#. Other users' data - basic. + + - Open an image belonging to another user. + - Modify the settings in the “Preview” pane or click ``Edit`` in the Full Viewer to modify settings. Save your own setting using the ``Save`` button [:ref:`Render007`]. + - |C| that thumbnails in the central pane are updated. + - Use ``Save to all`` button. + - |C| that all thumbnails in a Dataset or all wells in a Plate Run are updated. + + + +#. Other users' data - Owner's settings. + + - Import at least 2 multi-t and multi-z images as a user (e.g. user-4) in Read-Only group. + - Go to the imported images and modify the Rendering settings in such a way that you can recognize these settings easily later. + - Log out and Log in as an Owner of Read-Only group (e.g. user-3). + - View the images you just imported as another user (e.g. user-3 viewing user-4's images). + + - |C| that, still as a default you can see the Rendering settings you just saved as the owner of the image (for example user-4). + - |C| that when you change Rendering settings and click ``Save`` in Preview pane, your own settings appear in the list under ``User Settings``. + - Change Rendering settings and click ``Save to All`` in Preview pane, followed by clicking ``Imported`` in Preview pane and again ``Save to All``. + - |C| that the thumbnail in the centre pane, the viewer in Preview, the thumbnail in User Settings and the image in the Full Viewer still match. + - |C| that under ``Preview > User Settings`` the settings of the owner are hightlighted blue. + +#. Repeat step 2, this time in Read-Annotate and Read-Write groups (note that you do not have to be Owner in these groups to save your own settings on other's images). + +#. Import images as a user (e.g. user-4) in Read-Only group and modify Rendering settings in easily recognizable manner. Log out, Log in to Web as an Administrator (e.g. user-6), which is **NOT** an Owner of Read-Only group and view the images you just imported. + + - |C| that you can see the Rendering settings you just saved as the owner of the image as a default. + - |C| that when you can change the settings (still in Web) and Save the new settings, the thumbnail, the Preview and the Full Viewer match and they have the newly created and saved settings. + - Click ``Set Imported and Save`` in Web and go to Insight, logging in as the owner of the image - |C| that you have your settings as well as the Admins settings (= the Rendering settings of the image owner have not been deleted or overwritten by the actions of the Admin in Web. + - |C| that under ``Preview > User Settings`` the settings of the owner are hightlighted blue. + + + + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _RenderWeb002: +.. figure:: images/testing_scenarios/Render/Web002.png + :align: center + + RenderWeb002: + + +| +| +| +| + +| +| +| +| +| + +| +| +| +| +| +| +| +| +| +| +| + + +.. _RenderWeb003: +.. figure:: images/testing_scenarios/Render/Web003.png + :align: center + + RenderWeb003: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _RenderWeb004: +.. figure:: images/testing_scenarios/Render/Web004.png + :align: center + + RenderWeb004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _RenderWeb004b: +.. figure:: images/testing_scenarios/Render/Web004b.png + :align: center + + RenderWeb004b + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Render005: +.. figure:: images/testing_scenarios/Render/005.png + :align: center + + Render005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _RenderWeb005: +.. figure:: images/testing_scenarios/Render/Web005.png + :align: center + + RenderWeb005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _Render007: +.. figure:: images/testing_scenarios/Render/007.png + :align: center + + Render007: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + diff --git a/docs/testing_scenarios/Resetpwd.rst b/docs/testing_scenarios/Resetpwd.rst new file mode 100644 index 0000000..3837b9d --- /dev/null +++ b/docs/testing_scenarios/Resetpwd.rst @@ -0,0 +1,37 @@ +Reset password +============== + + + +**To test in**: Web + +**Purpose of the test** is to check that the ``Forgotten password`` functionality works fine. + + + + + +#. Try to login as non-admin, non-group owner user, set a valid email address. + + - log out and click ``Forgotten password`` + - Try not to put into the fields anything (test both fields) + - |C| that a message ``This field is required`` appears. + - Type in your username and email address + - Click ``Submit``. + - |C| that you receive an email with a new password. + - |C| that you can log in using this new password. + - reset the password once logged in back (using ``User settings``) + - Log out and |C| that password was reset successfully. + +#. Choose one of the fake usernames from the table of usernames at :team_plone:`Password` (at the bottom of the paragraph named LDAP-TEST server). Log in into one of our CI servers - |C| the testing setup for which server is deployed. +#. Go to the icon with your login name on it and expand the menu and choose ``User settings``. +#. |C| that the LDAP user has a valid email address set - take a note of it. +#. Use the ``Forgotten password`` link in Web and +#. Try to insert the username of your LDAP-TEST user into the first line and a valid email address into the second line. + + + - |C| that the message will show ``User is authenticated by LDAP server you cannot reset this password.`` + - |C| that the password has not been changed. + + + diff --git a/docs/testing_scenarios/ScreenPlateWell.rst b/docs/testing_scenarios/ScreenPlateWell.rst new file mode 100644 index 0000000..6930490 --- /dev/null +++ b/docs/testing_scenarios/ScreenPlateWell.rst @@ -0,0 +1,442 @@ +Screen/Plate/Well +================= + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check a plate/screen (with multiple Fields per well) import and viewing + +#. In Importer, in the Location dialog. Switch from Project/Dataset to Screen. Import a plate with multiple fields for example ``ome/data_repo/curated/cellworx/hms/plate1/plate1_B02.pnl``. Other useful plate can be found [:download:`here `]. + + - |C| in Web that plate imported successfully - refresh and find the plate at the bottom of the tree (left-hand pane). + - |C| Refresh Datamanager. Check that a Plate Run is created in ``Screens`` tab [:ref:`SPW001`] (Insight only) + +#. Double-click on Plate or Plate Run. + + - |C| Both actions should display in the central panel.[:ref:`SPW002`][:ref:`SPW003`] + +#. Double-click on a well/field to open viewer [:ref:`SPW004`][:ref:`SPW005`] + +#. Select a new Field in the dropdown menu above the central panel [:ref:`SPW006`] + + - |C| All thumbnails should be updated. + +#. Toggle on and off the icon allowing you to preview on mouse over above the central panel.[:ref:`SPW007`] + +#. Open the view of all Fields - icon to the left of field choice menu, above central panel.[:ref:`SPW008`] (Insight only) + + - Select ``Spatial`` view [:ref:`SPW009`][:ref:`SPW010`] + - |C| that the spatial relation of the fields is displayed properly. + - Select ``As a row`` view [:ref:`SPW011`] + + +.. _SPW001: +.. figure:: images/testing_scenarios/ScreenPlateWell/001.png + :align: center + + SPW001: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _SPW002: +.. figure:: images/testing_scenarios/ScreenPlateWell/002.png + :align: center + :width: 100% + + SPW002: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _SPW003: +.. figure:: images/testing_scenarios/ScreenPlateWell/003.png + :align: center + :width: 100% + + SPW003 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _SPW004: +.. figure:: images/testing_scenarios/ScreenPlateWell/004.png + :align: center + :width: 100% + + SPW004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _SPW005: +.. figure:: images/testing_scenarios/ScreenPlateWell/005.png + :align: center + + SPW005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _SPW006: +.. figure:: images/testing_scenarios/ScreenPlateWell/006.png + :align: center + + SPW006: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _SPW007: +.. figure:: images/testing_scenarios/ScreenPlateWell/007.png + :align: center + + SPW007: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _SPW008: +.. figure:: images/testing_scenarios/ScreenPlateWell/008.png + :align: center + + SPW008 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _SPW009: +.. figure:: images/testing_scenarios/ScreenPlateWell/009.png + :align: center + + SPW009: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _SPW010: +.. figure:: images/testing_scenarios/ScreenPlateWell/010.png + :align: center + + SPW010: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _SPW011: +.. figure:: images/testing_scenarios/ScreenPlateWell/011.png + :align: center + + SPW011 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + diff --git a/docs/testing_scenarios/ScriptsClient.rst b/docs/testing_scenarios/ScriptsClient.rst new file mode 100644 index 0000000..639cbe6 --- /dev/null +++ b/docs/testing_scenarios/ScriptsClient.rst @@ -0,0 +1,484 @@ +Scripts Client +============== + + + +**To test in**: Web, Insight + + +**Purpose of the test** is to test the scripting functionalities, mainly checking the script launching on various targets and reporting about the script run. Further, the most popular scripts (export scripts, publishing options) are being more thoroughly tested for output formats. + +#. Select a dataset + +#. Open list of available scripts.[:ref:`ScriptClient001`] + +#. Select a script running on datasets.[:ref:`ScriptClient002`][:ref:`ScriptClient003`] + + - |C| that the data type is set to dataset and the id of the dataset is displayed in the id field. + + - Select other data type if applicable, + + - |C| that the id is removed.[:ref:`ScriptClient002`][:ref:`ScriptClient003`] + +#. Select the initial data type and enter the initial id. + +#. Run the script and + + - |C| that an entry is added to the activities section [:ref:`ScriptClient004`][:ref:`ScriptClient005`] + +#. Click on the result link and + + - |C| that script ran to completion w/o errors.[:ref:`ScriptClient006`][:ref:`ScriptClient007`] + + - |C| that you can view the results of the scripts + + - |C| that you can download the results of the scripts and view the downloaded results + + +#. Repeat all steps with another type e.g. Image + +#. Select more than 3 images and run Batch image export script [:ref:`ScriptClient002`] from Export Scripts submenu + + - Choose other output formats than the default (=.jpeg) like .tiff, ome-tiff and .png [:ref:`ScriptClientN001`] + + - Download and unzip the resulting file + + - |C| that the correct format was indeed exported by the script + +#. Select an image, create a rectangular ROI and repeat point 8. running Movie ROI Figure script from the Figure Scripts submenu + +#. Select 2 or more multi-t images (choose examples from ``test_images_good/ome-tiff`` folder) and create a line ROI in each one and propagate it over t. Run Kymograph script on all images at once. + + - |C| a new image named ...Kymograph was created for each of the multi-t images. + - |C| that when you draw a line in each of the Kymographs and execute Kymograph Analysis script on all of the Kymographs at once, only one file will be created and attached to each of the ...Kymograph images. + - open the attached file and |C| that it contains stats for each drawn line sorted according to the Kymograph images, see [:ref:`ScriptClient001b`]. + +#. Go to the right-hand pane in Insight and Web, General tab and run the following publishing options scripts [:ref:`ScriptClientN002`, :ref:`ScriptClient002b`] + + - Split View Figure + + - ROI Split Figure (create a rectangular ROI first, then run the script) + + - Thumbnail Figure + + - Movie Figure + + - Choose other output formats than the default (=.jpeg) like .tiff, ome-tiff and .png [:ref:`ScriptClientN001`] + + - |C| that the correct format was indeed exported by the script + +#. |C| the consistency of script submenus, namely that scripts from the right-hand pane icon ("publishing options" [:ref:`ScriptClientN002`]) are not duplicated in the left-hand panel icon in Insight (the main Scripts menu [:ref:`ScriptClientN003`]) + +#. |C| the consistency between Insight and Web - are the scripts displayed logically in the corresponding submenus in both clients ? + +.. seealso:: + + :help:`User documentation for Running Export scripts ` + + :help:`User documentation for Running utility scripts ` + + :omerodoc:`Developer documentation for Scripts ` + + :omerodoc:`Developer documentation for MatLab Scripts ` + + :omerodoc:`Developer documentation for Script style ` + + :omerodoc:`Developer documentation for Script API ` + + + +.. _ScriptClient001: +.. figure:: images/testing_scenarios/ScriptsClient/001.png + :align: center + + ScriptClient001: + + +| +| +| +| +| +| +| +| + + + +.. _ScriptClient001b: +.. figure:: images/testing_scenarios/ScriptsClient/001b.png + :align: center + + ScriptClient001b: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ScriptClient002: +.. figure:: images/testing_scenarios/ScriptsClient/002.png + :align: center + + ScriptClient002: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ScriptClient002b: +.. figure:: images/testing_scenarios/ScriptsClient/002b.png + :align: center + + ScriptClient002b: + + +| +| +| +| +| +| +| +| +| +| +| + + +.. _ScriptClient003: +.. figure:: images/testing_scenarios/ScriptsClient/003.png + :align: center + + ScriptClient003 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ScriptClient004: +.. figure:: images/testing_scenarios/ScriptsClient/004.png + :align: center + + ScriptClient004 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ScriptClient005: +.. figure:: images/testing_scenarios/ScriptsClient/005.png + :align: center + + ScriptClient005 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ScriptClient006: +.. figure:: images/testing_scenarios/ScriptsClient/006.png + :align: center + + ScriptClient006: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ScriptClient007: +.. figure:: images/testing_scenarios/ScriptsClient/007.png + :align: center + + ScriptClient007: + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ScriptClientN001: +.. figure:: images/testing_scenarios/ScriptsClient/001N.png + :align: center + + ScriptClientN001 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ScriptClientN002: +.. figure:: images/testing_scenarios/ScriptsClient/002N.png + :align: center + + ScriptClientN002 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + + +.. _ScriptClientN003: +.. figure:: images/testing_scenarios/ScriptsClient/003N.png + :align: center + + ScriptClientN003 + + diff --git a/docs/testing_scenarios/Search.rst b/docs/testing_scenarios/Search.rst new file mode 100644 index 0000000..dfc3a37 --- /dev/null +++ b/docs/testing_scenarios/Search.rst @@ -0,0 +1,238 @@ +Search +====== + + + +**New UI in 5.0.3 in**: Web, Insight + +**Purpose of the test** is to check that Insight and Web have the same Search UI and +return valid results with each query. +All searches below should be performed at the same time in Insight and Web and the +displayed results should be identical in both clients. + +.. seealso:: + + `Query Parser Syntax `_ for how to write search queries. + + +.. seealso:: + + `Luke `_ + a Java application which you can download and point at your ``/OMERO/FullText`` directory to get a better feeling for Lucene queries. Download ``lukeall-3.5.0.jar`` and do ``java -jar lukeall-3.5.0.jar -ro -index /OMERO/FullText/``. + + +**Test links and tools** + +#. |C| that the Hints button (under ``?`` sign in Insight and ``Show Search hints`` in Web) opens and the message makes sense. +#. |C| that the link to the Help webpage inside the Hints button works. + +**Test default search** + +#. Start by entering a search query in the tool-bar search box in the main client window. Type query and hit Enter or click search button. + + - |C| that you are taken to the search 'page'/UI with your search query entered into the search field, and that the search has been performed with the results appearing in the center panel. + - |C| that the Web and Insight search forms have all the same fields and that the defaults are the same. + - |C| that the objects searched for are ``Projects``, ``Datasets``, ``Images``, ``Screens``, ``Plates`` (all checkboxes selected by default). + - |C| that no fields are chosen by default: Checkboxes for ``Name``, ``Description``, ``Annotations`` are all unchecked. + - |C| that the default ``Scope`` for the search is ``All Groups``, with user matching the username you are logged in as, e.g.``user-4 user-4``. + - |C| that no date range has been chosen by default. + + +**Test various search queries** + +#. Test single keywords by entering one word into the search field. + + - |C| that searching with a single keyword returns results where every result contains the keyword in ``Name``, ``Description`` or ``Annotation``. + - |C| that same results returned by Web and Insight. + +#. Search for multiple keywords separated by spaces. + + - |C| that the clients use OR logic in this case, but that the Results list is sorted in such a manner that the results which contain most keywords are on the top of the list. See also the limitations in :term:`Tokenizing` + +#. Select to search for ``Name`` only by checking the ``Name`` checkbox. Search for single keyword. + + - |C| that all results have the keyword in their name. + +#. Search for two or more keywords, separated by spaces, with ``Name`` field checked. + + - |C| that all results have one or more of the keywords in their name. + - |C| that results with most keywords in their name are ordered first. + +#. Search for two or more keywords, separated by ``AND``, with ``Name`` field checked. + + - |C| that all results have ALL keywords in their name. + +#. Search for multiple words within double quotes. + + - |C| that only results containing the quoted words are returned See also Limitations in :term:`Quotes` + +#. Use wildcards in searches, with ``?`` replacing a single character and ``*`` replacing 1 or more characters. + + - |C| that results are consistent with this wildcard behaviour. + - |C| that leading wildcards, where the search starts with ``?`` or ``*`` also work. + - |C| that wildcards work in both keywords of a 2-keyword search. + - See also Limitations in :term:`Wildcards` + +#. Try searches including various non-alphanumeric characters, including wildcards, ``AND`` and OR (for OR use logic only, not the OR string itself, note that the OR logic is a default in clients). + + - |C| that no exceptions are thrown. + - |C| also test with single characters or wildcards. + - See also Limitations in :term:`Wildcards` + - See also Limitations in :term:`Advanced Search` + + +#. |C| that Search for two terms with ``AND`` in between with fields ticked will return the result if the two terms are: + + - in the same ticked field (e.g. ``weird AND bla`` will return a result if ``Name`` is ticked and both ``weird`` and ``bla`` are in the ``Name``) + - one term in one ticked field and another term in another ticked field (e.g. ``weird AND bla`` will return result when the ``weird`` is in a ``Name`` and ``bla`` is in ``Description`` as long as both ``Name`` and ``Description`` are ticked) + +#. Try search by ID: Enter a valid ID for Project, Dataset or Image, with all datatypes checked. + + - |C| that the object is returned regardless of current group or group search, or ``Data owned by`` options. + - |C| that if the search query matches other objects by other fields, they are also returned. + - |C| that objects returned by ID appear at the top of search results. + + +**Test object types and fields** + +#. Restrict the types of object you are searching for by unchecking Image, Dataset etc. + + - |C| that you only get the specified object types returned. + +#. Add a description to an Image, including various keywords that also exist in other Image names. Select ``Description`` field only. Search for keywords within the description you added. + + - |C| that the Image is returned - NB: this also confirms that the index was updated. + - |C| that no objects are returned that don't have the search terms in their description. + +#. Add a text, csv or PDF file attachment to an Image, a Plate and a Screen, do not select any fields. Search for keywords within the content and name of the attachment you added. Note that the textfile must have the ``.txt``, ``.csv`` or ``.pdf``, suffix to its name for the content search to succeed. + + - |C| that the Image, Plate and Screen are returned - NB: this also confirms that the index was updated. + - |C| that when you select the field ``Annotation`` and search again, the Image, Plate and Screen with the attachment are returned again. + + + + +**Test Scope** + +#. You need to be a member of several groups with a number of users in each. Each group needs to have some data owned by different users. + Search with 'All Groups' chosen, and with your name (e.g. ``user-4 user-4``). + + - |C| that Group for each search result is shown in Results list. + - |C| that all data returned belongs to you, and is not restricted by group. + +#. Search with 'All Groups' and 'All Users'. + + - |C| that data returned is not restricted by user or group. + +#. Search within a specific group and with your username selected. + + - |C| that data returned belongs to you, and only comes from the specified group. + +#. Search within a specified group and 'All Users'. + + - |C| that results are from the specified group and not restricted by owner. + +#. Search within a specified group and user. + + - |C| that all results come from the specified group and belong to correct user. + + +**Test date range** + +#. Enter a single 'From' date and search. + + - |C| that you cannot pick a date in the future (Web only?) + - |C| that search results are all created after picked date. + - |C| that you cannot search with a 'To' date before the 'From' date. + - |C| that the 'From' date can be cleared and search is not now restricted by date + +#. Enter a 'To' date only. + + - |C| that you cannot pick a date in the future (Web only?) + - |C| that you cannot perform the search without also picking a 'From' date + +#. Enter a 'From' and 'To' date. + + - |C| that all results are created between the picked dates. + +#. Search for ``Import date`` or ``Acquisition date`` should be implemented. + + - |C| that the ``Import date`` is the Default. + - |C| that you can always search for ``Import Date`` and ``Acquisition Date`` date. + - |C| that you can always see in the UI what date is shown (also in Results list) - there should be 2 separate columns. + - |C| that you can sort these columns by clicking on the bar above them. + - Note that only some image formats have reliable Acquisition dates in OMERO, e.g. ``svs`` + - Note that only images have Acquisition dates, P/D/S/Ps have only Imported date. Nevertheless, P/D/S/Ps will be found even when Acquisition date is specified only, which is a bit counter-intuitive, but expected. + - (Insight only) |C| that a search with an empty query but a valid date range returns results as expected (= all the items with the ``Import date`` or ``Acquisition date`` within the specified range). + +**Search Results** + +#. Go to the Search Results and select one. + + - (Web only) |C| that you can navigate to the result in the data tree by clicking on the link in the rightmost column of the central pane. + - |C| that the right-hand pane is visible for P/D/S/P/I search results + - |C| that in Insight, in case of Images, you can navigate to the containing dataset using right-hand pane, and ``Located in``. + - |C| that in Insight the ``Located in`` link will lead you to the correct result only when the group in which the result is located is on display (under ``Projects`` harmonica). + - (Insight only) |C| that if the group is not on display the links will lead you to Project tab. Click back to Search tab and select another image in the Results list and + - (Insight only) |C| that there are no Insight errors when doing so. + +**Known Limitations** + +.. glossary:: + + **Tokenizing** + + + The search queries are tokenized at the non-alphanumeric + characters (except dash, underscore and colon), and then passed to Lucene. The OR logic between + multiple tokens is implemented. The non-alphanumeric characters + are ignored (except dash and underscore, which are accepted at face value). For the behaviour of colon see :term:`Map Annotations Search` + + + + **Quotes** + + + The Quoted search will not keep everything as it is in quotes, + instead it will tokenize at the non-alphanumeric signs and throw + these away. Nevertheless, the order of the terms in the quotes is + of importance and will be respected. For example ``"weird_tag"`` + and ``"weird-tag"`` queries will have the same Result, like + ``weird tag``, ``weird_tag`` and ``weird-tag`` but not + ``weirdtag`` and not ``tag weird`` or ``weird spacer tag``. + + + + **Wildcards** + + + The combination of a wildcard with any non-alphanumeric character + search is not allowed and will be caught out with a warning + message, e.g. ``(*`` but also ``?*`` or ``**`` and ``*.*`` will + give no results. Search for ``*.svs`` defaults to ``svs``. The + search for parts of alphanumerics groups must be done using + wildcards, parts of alphanumeric groups only will return nothing, e + .g. search for ``we`` will NOT return ``weird_image.svs``, but + search for ``we*`` will. + + + + **Advanced Search** + + + Search for ``nd2 weird AND attachment`` takes the space betwee ``nd2`` and ``weird`` as OR and returns the results which have + both ``weird`` and ``attachment`` OR ``nd2`` in them. + + + + **Map Annotations Search** + + + Additionally to the possiblity of searching single or multiple strings of Key:Value pairs in the Map Annotations, there is following logic implemented. ``Temperature:37`` will find only Map Annotations (i.e. NOT OTHER types of Annotations) with Key ``Temperature`` AND Value ``37``. Key ``Temperature`` with Value ``40``, as well as Key ``37`` with Value ``Temperature`` will both be ignored. + A further possibility is to search for ``has_key:Temperature`` which will return solely Map Annotations with this specific Key. + + + + + + diff --git a/docs/testing_scenarios/Share.rst b/docs/testing_scenarios/Share.rst new file mode 100644 index 0000000..9121eb0 --- /dev/null +++ b/docs/testing_scenarios/Share.rst @@ -0,0 +1,326 @@ +Share +===== + + +.. warning:: + + Shares is a discontinued feature since OMERO.web 5.9.0. In particular, share creation is no longer + supported in OMERO.web. However, previously created shares can still be viewed. + + See https://omero-guides.readthedocs.io/projects/introduction/en/latest/data-management.html#shares-discontinued-feature + +.. _Noteshare: + +.. note:: + + In case OMERO.iviewer is installed on the server, opening of the image in full viewer steps will fail. Instead, iviewer opens a dialog saing ``Image not found``. + +**To test in**: Web + +**Purpose of the test** is to check the Share feature in Web, visibility, and annotation possibility + +#. Make sure you have 2 users, in two different groups, e.g. user ``user-1`` and user ``user-3`` in groups + ``private-1`` and ``read-annotate-1`` as described in :doc:`TablePermissionsUsers` + + - User ``user-3`` has images in ``read-annotate-1``. + - User ``user-1`` is not a member of ``read-annotate-1`` and cannot see the images of ``user-3`` in ``read-annotate-1``. + +#. Log in as ``user-3`` and in ``read-annotate-1``, select an image and click on the “Globe” icon in the top icon bar [:ref:`Share001`] + + - |C| that a pop-up dialog is displaying indicating that Shares are not supported. + +#. Select 3 or more images in the left-hand pane, note their IDs and use the :download:`create_share.py ` + script to create a share of these images with `user-1`:: + + python create_share.py user-1 image_id_1 image_id_2 image_id_3 + + - go to the Shares tab + - |C| that the share has been created with the correct number of images + +#. Try to edit (pencil symbol - General tab, right pane).[:ref:`Share004`][:ref:`Share005`] + + - |C| that you can edit the share and save the changes. + - |C| that you can disable the Share by ticking off the ``Enable`` box and that after this the share is listed in the tree as light grey. + - |C| that you can change the expiry date. [:ref:`Share003`] + - |C| that when you edit one Share, save the changes and immediately try to edit another share, the changes get updated immediately and the share dialogs change the share you ARE just editing, not the one you HAVE just edited. + +#. Remove one image from the share using the scissors icon above left-hand pane + + - |C| that the tree and the middle pane updates + +#. Delete one of the images in the share going back to Data pane and using the Delete icon + + - Reload the share in ``Shares`` tab + - |C| that an ``Object deleted`` item is displayed in the tree. + - |C| that Delete Key on keyboard has no effect neither on selected images in Share nor on the Share itself in the tree. + +#. Log out and log in as user ``user-1``. Go to ``Shares`` tab (left-hand Panel). Select the share. + + - |C| that you CANNOT edit the share - the pencil symbol is not present. + - |C| that you cannot remove images from the Share. + - |C| that the number of images in the share [right-hand panel] is correct i.e. Share Count [:ref:`Share006`] + - |C| that all the panes are available (Preview with all Rnd settings except Save, Acquisition, General with the info, but no Annotations). + - |C| that you cannot run any scripts on the images (scripts menu is disabled) + - Note :ref:`limitation of Full viewer `. Double-click on an image in tree and |C| that Full viewer opens.[:ref:`Share007`]. + - Note :ref:`limitation of Full viewer `. Double-click on a thumbnail in central pane and |C| that Full viewer (the old, inbuilt viewer of OMERO.web) opens. [:ref:`Share007`]. + - Note :ref:`limitation of Full viewer `. Click on the ``Full Viewer`` button in right-hand pane and |C| that Full Viewer opens [:ref:`Share007`] + - Note :ref:`limitation of Full viewer `. |C| that you can change rendering settings in Full Viewer, but cannot Save the changes. + - |C| that images in the share cannot be annotated (i.e. rate, tags etc.) i.e. the General tab has no choices in its lower part.[:ref:`Share008`] + - |C| that you can comment on the share (right-hand pane). + + + + + + .. _Share001: + .. figure:: images/testing_scenarios/Share/001.png + :align: center + + Share001: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Share003: + .. figure:: images/testing_scenarios/Share/003.png + :align: center + + + Share003 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + + .. _Share004: + .. figure:: images/testing_scenarios/Share/004.png + :align: center + + Share004: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Share005: + .. figure:: images/testing_scenarios/Share/005.png + :align: center + + Share005: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Share006: + .. figure:: images/testing_scenarios/Share/006.png + :align: center + + Share006 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Share007: + .. figure:: images/testing_scenarios/Share/007.png + :align: center + + Share007: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _Share008: + .. figure:: images/testing_scenarios/Share/008.png + :align: center + + Share008: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + diff --git a/docs/testing_scenarios/ShareSecurityTesting.rst b/docs/testing_scenarios/ShareSecurityTesting.rst new file mode 100644 index 0000000..1571e68 --- /dev/null +++ b/docs/testing_scenarios/ShareSecurityTesting.rst @@ -0,0 +1,67 @@ +Share security testing +====================== + +**To test in**: Web, CLI + +**Purpose of the test** is to check that you cannot bypass security on the server as a member of a share. The rationale for the test: A member of a single private group which has no data on their own should not be able to retrieve any data (of other users) on the server, even if the user is a member of a Share. The Share for the purposes of this test contains no images. + +#. Login to web as an admin. Create a brand new user (non-admin, non-group owner, username:"test_share_owner") in a private group. This user should have no data. + +#. Edit the first three lines of the following python script to point to your server and port and the password of the newly created user "test_share_owner":: + + import omero + from omero.rtypes import unwrap + + host = "myserver" + port = 4064 + password = "CHANGEME" + owner = "test_share_owner" + + c_owner = omero.client(host=host, port=port) + s_owner = c_owner.createSession(owner, password) + + q = """select i.id, i.name, i.details.owner.id, i.details.group.id from Image i""" + assert 0 == len(unwrap(s_owner.getQueryService().projection(q, None, {'omero.group': str(-1)}))) + + sid = s_owner.getShareService().createShare("test", None, [], [], [], True) + + assert 0 == len(s_owner.getQueryService().findAll("Image", None, {'omero.share': str(sid), 'omero.group': str(-1)})) + + + q = """select i.id, i.name, i.details.owner.id, i.details.group.id from Image i""" + res = unwrap(s_owner.getQueryService().projection(q, None, {'omero.share': str(sid), 'omero.group': str(-1)})) + print "res:", len(res) + for i in res: + print i + + + q = """select count(i.id) from Image i""" + print "total images on the server:", unwrap(s_owner.getQueryService().projection(q, None, {'omero.share': str(sid), 'omero.group': str(-1)})) + + + s_owner.closeOnDestroy() + c_owner.closeSession() + c_owner.__del__() + + + +#. |C| that the output of the script run is just two lines, e.g.:: + + res: 0 + total images on the server: [[0L]] + +#. Here is the example of NON-EXPECTED output (there is a non-zero "res" output, as well as non-zero images found, these images and "res" should be inaccessible to the user) :: + + res: 21325 + [1L, 'abdominal.dcm', 7L, 7L] + [2L, 'ankle.dcm', 7L, 7L] + [3L, '000000_000001.jpx', 10L, 9L] + [4L, '4kx4k.jpf', 10L, 9L] + [5L, '8kx8k.jpf', 10L, 9L] + ... + [24323L, 'i241.fake', 10L, 9L] + [24328L, 'i644.fake', 10L, 9L] + [24351L, '1minute30asecinterval2cycles807ms.czi', 6L, 9L] + total images on the server: [[21325L]] + + diff --git a/docs/testing_scenarios/StressPerformance.rst b/docs/testing_scenarios/StressPerformance.rst new file mode 100644 index 0000000..880b7d1 --- /dev/null +++ b/docs/testing_scenarios/StressPerformance.rst @@ -0,0 +1,31 @@ +Stress Performance Testing +========================== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check the performance of the system under stress, combining multiple simultaneous imports with viewing and plate handling. + +NB: Do not worry about feature-specific bug reporting, keep stressing the system until you see performance issues, errors or crashes. + +#. Start the actions described below at a precise given hour (see Standup) in order to coincide with other testers. + +#. Import the whole folder ``team/pwalczysko/stress``. + +#. After the first images are ready to view, perform actions described in step 4 in taking care to: + + - emphasize speed of action and to challenge the system. + - perform all the prescribed actions. + - not to lose time with too meticulous performance of the steps. + +#. Do repeatedly (in any order) + + - view plates. + - view big images. + - view multi-image-filesets (MIFs, for example ``lei``). + - change rendering setting and channel names applying the new settings to ``all`` in a dataset. + - export images (Download, Export as ome-tiff, jpeg, tiff, png). + - open ROI tool, draw a line ROI, save it. + + diff --git a/docs/testing_scenarios/SwitchUser.rst b/docs/testing_scenarios/SwitchUser.rst new file mode 100644 index 0000000..f5c2154 --- /dev/null +++ b/docs/testing_scenarios/SwitchUser.rst @@ -0,0 +1,18 @@ +Switch User +=========== + + + +**To test in**: Web + +**Purpose of the test** is to check that admin user is able to change the current user account + +#. Login as root or alternative administrator account + + - in the url in your browser, go to ``http://HOST_NAME/webgateway/su/USER_NAME/`` where USER_NAME is the username you want to switch to hit Enter + - click on the link "Do you want to su to test" + - you shoudl see "true" + +#. Go back to webclient, i.e. ``http://HOST_NAME/webclient/`` + + - |C| that you are logged in as USER_NAME diff --git a/docs/testing_scenarios/TablePermissionsUsers.rst b/docs/testing_scenarios/TablePermissionsUsers.rst new file mode 100644 index 0000000..380e211 --- /dev/null +++ b/docs/testing_scenarios/TablePermissionsUsers.rst @@ -0,0 +1,52 @@ + +.. _Table-of-permissions-users: + +Table of permissions - user set +=============================== + + +**Purpose of this table** is to give the testers overview about the permissions of the standard users/groups set. + + + +.. tabularcolumns:: |p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}| + +.. list-table:: + :header-rows: 1 + :widths: 20, 20, 20, 20, 20 + + * - **Group --->** + - Private + - Read-only + - Read-annotate + - Read-write + * - user-1/user-7 + - Group Owner + - + - + - + * - user-2/user-8 + - Group Member + - Group Member + - + - + * - user-3/user-9 + - + - Group Owner + - Group Member + - + * - user-4/user-10 + - + - Group Member + - + - Group Owner + * - user-5/user-11 + - + - + - Group Owner + - Group Member + * - user-6/user-12 + - System Admin + - System Admin + - System Admin + - System Admin \ No newline at end of file diff --git a/docs/testing_scenarios/UserGroupManipulation.rst b/docs/testing_scenarios/UserGroupManipulation.rst new file mode 100644 index 0000000..fbdd941 --- /dev/null +++ b/docs/testing_scenarios/UserGroupManipulation.rst @@ -0,0 +1,529 @@ +User/Group Manipulation +======================= + + + +**To test in**: Web (Section 2), Insight (Section 1, 2) + +**Purpose of the test** is to check the viewing/display of groups/users and their data + +**Section 1: User Display (Insight only)** + +#. Switch to "User Display" in the main menu. Go to :menuselection:`View --> User Display` [:ref:`UserGroupM001b`]. + +#. Add several groups to the display. Switch between groups. [:ref:`UserGroupM001`][:ref:`UserGroupM002`][:ref:`UserGroupM003`] + +#. Add several users to the display [:ref:`UserGroupM002`][:ref:`UserGroupM005`]. + +#. Use ``Show all users`` option. + +#. Switch between users. + +#. Browse the user's data - go to the tree in left-hand pane, expand projects and datasets, view images. Go to the Screens harmonica and browse screens. [:ref:`UserGroupM005bi`]. + +#. Use ``Remove User`` command to remove users from display and ``Refresh User`` command to refresh the user on display.(Insight only) - use right-click [:ref:`UserGroupM004`] + +#. Remove groups from display. + +#. |C| that you can see the owner of the object in the right-hand pane [:ref:`UserGroupM008i`][:ref:`UserGroupM008w`]. + +#. |C| that you can see other users' data (P/D/I/S/Plate/Plate Run) in the group on display as appropriate according to your permissions. + +#. |C| that you can see annotations on other users' objects (P/D/I/S/Plate/Plate Run) as appropriate [:ref:`UserGroupM009w`].. + +#. (Not to do during permissions testing). Log off and log in as a new user. Bear in mind the danger of clashes with other testers when picking a new username. + + + - |C| that you can browse data + - |C| that you can view images. + + +**Section 2: Group Display (Web, Insight)** + +Note that at the moment, the ``Group Display`` menu is "old style". The new design has been implemented only to ``User Display`` by now. + +#. Switch to ``Group Display`` in the main menu. Go ``View > Group Display`` [:ref:`UserGroupM001c`] (Insight). In Web, click on a group name in the top-left corner and choose ``All members`` [:ref:`UserGroupM006w`]. + +#. Put several groups to display (Insight only) [:ref:`UserGroupM006i`]. + +#. Switch between groups [:ref:`UserGroupM006i`] (Insight only), put them on/off display. + +#. Browse your and other users' data - go to the tree in left-hand pane, expand projects and datasets, view images. Go to the Screens harmonica (Insight) or to the bottom of the tree (Web) and browse screens [:ref:`UserGroupM007i`]. + +#. |C| that you can see the owner of the object in the right-hand pane [:ref:`UserGroupM008i`][:ref:`UserGroupM008w`]. + +#. |C| that you can see other users' data (P/D/I/S/Plate/Plate Run) in the group on display as appropriate according to your permissions. + +#. |C| that you can see annotations on other users' objects (P/D/I/S/Plate/Plate Run) as appropriate according to your permissions [:ref:`UserGroupM009w`]. + + + | + + .. _UserGroupM001b: + .. figure:: images/testing_scenarios/UserGroupManipulation/001b.png + :align: center + + UserGroupM001b + + + + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM001: + .. figure:: images/testing_scenarios/UserGroupManipulation/001.png + :align: center + + UserGroupM001 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM002: + .. figure:: images/testing_scenarios/UserGroupManipulation/002.png + :align: center + + UserGroupM002 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM003: + .. figure:: images/testing_scenarios/UserGroupManipulation/003.png + :align: center + + UserGroupM003 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM004: + .. figure:: images/testing_scenarios/UserGroupManipulation/004.png + :align: center + + UserGroupM004 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM005: + .. figure:: images/testing_scenarios/UserGroupManipulation/005.png + :align: center + + UserGroupM005 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM005bi: + .. figure:: images/testing_scenarios/UserGroupManipulation/005bi.png + :align: center + + UserGroupM005bi + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM006i: + .. figure:: images/testing_scenarios/UserGroupManipulation/006i.png + :align: center + + UserGroupM006i + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM006w: + .. figure:: images/testing_scenarios/UserGroupManipulation/006w.png + :align: center + + UserGroupM006w + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM007i: + .. figure:: images/testing_scenarios/UserGroupManipulation/007i.png + :align: center + + UserGroupM007i + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM008i: + .. figure:: images/testing_scenarios/UserGroupManipulation/008i.png + :align: center + + UserGroupM008i + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM008w: + .. figure:: images/testing_scenarios/UserGroupManipulation/008w.png + :align: center + + UserGroupM008w + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + .. _UserGroupM001c: + .. figure:: images/testing_scenarios/UserGroupManipulation/001c.png + :align: center + + UserGroupM001c: + + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _UserGroupM009w: + .. figure:: images/testing_scenarios/UserGroupManipulation/009w.png + :align: center + + UserGroupM009w + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + diff --git a/docs/testing_scenarios/ViewBigImage.rst b/docs/testing_scenarios/ViewBigImage.rst new file mode 100644 index 0000000..028f0eb --- /dev/null +++ b/docs/testing_scenarios/ViewBigImage.rst @@ -0,0 +1,170 @@ +View Big Image +============== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to check viewing/rendering of large images (tiles, bird's eye features) + +#. Open a large image. + + - |C| that location in the bird's eye view (the red square in the insert in the lower-right corner) corresponds with the image part shown in the main window [:ref:`ViewBig001`][:ref:`ViewBig002`]. + - Move the red square in the bird's eye view by D&D and by clicking into the bird's eye view. + - Pan. + - |C| the tile loading. + +#. Modify the resolution level using slider on the left (Insight) [:ref:`ViewBig004`] or `+`, `-` signs on the left-hand side of the image (Web) [:ref:`ViewBig005`]. + + - |C| the tile loading. + +#. Modify the resolution level using mousewheel (both Web and Insight). + Note that at the moment, the behaviour is as expected only for Firefox on Mac OS X, in Safari and Chrome the mousewheel just scrolls the image up and down. + +#. Modify rendering settings [:ref:`ViewBig006`]. + + - Switch channels on / off + - Change the min / max values in the image. + - Note: The thumbnail will be updated only after the new settings are saved. + +#. Save the new rendering settings, close the image and reopen. + + - |C| that the rendering settings change is being respected. + +| +| +| +| +| +| +| +| +| +| +| + + +.. _ViewBig001: +.. figure:: images/testing_scenarios/ViewBigImage/001pub.png + :align: center + :width: 100% + + ViewBig001 + + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ViewBig002: +.. figure:: images/testing_scenarios/ViewBigImage/002pub.png + :align: center + + ViewBig002 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ViewBig004: +.. figure:: images/testing_scenarios/ViewBigImage/004.png + :align: center + + ViewBig004 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ViewBig005: +.. figure:: images/testing_scenarios/ViewBigImage/005.png + :align: center + + ViewBig005 + +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| + +.. _ViewBig006: +.. figure:: images/testing_scenarios/ViewBigImage/006pub.png + :align: center + :width: 100% + + ViewBig006 diff --git a/docs/testing_scenarios/ViewImageWithPerm.rst b/docs/testing_scenarios/ViewImageWithPerm.rst new file mode 100644 index 0000000..ea9575a --- /dev/null +++ b/docs/testing_scenarios/ViewImageWithPerm.rst @@ -0,0 +1,394 @@ +View Image +========== + + + +**To test in**: Web, Insight + +**Purpose of the test** is to test the View feature on multiple z/t image and to check the z-Projection creation functionality + +If you test work on other's data (permissions) go first to :ref:`Section 2: Work on others data ` + +**Section 1:** + +.. _view-work-own: + +#. Import an image with several channels/timepoint/z-sections. [:ref:`View001`]. + +#. Turn on/off channels, use z-slider and t-slider and play channels movie and z/t movie. + +#. Go to the split-view (=multi-channel in Web). Turn channels on/off, user z and t-sliders. + +#. Find a ``FLIM-modulo-sample.ome.tiff`` image (either it was pre-imported for you under ``FLIM`` Project or Dataset or import it from `here `_. + + - |C| that when you move either the ``T`` or the ``t`` slider, the ``True-T`` (for ``T``) and ``Sub-T`` (for ``t``) changes accordingly (=the correct ``T`` and ``t`` planes are shown) + - |C| that when you play ``T`` or ``t`` movie, again, the planes display changes accordingly and the movie stops as expected at the last plane. + +#. Toggle back between views. + +#. Turn on/off color/greyscale + +#. Modify the rendering settings. + +#. Click on Projection tab if enabled:[:ref:`FSView002`] - in Web, click on "Max Intensity" instead + + - Preview the projection [:ref:`FSView002`] (Insight only) + - Change the projection range (Insight only). + - Change the projection type (Maximum or Mean - double arrow menu next to "Intensity") [:ref:`FSView003`] (Insight only). + - Project the image.[:ref:`FSView004`][:ref:`FSView005`] (Insight only) + - |C| the result [:ref:`FSView006`] (Insight; Web - the result will appear in the full viewer window after click on "Max Intensity") + +#. Save as (Insight only): + + - JPEG, PNG - use the icon in the projection window, see [:ref:`View007`][:ref:`View008`] + - Save split channels.[:ref:`View008`] + - Save with all channels turned off. + - |C| the saved files. + +**End of Section 1: working on own data** + +--------------------------------------------------------------------------------------------------------------------------------- + +.. _label-name: + +**Section 2: Work on other users' data** + +Note: Projection (step 7 in Section 1) has different permission levels than the View action. Projection has the same permissions as the "Link/Unlink" action. + +- |C| the permissions of the user you have been assigned to use here: :ref:`Table of permissions-users ` +- |C| whether you CAN (=Y) or CANNOT (=N) view others' data in the table below. + + + +.. tabularcolumns:: |l|c|c|c| + +==================== ======= ========== ================ ================ + CAN VIEW? Private Read-only Read-annotate Read-write +==================== ======= ========== ================ ================ +Group Administrator Y Y Y Y +-------------------- ------- ---------- ---------------- ---------------- + Group Owner Y Y Y Y +-------------------- ------- ---------- ---------------- ---------------- + Group Member N Y Y Y +==================== ======= ========== ================ ================ + +#. Switch to Group Display (Insight) or put "All members" to display (Web). Go through the steps 2.- 8. :ref:`above ` and + + - Start viewing the data in Web first, then Insight + - |C| that you CAN/CANNOT (as appropriate) view others' images + - |C| that you CAN/CANNOT (as appropriate) view others' plates + - |C| that you CAN/CANNOT (as appropriate) make Projections of others' images and that the resulting projection is in the Dataset with the projected image + + +#. Switch to User Display (Insight) or put a single member to display (Web). o through the steps 2.- 8. :ref:`above ` and + + - Start viewing the data in Web first, then Insight + - |C| that you CAN/CANNOT (as appropriate) view others' images + - |C| that you CAN/CANNOT (as appropriate) view others' plates + - |C| that you CAN/CANNOT (as appropriate) make Projections of others' images and that the resulting projection is in the Dataset with the projected image + + + + + + + + .. _View001: + .. figure:: images/testing_scenarios/ViewImage/001.png + :align: center + :width: 100% + + View001: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _View002: + .. figure:: images/testing_scenarios/ViewImage/002.png + :align: center + + View002: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _View003: + .. figure:: images/testing_scenarios/ViewImage/003.png + :align: center + + View003 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _View004: + .. figure:: images/testing_scenarios/ViewImage/004.png + :align: center + + View004 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _View005: + .. figure:: images/testing_scenarios/ViewImage/005.png + :align: center + + View005 + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _View006: + .. figure:: images/testing_scenarios/ViewImage/006.png + :align: center + + + View006: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _View007: + .. figure:: images/testing_scenarios/ViewImage/007.png + :align: center + + View007: + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + + + .. _View008: + .. figure:: images/testing_scenarios/ViewImage/008.png + :align: center + + + View008 + + + + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + diff --git a/docs/testing_scenarios/VirtualMicroscope.rst b/docs/testing_scenarios/VirtualMicroscope.rst new file mode 100644 index 0000000..f49c00f --- /dev/null +++ b/docs/testing_scenarios/VirtualMicroscope.rst @@ -0,0 +1,95 @@ +Virtual Microscope Testing +========================== + + +**Production server**: +**Staging server**: + +**Public Gallery on production server**: +**Public Gallery on staging server**: + + +**Purpose of the test** is to check the functioning of the Virtual Microscope. + + +#. Testing cache + + - All urls matching ``webclient/render_*`` and ``webgateway/*`` are cached for 1 minute to simplify testing + - You can use only public urls for this testing, i.e. only the image IDs taken from Public Gallery when NOT logged in + - Either use Firebug, development tools in your web browser or, preferably, open console to check response using ``$ curl -I TESTED_URL`` + - Go through following 5 steps to |C| that the cache is working properly, working on the command line and only using the Public Gallery to take the image IDs from (repolace the ``1290`` in the examples below with the IDs you need to test). The expected output is included in the examples below. + + - cache wiped out on the server (use an image which was not pointed to by curl yet) + + :: + + $ curl -I https://ray.openmicroscopy.org/dundee/webgateway/img_detail/1290/ + HTTP/1.1 200 OK + Date: Wed, 02 Dec 2015 09:27:55 GMT + X-Proxy-Cache: MISS + + - another request immediately after + + :: + + $ curl -I https://ray.openmicroscopy.org/dundee/webgateway/img_detail/1290/ + HTTP/1.1 200 OK + Date: Wed, 02 Dec 2015 09:28:00 GMT + X-Proxy-Cache: HIT + + - one minute later, after cache expired + + :: + + $ curl -I https://ray.openmicroscopy.org/dundee/webgateway/img_detail/1290/ + HTTP/1.1 200 OK + Date: Wed, 02 Dec 2015 09:30:02 GMT + X-Proxy-Cache: EXPIRED + + - request content that shouldn't be cached + + :: + + $ curl -I https://ray.openmicroscopy.org/dundee/webclient/login/ + HTTP/1.1 200 OK + Date: Wed, 02 Dec 2015 09:31:10 GMT + X-Proxy-Cache: BYPASS + + - static file cache: + + :: + + $ curl -I https://ray.openmicroscopy.org/dundee/static/webclient/image/logo_login_web.png + Cache-Control: max-age=2592000 + +.. Note:: + ``X-Proxy-Cache`` can show various status (From https://www.nginx.com/blog/nginx-caching-guide/): + + - MISS – The response was not found in the cache and so was fetched from an origin server. The response might then have been cached. + - BYPASS – The response was fetched from the origin server instead of served from the cache because the request matched a proxy_cache_bypass directive. The response might then have been cached. + - EXPIRED – The entry in the cache has expired. The response contains fresh content from the origin server. + - STALE – The content is stale because the origin server is not responding correctly, and proxy_cache_use_stale was configured. + - UPDATING – The content is stale because the entry is currently being updated in response to a previous request, and proxy_cache_use_stale updating is configured. + - REVALIDATED – The proxy_cache_revalidate directive was enabled and NGINX verified that the current cached content was still valid (If-Modified-Since or If-None-Match). + - HIT – The response contains valid, fresh content direct from the cache. + + + +2. Public gallery testing + + - |C| in the top menu bar that you are logged in as "Public User". If you are logged in as yourself or other user, then just logout and navigate to the page again and |C| that you are now logged in as "Public User". Note that this is a known unrelated problem (see ticket :ticket:`12991`)." + - |C| that you see only 4 images in public examples. + - Double click on each slide and open full viewer. Zoom in and out. Load ROIs if possible. + +3. General testing + + - Log in using your UoD LDAP credentials. The login name should be case insensitive. |C| that when you try various combinations of upper and lower case, you can still log in. + - |C| that group/user menu displays "All courses" and name of courses only. + - Choose one of the courses from the list. Check if you ended up viewing data belonging to the user named as a course. + - Browse through each catalog and see if the slides' thumbnails load. + - Click on each slide and see if the metadata panels load. Please note that preview is turned off. + - |C| that download button is restricted to Render as JPEG/PNG/TIFF only. Download of raw data should be disabled. |C| that you cannot download original data. + - |C| that you cannot delete tags. + - |C| that scripts are disabled and there is no script listed in Script menu. Note that Script button is still available in Metadata Panel but it should throw an exception. + - Double click on each slide and open full viewer. Zoom in and out. Load ROIs if possible. + diff --git a/docs/testing_scenarios/WebLightTesting.rst b/docs/testing_scenarios/WebLightTesting.rst new file mode 100644 index 0000000..d61cbab --- /dev/null +++ b/docs/testing_scenarios/WebLightTesting.rst @@ -0,0 +1,60 @@ +Web - light testing +=================== + + + +**To test in**: Web + +**Purpose of the test** is to have a lightweight scenario covering all OMERO.web in case PRs testing such as Django upgrade or similar where the whole UI has to be tested, but not too deeply. + + +#. Feedback: send comment and error + + - Go to the appropriate server and add to the url ``/feedback/comment/`` for example ``https://eel/merge/feedback/comment/`` and filling in your email address, send comment. + - Go to the appropriate server and add to the url ``/weberror/error_500/`` for example ``https://eel/merge/weberror/error_500/`` and filling in your email address, submit error. + - |C| that the comment and error were sent (you should get corresponding emails). + +#. Login: + + - Replacing the ``eel/merge`` part in the following example, navigate in your browser to the url ``https://eel/merge/webclient/login/?url=%2Fmerge%2Fwebclient%2Fuserdata%2F%3Fexperimenter%3D-1`` + - Log in as a user who can view data of user-1. + - |C| that you were redirected to ``https://eel/merge/webclient/userdata/?experimenter=-1`` + - |C| that you can view data of user-1. + - Click on random P/D/I and |C| that you are not logged out automatically. + +#. Webadmin: + + - :doc:`Resetpwd` + - :doc:`AdminGroupUserCreate` (handled by robot test - just concentrate on tasks highlighted in testing sheet and take scenario as guidance) + - :doc:`AdminGroupUserEdit` (handled by robot test - just concentrate on tasks highlighted in testing sheet and take scenario as guidance) + - Edit my account (handled by robot test - just briefly double-check that you can change your password, first name and other details in the ``User settings`` form). To get to the ``User settings``, click onto your name in top right corner of the UI. + - Crop your avatar under ``User settings``. + + - Click on ``Change`` under the avatar. + - Click on ``Browse`` and ``Upload`` in case no avatar is uploaded yet. + - Click on ``Edit`` and then on ``Crop`` in the forms. + - |C| that the action proceeds. + +#. Webclient: + + - Copy the link to an image from the ``chain-link`` icon in top right of the Web UI and logout. + - |C| that this link when pasted to your browser in a new tab takes to the image (after you logged in again) + - Briefly search using global searching (from the small dialog in top right) as well as advance searching (from the Search interface, which you get to after you used the small dialog in top right). Just |C| that you get ANY results, selecting search terms which you know you should get some results for (Compare with Insight in doubt, no need to go into granularities like date, targeting, advanced search for P/D/I and similar). + - Annotation :doc:`Annotate` (just try to annotate the image with Tags, Ratings, Key-Value pairs, Comments, Description - do not go into details and edge cases, simple execution of single annotations is enough. Take the scenario just as a rough lead.) Test annotating with + + - singly-selected images + - multiselections of images + - attaching files from local harddrive + - attaching existing files + + - Create Project, Dataset, Screen (from icon and right-click, one execution per object means 6 executions in total - again, no granularity needed) + - Create and Edit Share :doc:`Share` (scenario just to give you a rough lead, see further) - just confirm that you can Creat and Edit, do not go into detail, email sending, multiselections, deletions etc. + - Edit channel name and save the change + - |C| that rendering settings work in most general cases: ``Copy``, ``Paste``, ``Save``, ``Save to all`` in Preview, ``Copy`` and ``Paste`` in Full Viewer, ``Copy``, ``Paste and Save`` , ``Set Imported and Save`` and ``Set Owners and Save`` in the tree. Try just once per command and |C| that action proceeds, and |C| that the thumbnails in central pane update accordingly. Do not go into details, permissions and synchronization checks. + - Download a file attachment and |C| that the action proceeds. + - Download an original file and |C| that the action proceeds. + - Save an image using ``Save as jpeg`` and |C| that the action proceeds. + + +#. Execute 2 scripts which you know should work, like ``Kymograph``. |C| that the execution was successful, do not go into details about the particularities of the script itself. Take :doc:`ScriptsClient` as a lead only. + diff --git a/docs/testing_scenarios/Webtag.rst b/docs/testing_scenarios/Webtag.rst new file mode 100644 index 0000000..97a5096 --- /dev/null +++ b/docs/testing_scenarios/Webtag.rst @@ -0,0 +1,11 @@ +:orphan: + +Webtagging scenario +=================== + +.. toctree:: + :maxdepth: 1 + + Webtagging + + diff --git a/docs/testing_scenarios/Webtagging.rst b/docs/testing_scenarios/Webtagging.rst new file mode 100644 index 0000000..0bed909 --- /dev/null +++ b/docs/testing_scenarios/Webtagging.rst @@ -0,0 +1,175 @@ +Webtagging +========== + + + +**To test in**: Web + +**Purpose of the test** is to check the Auto Tag and Tag Search Web applications. + +**Section 1: Auto Tag** + +#. Have some images imported to a Dataset. The names of the images should contain spaces and/or underscores such as ``my_file_foo_numberx.dv`` where x is 1, 2 and 3 consecutively. Note that for the purposes of this test you cannot perform renaming of the images in OMERO, you have to have the images either pre-imported or rename them locally, then import. Backslash, forward slash, period and underscore are the characters on which the tokenizing of the names in Auto Tag happens. + +#. Select the Dataset or any image inside the Dataset and + + - Select one of the images you just imported/found and + - On the right-hand side above the central pane, find the Dropdown menu saying ``Thumbnails`` + +#. Change the selection in this menu to ``Auto Tag`` + + - You can see either: + + - no columns with tag suggestions in the central pane [:ref:`Screenshot001`] + - or any combination of: + + - columns headed by pink buttons for tokens not mapped to any existing tags, and thus Autotag suggests new tags for these tokens, or for tokens which match more than one existing tag (i.e. Autotag does not know which of the existing tags to pick) + - columns headed by blue buttons for tokens mapped to tags that already exist on the server (Note: the suggestion of an existing tag can be created also manually, by expanding the menu under a pink button and selecting an existing tag -> the button becomes blue) + - columns headed by a green, existing Tags buttons that indicate tags already attached to an image (but not matched by any token in this dataset) + - and a column of image names on the right [:ref:`Screenshot002`] + + - If you see no columns in the central pane, then select the ``Show unmapped`` checkbox. + + - |C| that you can now see a slider which is by default at the value ``2`` (or ``1`` in case there is just one image in the Dataset) in the top right corner of the central pane. + + - |C| that when you slide the slider to the right, the number of columns in the central pane decreases, if you slide to the left, it increases. If you for example used the image names as suggested above, you should see the ``numberx`` columns only when you slide the slider to position ``1`` (i.e. to the extreme left). + +#. If no columns headed by pink buttons are visible, make sure ``Show unmapped`` is checked, move the slider to position ``1`` . Select the arrow on the right-hand side of the pink button above a column and from the menu select ``New/Existing Tag`` + + - In the dialog [:ref:`Screenshot003`], leave the default values and click ``Map`` + - |C| the button has changed from pink to blue and is labelled with the suggested tag name. + - |C| the checkboxes in the appropriate rows are checked (i.e. images which have the corresponding token in their name). + - |C| that when you now click the Apply button, the cells with selected checkboxes become green [:ref:`Screenshot004`] + +#. Repeat step 4 for at least 2 or 3 columns. + + - |C| that when you select an image in left-hand pane, for each green cell located next to its name in the central pane there is a corresponding tag (displayed in right-hand pane). + +#. Import images again, with similar but different names, such as ``my_file_foo_numberx.dv`` where x is bigger than 3 into another Dataset and select one of the images. + + - Change selection in the central pane to ``Auto Tag`` + - |C| that now you can see the tag suggestions which you created previously on the first batch of images [:ref:`Screenshot005`]. Click on Apply and |C| that the cells with selected checkboxes in the sheet turn green and the tags are applied to the images accordingly. + +**Section 2: Tag Search** + +#. On the left-hand side of the main toolbar [:ref:`Screenshot006`] select the Tag Search tab. + +#. In the left-hand pane, select the ``Preview`` checkbox. + +#. Click into the ``Selected Tags`` field and |C| that you can see the list of available tags [:ref:`Screenshot007`]. + + - Select one of the tags, and |C| that at least one item appears in the central pane. + - |C| that the selected tag appears in the ``Selected Tags`` field. + - Click again into the Selected Tags field (next to the displayed tag) and select a tag from the menu again. + - |C| that this new tag appears in the field ``Selected Tags`` next to the previously selected one. + - |C| that when you select an item (e.g. Image/Dataset...) in the central pane and expand the ``Tags`` harmonica in the right-hand pane, you can see that the item is tagged with both the tags highlighted in the ``Selected Tags`` field. + +| +| +| + +.. _Screenshot001: +.. figure:: images/testing_scenarios/Webtagging/001.png + :align: center + + Screenshot001: + + +| +| +| +| +| +| +| +| + +.. _Screenshot002: +.. figure:: images/testing_scenarios/Webtagging/002.png + :align: center + + Screenshot002: + + +| +| +| +| +| +| +| +| +| + +.. _Screenshot003: +.. figure:: images/testing_scenarios/Webtagging/003.png + :align: center + + Screenshot003: + + +| +| +| +| +| +| +| +| + +.. _Screenshot004: +.. figure:: images/testing_scenarios/Webtagging/004.png + :align: center + + Screenshot004: + + +| +| +| +| +| +| +| +| + +.. _Screenshot005: +.. figure:: images/testing_scenarios/Webtagging/005.png + :align: center + + Screenshot005: + + +| +| +| +| +| +| +| + +.. _Screenshot006: +.. figure:: images/testing_scenarios/Webtagging/006.png + :align: center + + Screenshot006: + +| +| +| +| +| +| +| +| +| + +.. _Screenshot007: +.. figure:: images/testing_scenarios/Webtagging/007.png + :align: center + + Screenshot007: + +| +| +| diff --git a/docs/testing_scenarios/downloads/CLI_001.txt b/docs/testing_scenarios/downloads/CLI_001.txt new file mode 100755 index 0000000..bc9f001 --- /dev/null +++ b/docs/testing_scenarios/downloads/CLI_001.txt @@ -0,0 +1,25 @@ +[petr@ls25165 ~]$ omero import ~/Desktop/Screen\ Shot\ 2012-11-02\ at\ 11.59.46.png +Using session a3e0e7d5-d291-477a-b57c-c9e5dd4c8ce1 (petr@localhost:4064). Idle timeout: 10.0 min. Current group: petr's group +2012-11-05 15:03:08,003 0 [ main] INFO ome.formats.importer.ImportConfig - OMERO Version: 4.4.4-DEV-ice33 +2012-11-05 15:03:08,007 4 [ main] INFO ome.formats.importer.ImportConfig - Bioformats version: 4.4.4 revision: 96c615b date: 1 November 2012 +2012-11-05 15:03:08,013 10 [ main] INFO formats.importer.cli.CommandLineImporter - Log levels -- Bio-Formats: ERROR OMERO.importer: INFO +2012-11-05 15:03:08,265 262 [ main] INFO ome.formats.importer.ImportCandidates - Depth: 4 Metadata Level: MINIMUM +2012-11-05 15:03:08,513 510 [ main] INFO ome.formats.importer.ImportCandidates - 1 file(s) parsed into 1 group(s) with 1 call(s) to setId in 245ms. (248ms total) [0 unknowns] +2012-11-05 15:03:08,723 720 [ main] INFO ome.formats.OMEROMetadataStoreClient - Attempting initial SSL connection to localhost:4064 +2012-11-05 15:03:09,114 1111 [ main] INFO ome.formats.OMEROMetadataStoreClient - Insecure connection requested, falling back +2012-11-05 15:03:09,276 1273 [ main] INFO ome.formats.OMEROMetadataStoreClient - Server: 4.4.4 +2012-11-05 15:03:09,276 1273 [ main] INFO ome.formats.OMEROMetadataStoreClient - Client: 4.4.4-DEV-ice33 +2012-11-05 15:03:09,277 1274 [ main] INFO ome.formats.OMEROMetadataStoreClient - Java Version: 1.6.0_35 +2012-11-05 15:03:09,277 1274 [ main] INFO ome.formats.OMEROMetadataStoreClient - OS Name: Mac OS X +2012-11-05 15:03:09,277 1274 [ main] INFO ome.formats.OMEROMetadataStoreClient - OS Arch: x86_64 +2012-11-05 15:03:09,277 1274 [ main] INFO ome.formats.OMEROMetadataStoreClient - OS Version: 10.8.2 +2012-11-05 15:03:09,544 1541 [ main] INFO ome.formats.importer.ImportLibrary - File format: Animated PNG +2012-11-05 15:03:09,544 1541 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.APNGReader +2012-11-05 15:03:09,544 1541 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 15:03:09,544 1541 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 15:03:09,544 1541 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 15:03:09,544 1541 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 15:03:10,076 2073 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +382 +2012-11-05 15:03:10,077 2074 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 diff --git a/docs/testing_scenarios/downloads/CLI_003.txt b/docs/testing_scenarios/downloads/CLI_003.txt new file mode 100755 index 0000000..1202984 --- /dev/null +++ b/docs/testing_scenarios/downloads/CLI_003.txt @@ -0,0 +1,115 @@ +[petr@ls25165 ~]$ omero import ~/Desktop/De-annotate/ +Using session 590a5806-5a04-4e68-b96a-ceb25c2fc167 (petr@localhost:4064). Idle timeout: 10.0 min. Current group: petr's group +2012-11-05 13:57:29,273 0 [ main] INFO ome.formats.importer.ImportConfig - OMERO Version: 4.4.4-DEV-ice33 +2012-11-05 13:57:29,277 4 [ main] INFO ome.formats.importer.ImportConfig - Bioformats version: 4.4.4 revision: 96c615b date: 1 November 2012 +2012-11-05 13:57:29,283 10 [ main] INFO formats.importer.cli.CommandLineImporter - Log levels -- Bio-Formats: ERROR OMERO.importer: INFO +2012-11-05 13:57:29,533 260 [ main] INFO ome.formats.importer.ImportCandidates - Depth: 4 Metadata Level: MINIMUM +2012-11-05 13:57:30,144 871 [ main] INFO ome.formats.importer.ImportCandidates - 10 file(s) parsed into 10 group(s) with 10 call(s) to setId in 605ms. (610ms total) [0 unknowns] +2012-11-05 13:57:30,351 1078 [ main] INFO ome.formats.OMEROMetadataStoreClient - Attempting initial SSL connection to localhost:4064 +2012-11-05 13:57:30,741 1468 [ main] INFO ome.formats.OMEROMetadataStoreClient - Insecure connection requested, falling back +2012-11-05 13:57:30,930 1657 [ main] INFO ome.formats.OMEROMetadataStoreClient - Server: 4.4.4 +2012-11-05 13:57:30,930 1657 [ main] INFO ome.formats.OMEROMetadataStoreClient - Client: 4.4.4-DEV-ice33 +2012-11-05 13:57:30,930 1657 [ main] INFO ome.formats.OMEROMetadataStoreClient - Java Version: 1.6.0_35 +2012-11-05 13:57:30,930 1657 [ main] INFO ome.formats.OMEROMetadataStoreClient - OS Name: Mac OS X +2012-11-05 13:57:30,930 1657 [ main] INFO ome.formats.OMEROMetadataStoreClient - OS Arch: x86_64 +2012-11-05 13:57:30,930 1657 [ main] INFO ome.formats.OMEROMetadataStoreClient - OS Version: 10.8.2 +2012-11-05 13:57:31,226 1953 [ main] INFO ome.formats.importer.ImportLibrary - File format: Animated PNG +2012-11-05 13:57:31,227 1954 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.APNGReader +2012-11-05 13:57:31,227 1954 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 13:57:31,227 1954 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 13:57:31,227 1954 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 13:57:31,227 1954 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 13:57:32,176 2903 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +371 +2012-11-05 13:57:32,176 2903 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 13:57:32,405 3132 [ main] INFO ome.formats.importer.ImportLibrary - File format: Animated PNG +2012-11-05 13:57:32,405 3132 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.APNGReader +2012-11-05 13:57:32,405 3132 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 13:57:32,405 3132 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 13:57:32,405 3132 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 13:57:32,406 3133 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 13:57:33,151 3878 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +372 +2012-11-05 13:57:33,151 3878 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 13:57:33,298 4025 [ main] INFO ome.formats.importer.ImportLibrary - File format: Animated PNG +2012-11-05 13:57:33,298 4025 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.APNGReader +2012-11-05 13:57:33,298 4025 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 13:57:33,298 4025 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 13:57:33,298 4025 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 13:57:33,299 4026 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 13:57:33,563 4290 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +373 +2012-11-05 13:57:33,563 4290 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 13:57:33,695 4422 [ main] INFO ome.formats.importer.ImportLibrary - File format: Animated PNG +2012-11-05 13:57:33,695 4422 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.APNGReader +2012-11-05 13:57:33,695 4422 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 13:57:33,696 4423 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 13:57:33,696 4423 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 13:57:33,696 4423 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 13:57:33,964 4691 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +374 +2012-11-05 13:57:33,964 4691 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 13:57:34,180 4907 [ main] INFO ome.formats.importer.ImportLibrary - File format: Animated PNG +2012-11-05 13:57:34,180 4907 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.APNGReader +2012-11-05 13:57:34,180 4907 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 13:57:34,180 4907 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 13:57:34,180 4907 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 13:57:34,180 4907 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 13:57:34,898 5625 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +375 +2012-11-05 13:57:34,898 5625 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 13:57:35,095 5822 [ main] INFO ome.formats.importer.ImportLibrary - File format: Animated PNG +2012-11-05 13:57:35,096 5823 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.APNGReader +2012-11-05 13:57:35,096 5823 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 13:57:35,096 5823 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 13:57:35,096 5823 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 13:57:35,096 5823 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 13:57:35,832 6559 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +376 +2012-11-05 13:57:35,832 6559 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 13:57:35,950 6677 [ main] INFO ome.formats.importer.ImportLibrary - File format: Animated PNG +2012-11-05 13:57:35,950 6677 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.APNGReader +2012-11-05 13:57:35,950 6677 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 13:57:35,950 6677 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 13:57:35,950 6677 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 13:57:35,950 6677 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 13:57:36,231 6958 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +377 +2012-11-05 13:57:36,231 6958 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 13:57:36,367 7094 [ main] INFO ome.formats.importer.ImportLibrary - File format: Animated PNG +2012-11-05 13:57:36,367 7094 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.APNGReader +2012-11-05 13:57:36,367 7094 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 13:57:36,367 7094 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 13:57:36,367 7094 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 13:57:36,367 7094 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 13:57:36,655 7382 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +378 +2012-11-05 13:57:36,655 7382 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 13:57:36,808 7535 [ main] INFO ome.formats.importer.ImportLibrary - File format: Animated PNG +2012-11-05 13:57:36,808 7535 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.APNGReader +2012-11-05 13:57:36,808 7535 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 13:57:36,808 7535 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 13:57:36,808 7535 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 13:57:36,808 7535 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 13:57:37,093 7820 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +379 +2012-11-05 13:57:37,093 7820 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 13:57:37,232 7959 [ main] INFO ome.formats.importer.ImportLibrary - File format: Animated PNG +2012-11-05 13:57:37,232 7959 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.APNGReader +2012-11-05 13:57:37,232 7959 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 13:57:37,232 7959 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 13:57:37,232 7959 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 13:57:37,232 7959 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 13:57:37,487 8214 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +380 +2012-11-05 13:57:37,487 8214 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 diff --git a/docs/testing_scenarios/downloads/CLI_007.txt b/docs/testing_scenarios/downloads/CLI_007.txt new file mode 100755 index 0000000..6a57d7d --- /dev/null +++ b/docs/testing_scenarios/downloads/CLI_007.txt @@ -0,0 +1,895 @@ +[petr@ls25165 ~]$ omero import -d 101 ~/Desktop/lei/ +Using session 2d70d607-5173-4d4d-8683-45d5b88d3865 (petr@localhost:4064). Idle timeout: 10.0 min. Current group: petr's group +2012-11-05 15:17:37,269 0 [ main] INFO ome.formats.importer.ImportConfig - OMERO Version: 4.4.4-DEV-ice33 +2012-11-05 15:17:37,273 4 [ main] INFO ome.formats.importer.ImportConfig - Bioformats version: 4.4.4 revision: 96c615b date: 1 November 2012 +2012-11-05 15:17:37,283 14 [ main] INFO formats.importer.cli.CommandLineImporter - Log levels -- Bio-Formats: ERROR OMERO.importer: INFO +2012-11-05 15:17:37,532 263 [ main] INFO ome.formats.importer.ImportCandidates - Depth: 4 Metadata Level: MINIMUM +2012-11-05 15:17:38,750 1481 [ main] INFO ome.formats.importer.ImportCandidates - 541 file(s) parsed into 6 group(s) with 16 call(s) to setId in 1168ms. (1218ms total) [10 unknowns] +2012-11-05 15:17:39,981 2712 [ main] INFO ome.formats.OMEROMetadataStoreClient - Attempting initial SSL connection to localhost:4064 +2012-11-05 15:17:40,390 3121 [ main] INFO ome.formats.OMEROMetadataStoreClient - Insecure connection requested, falling back +2012-11-05 15:17:40,557 3288 [ main] INFO ome.formats.OMEROMetadataStoreClient - Server: 4.4.4 +2012-11-05 15:17:40,557 3288 [ main] INFO ome.formats.OMEROMetadataStoreClient - Client: 4.4.4-DEV-ice33 +2012-11-05 15:17:40,557 3288 [ main] INFO ome.formats.OMEROMetadataStoreClient - Java Version: 1.6.0_35 +2012-11-05 15:17:40,557 3288 [ main] INFO ome.formats.OMEROMetadataStoreClient - OS Name: Mac OS X +2012-11-05 15:17:40,557 3288 [ main] INFO ome.formats.OMEROMetadataStoreClient - OS Arch: x86_64 +2012-11-05 15:17:40,557 3288 [ main] INFO ome.formats.OMEROMetadataStoreClient - OS Version: 10.8.2 +2012-11-05 15:17:40,655 3386 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:17:40,714 3445 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:17:41,414 4145 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,414 4145 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,415 4146 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,434 4165 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,532 4263 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,532 4263 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,532 4263 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,532 4263 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,582 4313 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,582 4313 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,582 4313 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,583 4314 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,626 4357 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,626 4357 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,626 4357 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,627 4358 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,656 4387 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,656 4387 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,656 4387 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,656 4387 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,686 4417 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,686 4417 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,686 4417 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,686 4417 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,711 4442 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,711 4442 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,711 4442 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,711 4442 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,736 4467 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,736 4467 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,736 4467 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,737 4468 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,759 4490 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,760 4491 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,760 4491 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,760 4491 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,782 4513 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,782 4513 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,782 4513 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,783 4514 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,809 4540 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,809 4540 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,809 4540 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,810 4541 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,831 4562 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,831 4562 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,831 4562 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,831 4562 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,853 4584 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,853 4584 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,853 4584 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,854 4585 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,877 4608 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,877 4608 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,877 4608 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,877 4608 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,899 4630 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,899 4630 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,899 4630 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,899 4630 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,922 4653 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,922 4653 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,922 4653 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,922 4653 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,945 4676 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,946 4677 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,946 4677 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,946 4677 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,966 4697 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,966 4697 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,966 4697 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,967 4698 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,987 4718 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:41,987 4718 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:41,987 4718 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:41,988 4719 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,012 4743 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,012 4743 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,012 4743 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,012 4743 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,036 4767 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,036 4767 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,036 4767 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,036 4767 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,058 4789 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,058 4789 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,058 4789 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,058 4789 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,079 4810 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,079 4810 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,079 4810 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,079 4810 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,099 4830 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,099 4830 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,099 4830 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,100 4831 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,120 4851 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,120 4851 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,120 4851 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,121 4852 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,141 4872 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,141 4872 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,141 4872 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,142 4873 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,160 4891 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,160 4891 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,160 4891 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,160 4891 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,178 4909 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,178 4909 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,178 4909 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,179 4910 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,199 4930 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,199 4930 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,200 4931 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,200 4931 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,221 4952 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,221 4952 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,221 4952 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,221 4952 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,241 4972 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,241 4972 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,241 4972 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,241 4972 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,263 4994 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,263 4994 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,263 4994 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,264 4995 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,284 5015 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,284 5015 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,284 5015 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,284 5015 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,303 5034 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,303 5034 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,303 5034 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,304 5035 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,325 5056 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,325 5056 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,325 5056 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,325 5056 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,348 5079 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,348 5079 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,348 5079 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,348 5079 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,369 5100 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,369 5100 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,369 5100 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,369 5100 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,393 5124 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,393 5124 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,393 5124 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,393 5124 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,413 5144 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,413 5144 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,413 5144 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,413 5144 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,431 5162 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,431 5162 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,431 5162 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,431 5162 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,457 5188 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,457 5188 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,457 5188 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,457 5188 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,480 5211 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,480 5211 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,480 5211 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,481 5212 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,501 5232 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,501 5232 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,501 5232 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,501 5232 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,523 5254 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,523 5254 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,523 5254 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,523 5254 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,543 5274 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,544 5275 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,544 5275 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,544 5275 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,566 5297 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,566 5297 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,566 5297 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,567 5298 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,587 5318 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,587 5318 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,588 5319 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,588 5319 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,609 5340 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,609 5340 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,609 5340 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,609 5340 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,636 5367 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,636 5367 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,636 5367 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,637 5368 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,657 5388 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,657 5388 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,657 5388 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,657 5388 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,678 5409 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,678 5409 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,679 5410 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,796 5527 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,816 5547 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,816 5547 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,816 5547 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,816 5547 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,835 5566 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,835 5566 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,835 5566 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,836 5567 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,859 5590 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,859 5590 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,859 5590 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,859 5590 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,878 5609 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,879 5610 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,879 5610 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,879 5610 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,900 5631 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:42,900 5631 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,900 5631 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:42,902 5633 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:42,939 5670 [ main] INFO ome.formats.importer.ImportLibrary - File format: Leica +2012-11-05 15:17:42,939 5670 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.LeicaReader +2012-11-05 15:17:42,939 5670 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 15:17:42,939 5670 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 15:17:42,939 5670 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 15:17:42,939 5670 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 15:17:43,109 5840 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:2 +2012-11-05 15:17:43,110 5841 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:1 +2012-11-05 15:17:43,110 5841 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:0 +2012-11-05 15:17:43,110 5841 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:6 +2012-11-05 15:17:43,110 5841 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:5 +2012-11-05 15:17:43,110 5841 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:4 +2012-11-05 15:17:43,110 5841 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:3 +2012-11-05 15:17:43,110 5841 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:9 +2012-11-05 15:17:43,110 5841 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:8 +2012-11-05 15:17:43,110 5841 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:7 +2012-11-05 15:17:43,113 5844 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:51 +2012-11-05 15:17:43,113 5844 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:50 +2012-11-05 15:17:43,113 5844 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:53 +2012-11-05 15:17:43,113 5844 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:52 +2012-11-05 15:17:43,113 5844 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:55 +2012-11-05 15:17:43,114 5845 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:54 +2012-11-05 15:17:43,114 5845 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:45 +2012-11-05 15:17:43,114 5845 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:46 +2012-11-05 15:17:43,115 5846 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:47 +2012-11-05 15:17:43,115 5846 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:48 +2012-11-05 15:17:43,115 5846 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:49 +2012-11-05 15:17:43,115 5846 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:40 +2012-11-05 15:17:43,115 5846 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:44 +2012-11-05 15:17:43,116 5847 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:43 +2012-11-05 15:17:43,116 5847 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:42 +2012-11-05 15:17:43,116 5847 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:41 +2012-11-05 15:17:43,116 5847 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:36 +2012-11-05 15:17:43,116 5847 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:37 +2012-11-05 15:17:43,116 5847 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:34 +2012-11-05 15:17:43,116 5847 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:35 +2012-11-05 15:17:43,117 5848 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:38 +2012-11-05 15:17:43,117 5848 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:39 +2012-11-05 15:17:43,119 5850 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:10 +2012-11-05 15:17:43,119 5850 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:11 +2012-11-05 15:17:43,120 5851 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:29 +2012-11-05 15:17:43,120 5851 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:28 +2012-11-05 15:17:43,120 5851 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:27 +2012-11-05 15:17:43,120 5851 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:26 +2012-11-05 15:17:43,120 5851 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:25 +2012-11-05 15:17:43,120 5851 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:24 +2012-11-05 15:17:43,120 5851 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:23 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:32 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:33 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:30 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:31 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:17 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:16 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:19 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:18 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:13 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:12 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:15 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:14 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:20 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:21 +2012-11-05 15:17:43,121 5852 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:22 +2012-11-05 15:17:54,597 17328 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +2012-11-05 15:17:54,598 17329 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 15:17:54,669 17400 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:17:54,721 17452 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:17:55,208 17939 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,208 17939 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,208 17939 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,218 17949 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,237 17968 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,237 17968 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,237 17968 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,237 17968 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,254 17985 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,254 17985 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,254 17985 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,254 17985 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,271 18002 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,271 18002 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,271 18002 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,271 18002 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,287 18018 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,288 18019 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,288 18019 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,288 18019 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,304 18035 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,304 18035 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,304 18035 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,304 18035 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,316 18047 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,316 18047 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,316 18047 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,317 18048 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,329 18060 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,329 18060 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,329 18060 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,330 18061 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,345 18076 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,345 18076 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,345 18076 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,345 18076 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,358 18089 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,359 18090 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,359 18090 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,359 18090 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,372 18103 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,372 18103 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,372 18103 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,372 18103 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,388 18119 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,388 18119 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,388 18119 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,389 18120 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,402 18133 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,402 18133 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,402 18133 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,402 18133 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,415 18146 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,415 18146 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,415 18146 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,416 18147 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,431 18162 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,431 18162 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,431 18162 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,431 18162 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,444 18175 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,444 18175 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,444 18175 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,445 18176 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,460 18191 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,460 18191 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,460 18191 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,460 18191 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,474 18205 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,474 18205 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,474 18205 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,474 18205 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,488 18219 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,488 18219 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,488 18219 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,488 18219 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,506 18237 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,506 18237 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,506 18237 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,507 18238 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,522 18253 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,522 18253 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,522 18253 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,522 18253 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,535 18266 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,535 18266 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,535 18266 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,536 18267 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,551 18282 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,551 18282 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,551 18282 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,552 18283 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,565 18296 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,565 18296 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,565 18296 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,565 18296 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,579 18310 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,579 18310 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,579 18310 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,579 18310 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,596 18327 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,596 18327 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,596 18327 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,597 18328 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,610 18341 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,610 18341 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,610 18341 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,611 18342 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,627 18358 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,627 18358 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,627 18358 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,627 18358 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,644 18375 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,644 18375 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,644 18375 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,644 18375 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,660 18391 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,660 18391 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,660 18391 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,660 18391 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,674 18405 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,674 18405 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,674 18405 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,674 18405 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,689 18420 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,689 18420 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,689 18420 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,689 18420 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,706 18437 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,706 18437 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,706 18437 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,706 18437 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,721 18452 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,721 18452 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,721 18452 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,721 18452 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,736 18467 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,736 18467 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,736 18467 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,736 18467 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,753 18484 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,753 18484 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,753 18484 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,753 18484 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,767 18498 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,767 18498 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,767 18498 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,767 18498 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,784 18515 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,784 18515 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,784 18515 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,784 18515 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,799 18530 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,799 18530 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,799 18530 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,799 18530 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,813 18544 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,813 18544 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,813 18544 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,813 18544 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,829 18560 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,829 18560 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,829 18560 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,829 18560 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,843 18574 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,843 18574 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,843 18574 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,844 18575 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,860 18591 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,860 18591 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,860 18591 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,860 18591 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,874 18605 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,874 18605 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,874 18605 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,874 18605 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,889 18620 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,889 18620 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,889 18620 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,890 18621 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,906 18637 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,906 18637 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,907 18638 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,907 18638 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,922 18653 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,922 18653 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,922 18653 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,922 18653 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,938 18669 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,938 18669 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,938 18669 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,938 18669 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,952 18683 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,952 18683 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,952 18683 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,952 18683 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,970 18701 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,970 18701 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,970 18701 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,970 18701 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,987 18718 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:55,987 18718 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:55,987 18718 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:55,987 18718 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,003 18734 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,003 18734 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,003 18734 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,003 18734 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,023 18754 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,023 18754 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,023 18754 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,023 18754 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,043 18774 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,043 18774 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,043 18774 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,043 18774 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,064 18795 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,064 18795 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,064 18795 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,064 18795 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,081 18812 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,081 18812 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,081 18812 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,081 18812 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,100 18831 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,100 18831 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,100 18831 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,101 18832 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,122 18853 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,122 18853 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,122 18853 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,122 18853 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,142 18873 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,142 18873 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,142 18873 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,142 18873 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,161 18892 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,161 18892 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,161 18892 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,162 18893 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,182 18913 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,182 18913 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,182 18913 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,182 18913 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,203 18934 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,203 18934 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,203 18934 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,204 18935 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,222 18953 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,222 18953 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,222 18953 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,223 18954 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,243 18974 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,244 18975 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,244 18975 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,244 18975 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,262 18993 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,263 18994 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,263 18994 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,263 18994 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,284 19015 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,284 19015 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,284 19015 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,284 19015 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,302 19033 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,302 19033 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,302 19033 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,302 19033 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,323 19054 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,323 19054 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,323 19054 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,323 19054 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,344 19075 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,344 19075 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,344 19075 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,345 19076 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,368 19099 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,368 19099 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,368 19099 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,368 19099 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,387 19118 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,387 19118 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,387 19118 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,387 19118 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,409 19140 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,409 19140 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,409 19140 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,409 19140 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,428 19159 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:17:56,428 19159 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,428 19159 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:17:56,428 19159 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:17:56,472 19203 [ main] INFO ome.formats.importer.ImportLibrary - File format: Leica +2012-11-05 15:17:56,472 19203 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.LeicaReader +2012-11-05 15:17:56,472 19203 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 15:17:56,472 19203 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 15:17:56,472 19203 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 15:17:56,472 19203 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 15:17:56,550 19281 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:2 +2012-11-05 15:17:56,550 19281 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:1 +2012-11-05 15:17:56,550 19281 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:0 +2012-11-05 15:17:56,550 19281 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:6 +2012-11-05 15:17:56,550 19281 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:5 +2012-11-05 15:17:56,550 19281 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:4 +2012-11-05 15:17:56,550 19281 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:3 +2012-11-05 15:17:56,550 19281 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:9 +2012-11-05 15:17:56,550 19281 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:8 +2012-11-05 15:17:56,550 19281 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:7 +2012-11-05 15:17:56,551 19282 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:51 +2012-11-05 15:17:56,551 19282 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:50 +2012-11-05 15:17:56,551 19282 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:53 +2012-11-05 15:17:56,551 19282 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:52 +2012-11-05 15:17:56,551 19282 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:55 +2012-11-05 15:17:56,551 19282 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:54 +2012-11-05 15:17:56,551 19282 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:45 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:46 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:47 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:48 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:49 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:40 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:44 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:43 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:42 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:41 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:36 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:37 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:34 +2012-11-05 15:17:56,552 19283 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:35 +2012-11-05 15:17:56,553 19284 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:38 +2012-11-05 15:17:56,553 19284 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:39 +2012-11-05 15:17:56,553 19284 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:71 +2012-11-05 15:17:56,553 19284 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:70 +2012-11-05 15:17:56,553 19284 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:72 +2012-11-05 15:17:56,553 19284 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:67 +2012-11-05 15:17:56,553 19284 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:68 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:69 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:66 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:65 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:64 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:63 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:62 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:61 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:60 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:58 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:59 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:56 +2012-11-05 15:17:56,554 19285 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:57 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:10 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:11 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:29 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:28 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:27 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:26 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:25 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:24 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:23 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:32 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:33 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:30 +2012-11-05 15:17:56,555 19286 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:31 +2012-11-05 15:17:56,556 19287 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:17 +2012-11-05 15:17:56,556 19287 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:16 +2012-11-05 15:17:56,556 19287 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:19 +2012-11-05 15:17:56,556 19287 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:18 +2012-11-05 15:17:56,556 19287 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:13 +2012-11-05 15:17:56,556 19287 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:12 +2012-11-05 15:17:56,556 19287 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:15 +2012-11-05 15:17:56,556 19287 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:14 +2012-11-05 15:17:56,557 19288 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:20 +2012-11-05 15:17:56,557 19288 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:21 +2012-11-05 15:17:56,557 19288 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:22 +2012-11-05 15:18:10,531 33262 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +2012-11-05 15:18:10,533 33264 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 15:18:10,605 33336 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:18:10,647 33378 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:18:10,890 33621 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OIL' will be stored as "Other" +2012-11-05 15:18:10,890 33621 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'BD' will be stored as "Other" +2012-11-05 15:18:10,890 33621 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'BD' will be stored as "Other" +2012-11-05 15:18:10,898 33629 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'BD' will be stored as "Other" +2012-11-05 15:18:10,914 33645 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OIL' will be stored as "Other" +2012-11-05 15:18:10,914 33645 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'BD' will be stored as "Other" +2012-11-05 15:18:10,914 33645 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'BD' will be stored as "Other" +2012-11-05 15:18:10,914 33645 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'BD' will be stored as "Other" +2012-11-05 15:18:10,929 33660 [ main] INFO ome.formats.importer.ImportLibrary - File format: Leica +2012-11-05 15:18:10,929 33660 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.LeicaReader +2012-11-05 15:18:10,929 33660 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 15:18:10,930 33661 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 15:18:10,930 33661 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 15:18:10,930 33661 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 15:18:10,962 33693 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:2 +2012-11-05 15:18:10,962 33693 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:1 +2012-11-05 15:18:10,962 33693 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:0 +2012-11-05 15:18:10,962 33693 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:3 +2012-11-05 15:18:12,615 35346 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +512 +513 +514 +515 +2012-11-05 15:18:12,615 35346 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 15:18:12,685 35416 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:18:12,727 35458 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:18:12,785 35516 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:18:12,785 35516 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:18:12,785 35516 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'UV' will be stored as "Other" +2012-11-05 15:18:12,785 35516 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:18:12,799 35530 [ main] INFO ome.formats.importer.ImportLibrary - File format: Leica +2012-11-05 15:18:12,799 35530 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.LeicaReader +2012-11-05 15:18:12,799 35530 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 15:18:12,799 35530 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 15:18:12,799 35530 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 15:18:12,800 35531 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 15:18:12,801 35532 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:0 +2012-11-05 15:18:13,236 35967 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +516 +2012-11-05 15:18:13,236 35967 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 15:18:13,321 36052 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:18:13,371 36102 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:18:13,437 36168 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:18:13,437 36168 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:18:13,437 36168 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:18:13,446 36177 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:18:13,454 36185 [ main] INFO ome.formats.importer.ImportLibrary - File format: Leica +2012-11-05 15:18:13,454 36185 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.LeicaReader +2012-11-05 15:18:13,454 36185 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 15:18:13,454 36185 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 15:18:13,454 36185 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 15:18:13,454 36185 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 15:18:13,456 36187 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:0 +2012-11-05 15:18:13,933 36664 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +517 +2012-11-05 15:18:13,933 36664 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 +2012-11-05 15:18:13,999 36730 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:18:14,042 36773 [ main] INFO ome.formats.OMEROMetadataStoreClient - Call context: {omero.group:3} +2012-11-05 15:18:14,095 36826 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:18:14,095 36826 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:18:14,095 36826 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:18:14,103 36834 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:18:14,110 36841 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'OI' will be stored as "Other" +2012-11-05 15:18:14,110 36841 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:18:14,110 36841 [ main] WARN odel.enums.handlers.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other" +2012-11-05 15:18:14,110 36841 [ main] WARN del.enums.handlers.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other" +2012-11-05 15:18:14,113 36844 [ main] INFO ome.formats.importer.ImportLibrary - File format: Leica +2012-11-05 15:18:14,113 36844 [ main] INFO ome.formats.importer.ImportLibrary - Base reader: loci.formats.in.LeicaReader +2012-11-05 15:18:14,113 36844 [ main] INFO ome.formats.importer.ImportLibrary - Metadata only import? false +2012-11-05 15:18:14,113 36844 [ main] INFO ome.formats.importer.ImportLibrary - Archiving enabled? false +2012-11-05 15:18:14,113 36844 [ main] INFO ome.formats.importer.ImportLibrary - Container metadata only import? false +2012-11-05 15:18:14,113 36844 [ main] INFO ome.formats.importer.ImportLibrary - Reader is not of HCS domain, use metafile: true +2012-11-05 15:18:14,115 36846 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:1 +2012-11-05 15:18:14,115 36846 [ main] WARN ome.formats.model.ReferenceProcessor - Unknown target class for LSID: Image:0 +2012-11-05 15:18:14,664 37395 [ main] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE +Imported pixels: +518 +519 +2012-11-05 15:18:14,664 37395 [ main] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 diff --git a/docs/testing_scenarios/downloads/DropBox_001.txt b/docs/testing_scenarios/downloads/DropBox_001.txt new file mode 100755 index 0000000..bbfb6c4 --- /dev/null +++ b/docs/testing_scenarios/downloads/DropBox_001.txt @@ -0,0 +1,33 @@ +[petr@ls25165 ~/Work/openmicroscopy]$ tail -f dist/var/log/DropBox.log +2012-11-05 13:51:50,303 INFO [ fsclient.fsDropBoxMonitorClient] (MainThread) Stopping state... +2012-11-05 13:51:50,303 INFO [ fsclient.fsDropBoxMonitorClient] (MainThread) Cleaning up resources state... +2012-11-05 13:51:50,305 INFO [ fsclient.DropBox] (MainThread) Exiting with exit code: 0 +2012-11-05 13:52:13,666 INFO [ omero.utils] (MainThread) Failed to get session on attempt 1 +2012-11-05 13:52:16,751 INFO [ fsclient.DropBox] (MainThread) Monitor parameters = {'default': {'ignoreSysFiles': True, 'importArgs': '', 'watchDir': '', 'readers': '', 'blockSize': 0, 'whitelist': [], 'throttleImport': 10, 'ignoreDirEvents': True, 'blacklist': [], 'fileWait': 15.0, 'dirImportWait': 60, 'timeout': 0.0, 'pathMode': Follow, 'eventTypes': [Creation, Modification], 'timeToLive': 0L, 'timeToIdle': 600000L, 'fileBatch': 10}} +2012-11-05 13:52:16,797 INFO [ fsclient.DropBox] (MainThread) Creating client for user: default +2012-11-05 13:52:16,798 INFO [ omero.util.Resources] (Thread-2 ) Starting +2012-11-05 13:52:16,799 INFO [ fsclient.fsDropBoxMonitorClient] (MainThread) EVENT_RECORD::Cookie::1352123536.8::Directory::/Users/petr/var/omero/DropBox +2012-11-05 13:52:16,824 INFO [ fsclient.DropBox] (MainThread) Created monitor with id = 0289fe57-2750-11e2-8a83-3c0754217889 +2012-11-05 13:52:16,825 INFO [ fsclient.DropBox] (MainThread) Started OMERO.fs DropBox client +2012-11-05 16:50:01,989 INFO [ omero.remote] (Dummy-4 ) Meth: MonitorClientI.fsEventHappened +2012-11-05 16:50:01,989 INFO [ fsclient.fsDropBoxMonitorClient] (Dummy-4 ) EVENT_RECORD::Cookie::1352134201.99::Batch::1 +2012-11-05 16:50:01,989 INFO [ fsclient.fsDropBoxMonitorClient] (Dummy-4 ) EVENT_RECORD::Cookie::1352134201.99::Create::/Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv +2012-11-05 16:50:02,050 INFO [ omero.remote] (Dummy-4 ) Rslt: None +2012-11-05 16:50:12,823 INFO [ fsclient.fsDropBoxMonitorClient] (Thread-3 ) Processing 1 events (1 ids). 0 remaining +2012-11-05 16:50:12,823 INFO [ fsclient.fsDropBoxMonitorClient] (Thread-3 ) Getting filesets on : set(['/Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv']) +2012-11-05 16:50:14,322 INFO [ fsclient.fsDropBoxMonitorClient] (Thread-3 ) EVENT_RECORD::Cookie::1352134214.32::Filesets::{'/Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv': ['/Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv']} +2012-11-05 16:50:14,323 INFO [ fsclient.fsDropBoxMonitorClient] (Thread-3 ) New entry /Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv contains 1 file(s). Files=1 Timers=1 +2012-11-05 16:50:30,193 INFO [ omero.remote] (Dummy-6 ) Meth: MonitorClientI.fsEventHappened +2012-11-05 16:50:30,193 INFO [ fsclient.fsDropBoxMonitorClient] (Dummy-6 ) EVENT_RECORD::Cookie::1352134230.19::Batch::1 +2012-11-05 16:50:30,193 INFO [ fsclient.fsDropBoxMonitorClient] (Dummy-6 ) EVENT_RECORD::Cookie::1352134230.19::Create::/Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv.log +2012-11-05 16:50:30,200 INFO [ omero.remote] (Dummy-6 ) Rslt: None +2012-11-05 16:50:46,333 INFO [ fsclient.fsDropBoxMonitorClient] (Thread-3 ) Processing 1 events (1 ids). 0 remaining +2012-11-05 16:50:46,333 INFO [ fsclient.fsDropBoxMonitorClient] (Thread-3 ) Getting filesets on : set(['/Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv.log']) +2012-11-05 16:50:47,626 INFO [ fsclient.fsDropBoxMonitorClient] (Thread-3 ) EVENT_RECORD::Cookie::1352134247.63::Filesets::{'/Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv': ['/Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv', '/Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv.log']} +2012-11-05 16:50:47,626 INFO [ fsclient.fsDropBoxMonitorClient] (Thread-3 ) Revised entry /Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv contains 2 file(s). Files=2 Timers=1 +2012-11-05 16:51:47,674 INFO [ fsclient.fsDropBoxMonitorClient] (Thread-5 ) Removed key /Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv +2012-11-05 16:51:47,793 INFO [ fsclient.fsDropBoxMonitorClient] (Thread-5 ) Importing /Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv (session=807e4fbe-7662-4dd4-919c-cb81af8cd4bb) +2012-11-05 16:51:47,928 INFO [ omero.util.Resources] (Thread-7 ) Starting +2012-11-05 16:51:47,937 WARNI [ stderr] (Thread-5 ) Joined session 807e4fbe-7662-4dd4-919c-cb81af8cd4bb (petr@localhost:4064). Idle timeout: 10.0 min. Current group: petr's group +2012-11-05 16:51:53,191 INFO [ fsclient.fsDropBoxMonitorClient] (Thread-5 ) Import of /Users/petr/var/omero/DropBox/petr/IAGFP-Noc01_R3D.dv completed (session=807e4fbe-7662-4dd4-919c-cb81af8cd4bb) +2012-11-05 16:51:53,231 INFO [ omero.util.Resources] (Thread-7 ) Halted diff --git a/docs/testing_scenarios/downloads/Export_Downgrade_008.txt b/docs/testing_scenarios/downloads/Export_Downgrade_008.txt new file mode 100755 index 0000000..9a900ba --- /dev/null +++ b/docs/testing_scenarios/downloads/Export_Downgrade_008.txt @@ -0,0 +1,691 @@ +[GlobalMetadata] +Image 61. Stage coordinates=(-1087.100,-1035.290,-4.518) +Image 60. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 20. Time=Tue Aug 23 10:55:20 2005 +Image 33. Exposure time=0.200 secs +Image 18. ND filter=BLANK +Image 17. EX filter=FITC +Image 56. Time=Tue Aug 23 10:56:20 2005 +Image 26. EX filter=FITC +Image 19. Photosensor reading=13303368.0 +Image 35. EX filter=FITC +Image 44. EX filter=FITC +Image 53. EX filter=FITC +Image 15. Time=Tue Aug 23 10:55:11 2005 +Wavelength 1 mean intensity=123.40843 +Image 19. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 54. Time Point=81.436 secs +Image 39. Intensity=Min = 112, Max = 309, Mean = 123.37289 +Image 48. Intensity=Min = 112, Max = 310, Mean = 123.32681 +Image 57. Intensity=Min = 112, Max = 303, Mean = 123.28231 +Image 66. Intensity=Min = 112, Max = 323, Mean = 123.02003 +Image 29. Exposure time=0.200 secs +Image 19. ND filter=BLANK +Image 18. EX filter=FITC +Image 27. EX filter=FITC +Image 36. EX filter=FITC +Image 45. EX filter=FITC +Wavelength 5 min. intensity=0.0 +Image 54. EX filter=FITC +Image 11. Time=Tue Aug 23 10:55:05 2005 +Image 50. EM filter=FITC +Image 49. Intensity=Min = 112, Max = 332, Mean = 123.16348 +Image 55. Time Point=85.537 secs +Image 58. Intensity=Min = 112, Max = 334, Mean = 123.05953 +Image 67. Intensity=Min = 112, Max = 343, Mean = 122.88374 +Image 18. Photosensor reading=13288158.0 +Image 5. Photosensor reading=13294533.0 +Image 31. Exposure time=0.200 secs +Wavelength 5 (in nm)=0 +Image 29. ND filter=BLANK +Image 19. EX filter=FITC +Image 28. EX filter=FITC +Image 37. EX filter=FITC +Image 46. EX filter=FITC +Image 55. EX filter=FITC +Image 68. Photosensor reading=13311466.0 +Image 60. EM filter=FITC +Image 41. Exposure time=0.200 secs +Image 42. Time=Tue Aug 23 10:55:56 2005 +Image 47. Photosensor reading=13305465.0 +Optics Aux Magn=1.00 +Image 59. Intensity=Min = 112, Max = 321, Mean = 123.12460 +Image 56. Time Point=86.135 secs +Image 68. Intensity=Min = 112, Max = 333, Mean = 122.87642 +Optics Lens ID=10003 +Number of timepoints=23 +Image 26. Photosensor reading=13312867.0 +Image 50. Time Point=75.558 secs +Image 17. Intensity=Min = 112, Max = 294, Mean = 123.30158 +Wavelength 3 min. intensity=0.0 +Image 60. Time Point=90.985 secs +Image 37. Exposure time=0.200 secs +Image 29. EX filter=FITC +Image 38. EX filter=FITC +Image 47. EX filter=FITC +Image 56. EX filter=FITC +Number of wavelengths=1 +Image 65. EX filter=FITC +Image 61. EM filter=FITC +Image 7. Time=Tue Aug 23 10:54:59 2005 +Image 69. Intensity=Min = 112, Max = 319, Mean = 123.01232 +Image 57. Time Point=86.713 secs +Image 55. Photosensor reading=13328527.0 +Image 10. EM filter=FITC +Image 67. Time Point=105.642 secs +Image 18. Intensity=Min = 112, Max = 290, Mean = 123.44207 +Image 33. Time=Tue Aug 23 10:55:41 2005 +Image 69. Time=Tue Aug 23 10:56:41 2005 +Image 61. Time Point=95.092 secs +Lens ID Number=10003 +Image 28. Time=Tue Aug 23 10:55:34 2005 +Image 39. EX filter=FITC +Image 48. EX filter=FITC +Image 57. EX filter=FITC +Image 66. EX filter=FITC +Image 62. EM filter=FITC +Z position for position #1=-5.517 +Image 58. Time Point=89.819 secs +Image 11. EM filter=FITC +Image 20. EM filter=FITC +Image 35. Exposure time=0.200 secs +Image 19. Intensity=Min = 112, Max = 286, Mean = 123.23777 +Image 68. Time Point=106.222 secs +Image 62. Time Point=95.674 secs +Image 49. EX filter=FITC +Image 24. Time=Tue Aug 23 10:55:26 2005 +Image 58. EX filter=FITC +Image 33. Photosensor reading=13325774.0 +Image 67. EX filter=FITC +Image 19. Time=Tue Aug 23 10:55:20 2005 +Image 12. Photosensor reading=13309133.0 +Image 45. Exposure time=0.200 secs +Image 12. EM filter=FITC +Image 21. EM filter=FITC +Z element length (in um)=0.5 +Image 30. EM filter=FITC +Image 3. Exposure time=0.200 secs +Image 29. Intensity=Min = 112, Max = 308, Mean = 123.20489 +Image 69. Time Point=106.804 secs +Image 63. Time Point=96.256 secs +Image 60. Time=Tue Aug 23 10:56:25 2005 +Image 62. Photosensor reading=13321401.0 +Image 59. EX filter=FITC +Section axis sequence=3 +Image 68. EX filter=FITC +Image 55. Time=Tue Aug 23 10:56:20 2005 +Image 41. Photosensor reading=13319770.0 +Image 20. Photosensor reading=13310158.0 +Image 13. EM filter=FITC +Image 22. EM filter=FITC +Image 31. EM filter=FITC +Image 40. EM filter=FITC +Image 14. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 18. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 17. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 16. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 15. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 64. Time Point=100.377 secs +Image 43. Exposure time=0.200 secs +Image 69. EX filter=FITC +Image Properties ZWT Dimensions (expected)=3 x 1 x 201 +Image 1. Exposure time=0.200 secs +Image 51. Time=Tue Aug 23 10:56:10 2005 +Image 10. Time=Tue Aug 23 10:55:05 2005 +Image 14. EM filter=FITC +Image 23. EM filter=FITC +Image 46. Time=Tue Aug 23 10:56:05 2005 +Number of Sub-resolution sets=1 +Image 32. EM filter=FITC +Image 39. Photosensor reading=13313010.0 +Image 41. EM filter=FITC +Image 39. Exposure time=0.200 secs +Row axis sequence=2 +Image 53. Exposure time=0.200 secs +Image 65. Time Point=100.962 secs +Wavelength 2 (in nm)=0 +Image 49. Exposure time=0.200 secs +Image 15. EM filter=FITC +Image 24. EM filter=FITC +Image 33. EM filter=FITC +Image 42. EM filter=FITC +Image 51. EM filter=FITC +X origin (in um)=0.0 +Image 7. Exposure time=0.200 secs +Image 37. Time=Tue Aug 23 10:55:49 2005 +Image 66. Time Point=101.544 secs +Image 17. Photosensor reading=13300329.0 +Image 4. Photosensor reading=13299625.0 +Image 51. Exposure time=0.200 secs +Image 16. EM filter=FITC +Image 25. EM filter=FITC +Image 6. Time=Tue Aug 23 10:54:58 2005 +Image 34. EM filter=FITC +Image 43. EM filter=FITC +Image 52. EM filter=FITC +Image 67. Photosensor reading=13322647.0 +Image 68. Time=Tue Aug 23 10:56:40 2005 +Image 47. Exposure time=0.200 secs +Image 46. Photosensor reading=13324903.0 +Image Properties Flat-field Calibration=Off +Image 61. Exposure time=0.200 secs +Camera Type=COOLSNAP_HQ / ICX285 +Image 25. Photosensor reading=13319913.0 +Image 5. Exposure time=0.200 secs +Image 17. EM filter=FITC +Image 26. EM filter=FITC +Image 35. EM filter=FITC +Image 44. EM filter=FITC +Image 53. EM filter=FITC +Image 2. Time=Tue Aug 23 10:54:55 2005 +Image 57. Exposure time=0.200 secs +Wavelength 3 max. intensity=0.0 +Image 12. Exposure time=0.200 secs +Image 1. ND filter=BLANK +Image 64. Time=Tue Aug 23 10:56:35 2005 +Image 54. Photosensor reading=13318523.0 +Image 26. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 25. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 29. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 28. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 27. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 23. Time=Tue Aug 23 10:55:25 2005 +Image 59. Time=Tue Aug 23 10:56:25 2005 +Image 18. EM filter=FITC +Image 18. Time=Tue Aug 23 10:55:15 2005 +Image 27. EM filter=FITC +Image 36. EM filter=FITC +Image 45. EM filter=FITC +Image 54. EM filter=FITC +Image 63. EM filter=FITC +Optics Objective=Olympus 100X/1.35, U Plan Apo, IX70 +Image 2. ND filter=BLANK +Image 55. Exposure time=0.200 secs +Wavelength 1 max. intensity=343.0 +Image Properties Binning=1x1 +Image 28. EM filter=FITC +Image 37. EM filter=FITC +Image 46. EM filter=FITC +Image 55. EM filter=FITC +Image 64. EM filter=FITC +Image 10. Exposure time=0.200 secs +Image 14. Time=Tue Aug 23 10:55:11 2005 +Image 32. Photosensor reading=13314877.0 +X axis angle=90.0 +Image 13. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 12. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 11. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 10. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 11. Photosensor reading=13299840.0 +Image 3. ND filter=BLANK +Image 65. Exposure time=0.200 secs +Image 9. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 8. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 7. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 6. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 9. Exposure time=0.200 secs +Image 20. Exposure time=0.200 secs +Z origin (in um)=0.0 +Image 50. Time=Tue Aug 23 10:56:10 2005 +Image Type=normal +Image 29. EM filter=FITC +Image 38. EM filter=FITC +Image 47. EM filter=FITC +Image 56. EM filter=FITC +Image 65. EM filter=FITC +Column axis sequence=1 +Image 61. Photosensor reading=13318807.0 +Y axis angle=90.0 +Image 40. Photosensor reading=13301894.0 +Image 16. Exposure time=0.200 secs +Image 4. ND filter=BLANK +Image 39. EM filter=FITC +Image 48. EM filter=FITC +Image 57. EM filter=FITC +Image 66. EM filter=FITC +Image 1. Intensity=Min = 112, Max = 284, Mean = 125.35012 +Image 41. Time=Tue Aug 23 10:55:55 2005 +Image 63. Exposure time=0.200 secs +Z axis angle=90.0 +Image 59. Photosensor reading=13357452.0 +Image 36. Time=Tue Aug 23 10:55:46 2005 +Image 5. ND filter=BLANK +Image 38. Photosensor reading=13313168.0 +Image 59. Exposure time=0.200 secs +Wavelength 5 max. intensity=0.0 +Image 49. EM filter=FITC +Image 58. EM filter=FITC +Image 67. EM filter=FITC +Image 14. Exposure time=0.200 secs +Image 2. Intensity=Min = 112, Max = 304, Mean = 125.28311 +Image 37. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 36. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 35. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 39. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 38. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image Properties Pixel Size=0.06631 0.06631 0.500 +Image 6. ND filter=BLANK +Image 32. Time=Tue Aug 23 10:55:40 2005 +Image 27. Time=Tue Aug 23 10:55:30 2005 +Image 24. Exposure time=0.200 secs +Image 59. EM filter=FITC +Image 68. EM filter=FITC +Image 3. Intensity=Min = 113, Max = 309, Mean = 125.46524 +Image 1. Time=Tue Aug 23 10:54:54 2005 +Image 16. Photosensor reading=13303959.0 +Image 3. Photosensor reading=13303703.0 +Image 7. ND filter=BLANK +Created=Tue Aug 23 10:54:53 2005 +Image 63. Time=Tue Aug 23 10:56:31 2005 +Image 20. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 24. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 23. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 22. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 21. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 69. EM filter=FITC +Image 66. Photosensor reading=13321049.0 +Image 4. Intensity=Min = 112, Max = 262, Mean = 123.55140 +Image 45. Photosensor reading=13297220.0 +Image 67. Exposure time=0.200 secs +Image 24. Photosensor reading=13297334.0 +Image 22. Exposure time=0.200 secs +Wavelength 4 (in nm)=0 +Image 1. EX filter=FITC +Image 54. Time=Tue Aug 23 10:56:16 2005 +Image 18. Exposure time=0.200 secs +Image 5. Intensity=Min = 112, Max = 276, Mean = 123.84928 +Image 13. Time=Tue Aug 23 10:55:10 2005 +Image 19. EM filter=FITC +Image 32. Exposure time=0.200 secs +Image 49. Time=Tue Aug 23 10:56:09 2005 +Image 53. Photosensor reading=13317183.0 +Y position for position #1=-1048.0216 +Image 2. EX filter=FITC +Image 9. Photosensor reading=13296875.0 +Image 28. Exposure time=0.200 secs +Image 4. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 3. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 2. Stage coordinates=(-1087.100,-1035.290,-5.514) +Image 1. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 5. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 6. Intensity=Min = 112, Max = 294, Mean = 124.11213 +Wavelength 4 min. intensity=0.0 +Image 45. Time=Tue Aug 23 10:56:01 2005 +Image 11. Time Point=11.018 secs +Image 52. Photosensor reading=13297703.0 +Image 3. EX filter=FITC +Image 48. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 47. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 46. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 30. Exposure time=0.200 secs +Image 49. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 31. Photosensor reading=13327654.0 +Image 10. Photosensor reading=13305998.0 +ImageWidth=384 +Image 7. Intensity=Min = 112, Max = 265, Mean = 123.75503 +Image 18. Time Point=21.158 secs +Image 26. Exposure time=0.200 secs +Image 12. Time Point=11.598 secs +Image 40. Exposure time=0.200 secs +X axis tilt angle=0.0 +Image 60. Photosensor reading=13309422.0 +Image 4. EX filter=FITC +Wavelength 2 min. intensity=0.0 +Image 36. Exposure time=0.200 secs +Image 29. Photosensor reading=13314955.0 +Image 19. Time Point=25.272 secs +Image 5. Time=Tue Aug 23 10:54:58 2005 +Image 32. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 31. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 30. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 34. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 33. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 13. Time Point=15.710 secs +Y element length (in um)=0.06631 +Image 31. Time=Tue Aug 23 10:55:40 2005 +Image 5. EX filter=FITC +Image 67. Time=Tue Aug 23 10:56:40 2005 +Image 69. Exposure time=0.200 secs +Image 26. Time=Tue Aug 23 10:55:30 2005 +Image 58. Photosensor reading=13326284.0 +Pixel sampling size (Z)=1 +Image 37. Photosensor reading=13317350.0 +Image 14. Time Point=16.287 secs +Image 6. EX filter=FITC +Image 34. Exposure time=0.200 secs +Image 22. Time=Tue Aug 23 10:55:25 2005 +Resolve3D Image File=/homes/will/IAGFP-Noc01_R3D.dv +Pixel sampling size (Y)=1 +Image 58. Time=Tue Aug 23 10:56:24 2005 +Image 17. Time=Tue Aug 23 10:55:15 2005 +Image 15. Time Point=16.868 secs +Image 44. Exposure time=0.200 secs +Image 69. Total number of images saved=69 +Image 8. ND filter=BLANK +Image 7. EX filter=FITC +Image 15. Photosensor reading=13297529.0 +Pixel sampling size (X)=1 +Image 2. Photosensor reading=13302498.0 +Wavelength 1 (in nm)=528 +Image 59. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 58. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 57. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 56. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 16. Time Point=19.991 secs +Image 65. Photosensor reading=13379185.0 +Image 9. ND filter=BLANK +Image 10. Time Point=10.439 secs +Image 8. EX filter=FITC +Image 44. Photosensor reading=13297778.0 +Image 20. Time Point=25.857 secs +Image 23. Photosensor reading=13296858.0 +Image 42. Exposure time=0.200 secs +Image 44. Time=Tue Aug 23 10:56:00 2005 +Image 17. Time Point=20.569 secs +Image 39. Time=Tue Aug 23 10:55:50 2005 +Image 9. EX filter=FITC +Image 27. Time Point=35.966 secs +Camera Temp Setting=-30.0C +Image 38. Exposure time=0.200 secs +Image 21. Time Point=26.440 secs +ImageHeight=384 +Image 43. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 42. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 41. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 45. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 44. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 60. ND filter=BLANK +Image 8. Photosensor reading=13296550.0 +Image 9. Time=Tue Aug 23 10:55:01 2005 +Image 40. Time=Tue Aug 23 10:55:54 2005 +Image 48. Exposure time=0.200 secs +Image 28. Time Point=40.067 secs +Image 35. Time=Tue Aug 23 10:55:45 2005 +Image 22. Time Point=30.548 secs +Image 51. Photosensor reading=13318437.0 +Image 8. Intensity=Min = 113, Max = 281, Mean = 123.96528 +Image 10. ND filter=BLANK +Image 30. Photosensor reading=13313463.0 +Image 50. Exposure time=0.200 secs +Image 29. Time Point=40.647 secs +Y axis tilt angle=0.0 +Image 7. Photosensor reading=13307815.0 +Image 23. Time Point=31.132 secs +Image 1. EM filter=FITC +Image 46. Exposure time=0.200 secs +Image 9. Intensity=Min = 112, Max = 307, Mean = 124.17527 +Image 11. ND filter=BLANK +Image 20. ND filter=BLANK +Image 4. Exposure time=0.200 secs +Z axis tilt angle=0.0 +Image 49. Photosensor reading=13378153.0 +Image 28. Photosensor reading=13311444.0 +Image 24. Time Point=31.718 secs +Image 69. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 68. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 67. Stage coordinates=(-1087.100,-1035.290,-4.518) +Wavelength 2 max. intensity=0.0 +Image 62. Time=Tue Aug 23 10:56:30 2005 +Image 11. Exposure time=0.200 secs +Image 21. Time=Tue Aug 23 10:55:21 2005 +Camera Gain=0.50X +Image 2. EM filter=FITC +Image 57. Time=Tue Aug 23 10:56:21 2005 +Image 12. ND filter=BLANK +Image 21. ND filter=BLANK +Image 30. ND filter=BLANK +Sub-image starting point (Z)=0 +Image 57. Photosensor reading=13309559.0 +Image 60. Intensity=Min = 112, Max = 300, Mean = 123.23679 +Image 25. Time Point=34.807 secs +Image 36. Photosensor reading=13317657.0 +Image 2. Exposure time=0.200 secs +Image 35. Time Point=51.204 secs +Image 3. EM filter=FITC +Image 53. Time=Tue Aug 23 10:56:15 2005 +Image 13. ND filter=BLANK +Image 22. ND filter=BLANK +Image 31. ND filter=BLANK +Image 12. Time=Tue Aug 23 10:55:06 2005 +Image 40. ND filter=BLANK +Sub-image starting point (Y)=0 +Image 54. Exposure time=0.200 secs +Image 48. Time=Tue Aug 23 10:56:06 2005 +Image 54. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 53. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 52. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 51. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 55. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 26. Time Point=35.387 secs +Image 10. Intensity=Min = 112, Max = 280, Mean = 123.95586 +Image 4. EM filter=FITC +Image 36. Time Point=51.807 secs +Image 30. Time Point=41.229 secs +Image 35. Photosensor reading=13380214.0 +Image 14. ND filter=BLANK +Image 23. ND filter=BLANK +Sub-image starting point (X)=0 +Image 32. ND filter=BLANK +Image 41. ND filter=BLANK +Y origin (in um)=0.0 +Image 50. ND filter=BLANK +Image 8. Exposure time=0.200 secs +Image 14. Photosensor reading=13301607.0 +Image 1. Photosensor reading=13304370.0 +Image 11. Intensity=Min = 112, Max = 294, Mean = 123.88520 +Image 20. Intensity=Min = 112, Max = 295, Mean = 123.24325 +Image 5. EM filter=FITC +Image 15. Exposure time=0.200 secs +Image 37. Time Point=54.906 secs +Image 52. Exposure time=0.200 secs +Image 64. Photosensor reading=13301180.0 +Image 40. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 31. Time Point=45.340 secs +Image 15. ND filter=BLANK +Image 24. ND filter=BLANK +Image 33. ND filter=BLANK +Image 43. Photosensor reading=13307640.0 +Image 42. ND filter=BLANK +Image 51. ND filter=BLANK +Image 50. EX filter=FITC +Image 8. Time=Tue Aug 23 10:55:00 2005 +Image 22. Photosensor reading=13310070.0 +X position for position #1=-1099.8315 +Image 34. Time=Tue Aug 23 10:55:45 2005 +Image 62. Exposure time=0.200 secs +Image 12. Intensity=Min = 112, Max = 307, Mean = 124.04636 +Image 6. EM filter=FITC +Image 21. Intensity=Min = 112, Max = 306, Mean = 123.40277 +Image 6. Exposure time=0.200 secs +Image 30. Intensity=Min = 113, Max = 306, Mean = 123.36591 +Image 38. Time Point=55.484 secs +Image 32. Time Point=45.926 secs +Image 16. ND filter=BLANK +Image 25. ND filter=BLANK +Image 34. ND filter=BLANK +Image 43. ND filter=BLANK +Image 52. ND filter=BLANK +Image 61. ND filter=BLANK +Image 51. EX filter=FITC +Image 60. EX filter=FITC +Image 58. Exposure time=0.200 secs +Wavelength 4 max. intensity=0.0 +Image 6. Time Point=4.029 secs +Image 4. Time=Tue Aug 23 10:54:57 2005 +Wavelength 3 (in nm)=0 +Image 13. Exposure time=0.200 secs +Image 13. Intensity=Min = 112, Max = 281, Mean = 123.71118 +Image 30. Time=Tue Aug 23 10:55:35 2005 +Image 22. Intensity=Min = 112, Max = 285, Mean = 123.24682 +Image 7. EM filter=FITC +Image 31. Intensity=Min = 112, Max = 301, Mean = 123.25329 +Image 40. Intensity=Min = 112, Max = 318, Mean = 123.24600 +Image 66. Time=Tue Aug 23 10:56:36 2005 +Image 39. Time Point=56.077 secs +Image 25. Time=Tue Aug 23 10:55:29 2005 +Image 33. Time Point=46.506 secs +Image 26. ND filter=BLANK +Image 35. ND filter=BLANK +Image 44. ND filter=BLANK +Image 53. ND filter=BLANK +Image 62. ND filter=BLANK +Image 61. EX filter=FITC +Image 23. Exposure time=0.200 secs +Image 43. Time Point=65.451 secs +Image 60. Exposure time=0.200 secs +Image 7. Time Point=5.116 secs +Image 10. EX filter=FITC +Image 1. Time Point=0.000 secs +Number of focal planes=3 +Image 50. Photosensor reading=13310680.0 +Image 14. Intensity=Min = 112, Max = 295, Mean = 123.62534 +Image 23. Intensity=Min = 112, Max = 297, Mean = 123.21452 +Image 8. EM filter=FITC +Image 32. Intensity=Min = 112, Max = 311, Mean = 123.21243 +Image 41. Intensity=Min = 112, Max = 316, Mean = 123.21998 +Image 19. Exposure time=0.200 secs +Image 50. Intensity=Min = 112, Max = 321, Mean = 123.14371 +Image 66. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 65. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 64. Stage coordinates=(-1087.100,-1035.290,-4.518) +Image 63. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 62. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 56. Exposure time=0.200 secs +Image 34. Time Point=50.605 secs +Image 27. ND filter=BLANK +Image 36. ND filter=BLANK +Image 45. ND filter=BLANK +Image 54. ND filter=BLANK +Image 63. ND filter=BLANK +Image 6. Photosensor reading=13308545.0 +Image 62. EX filter=FITC +Image 44. Time Point=66.035 secs +Image 16. Time=Tue Aug 23 10:55:14 2005 +Image 11. EX filter=FITC +Image 20. EX filter=FITC +NumberOfImages=69 +Image 8. Time Point=5.719 secs +Image Properties XY Dimensions=384 x 384 +Image 2. Time Point=0.600 secs +Image 66. Exposure time=0.200 secs +Image 15. Intensity=Min = 112, Max = 305, Mean = 123.75312 +Image 24. Intensity=Min = 112, Max = 299, Mean = 123.36919 +Image 9. EM filter=FITC +Image 69. Photosensor reading=13310311.0 +Image 33. Intensity=Min = 112, Max = 305, Mean = 123.38190 +Image 42. Intensity=Min = 112, Max = 310, Mean = 123.36956 +Image 51. Intensity=Min = 112, Max = 307, Mean = 123.29066 +Image 21. Exposure time=0.200 secs +Image 48. Photosensor reading=13306051.0 +Image 28. ND filter=BLANK +Image 37. ND filter=BLANK +PixelType=16 bit signed integer +Image 46. ND filter=BLANK +Image 55. ND filter=BLANK +Image 64. ND filter=BLANK +Image 63. EX filter=FITC +Image 52. Time=Tue Aug 23 10:56:15 2005 +Image 27. Photosensor reading=13317769.0 +Image 45. Time Point=66.617 secs +Camera Speed=10000KHz +Image 12. EX filter=FITC +Image 47. Time=Tue Aug 23 10:56:06 2005 +Image 21. EX filter=FITC +Image 30. EX filter=FITC +Image 9. Time Point=6.322 secs +Image 17. Exposure time=0.200 secs +Image 50. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 3. Time Point=1.178 secs +Image 16. Intensity=Min = 112, Max = 280, Mean = 123.33149 +Image 25. Intensity=Min = 112, Max = 302, Mean = 123.17751 +Image 34. Intensity=Min = 112, Max = 319, Mean = 123.26498 +Image 43. Intensity=Min = 112, Max = 320, Mean = 123.23780 +Image 52. Intensity=Min = 111, Max = 337, Mean = 123.14898 +Image 61. Intensity=Min = 112, Max = 330, Mean = 122.87868 +Image 38. ND filter=BLANK +Image 47. ND filter=BLANK +Image 56. Photosensor reading=13311175.0 +Image 56. ND filter=BLANK +Image 65. ND filter=BLANK +Image 64. EX filter=FITC +Image 27. Exposure time=0.200 secs +Image 46. Time Point=70.712 secs +Image 64. Exposure time=0.200 secs +Image 13. EX filter=FITC +Image 22. EX filter=FITC +Image 31. EX filter=FITC +Image 40. Time Point=60.188 secs +Image 40. EX filter=FITC +Image 43. Time=Tue Aug 23 10:56:00 2005 +Image 4. Time Point=2.865 secs +X element length (in um)=0.06631 +Image 26. Intensity=Min = 112, Max = 297, Mean = 123.22234 +Image 38. Time=Tue Aug 23 10:55:50 2005 +Image 35. Intensity=Min = 112, Max = 306, Mean = 123.27597 +Image 44. Intensity=Min = 112, Max = 318, Mean = 123.21880 +Image 53. Intensity=Min = 112, Max = 322, Mean = 123.10580 +Space group number=0 +Image 62. Intensity=Min = 112, Max = 328, Mean = 122.85614 +Image 39. ND filter=BLANK +Image 48. ND filter=BLANK +Image 57. ND filter=BLANK +Image 66. ND filter=BLANK +Image 47. Time Point=71.294 secs +Image sequence=WZT +Image 14. EX filter=FITC +Image 23. EX filter=FITC +Image 32. EX filter=FITC +Image 41. EX filter=FITC +Image 41. Time Point=60.766 secs +Image 5. Time Point=3.448 secs +Image 51. Time Point=76.145 secs +Image 27. Intensity=Min = 112, Max = 302, Mean = 123.38792 +Image 34. Photosensor reading=13326309.0 +Image 36. Intensity=Min = 112, Max = 310, Mean = 123.37882 +Image 45. Intensity=Min = 112, Max = 313, Mean = 123.36087 +Image 54. Intensity=Min = 112, Max = 299, Mean = 123.26778 +Image 63. Intensity=Min = 112, Max = 317, Mean = 123.01031 +Image 25. Exposure time=0.200 secs +Image 13. Photosensor reading=13312088.0 +Image 49. ND filter=BLANK +Image 58. ND filter=BLANK +Image 29. Time=Tue Aug 23 10:55:35 2005 +Image 67. ND filter=BLANK +Image 48. Time Point=71.875 secs +Image 15. EX filter=FITC +Image 24. EX filter=FITC +Wavelength 1 min. intensity=111.0 +Image 33. EX filter=FITC +Image 42. EX filter=FITC +Image 42. Time Point=61.347 secs +Image 3. Time=Tue Aug 23 10:54:55 2005 +Image 63. Photosensor reading=13312513.0 +Image 52. Time Point=80.273 secs +Image 28. Intensity=Min = 112, Max = 297, Mean = 123.24514 +Image 37. Intensity=Min = 112, Max = 310, Mean = 123.21006 +Image 46. Intensity=Min = 112, Max = 328, Mean = 123.19318 +Image 55. Intensity=Min = 112, Max = 334, Mean = 123.13229 +Image 64. Intensity=Min = 112, Max = 342, Mean = 122.86584 +Image 42. Photosensor reading=13329032.0 +Z axis reduction quotient=1 +Image 65. Time=Tue Aug 23 10:56:35 2005 +Image 21. Photosensor reading=13300886.0 +Image 59. ND filter=BLANK +Image 68. ND filter=BLANK +Image 17. ND filter=BLANK +Image 68. Exposure time=0.200 secs +Image 16. EX filter=FITC +Image 49. Time Point=74.969 secs +Image 25. EX filter=FITC +Image 34. EX filter=FITC +Image 43. EX filter=FITC +Image 52. EX filter=FITC +Image 59. Time Point=90.404 secs +Image 53. Time Point=80.854 secs +Image 38. Intensity=Min = 112, Max = 312, Mean = 123.20901 +Image 47. Intensity=Min = 112, Max = 334, Mean = 123.17560 +Image 56. Intensity=Min = 112, Max = 322, Mean = 123.11501 +Image 65. Intensity=Min = 112, Max = 333, Mean = 122.92243 +Image 69. ND filter=BLANK +Image 61. Time=Tue Aug 23 10:56:29 2005 +[SeriesMetadata] diff --git a/docs/testing_scenarios/downloads/Export_Downgrade_original_metadata.txt b/docs/testing_scenarios/downloads/Export_Downgrade_original_metadata.txt new file mode 100755 index 0000000..9a900ba --- /dev/null +++ b/docs/testing_scenarios/downloads/Export_Downgrade_original_metadata.txt @@ -0,0 +1,691 @@ +[GlobalMetadata] +Image 61. Stage coordinates=(-1087.100,-1035.290,-4.518) +Image 60. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 20. Time=Tue Aug 23 10:55:20 2005 +Image 33. Exposure time=0.200 secs +Image 18. ND filter=BLANK +Image 17. EX filter=FITC +Image 56. Time=Tue Aug 23 10:56:20 2005 +Image 26. EX filter=FITC +Image 19. Photosensor reading=13303368.0 +Image 35. EX filter=FITC +Image 44. EX filter=FITC +Image 53. EX filter=FITC +Image 15. Time=Tue Aug 23 10:55:11 2005 +Wavelength 1 mean intensity=123.40843 +Image 19. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 54. Time Point=81.436 secs +Image 39. Intensity=Min = 112, Max = 309, Mean = 123.37289 +Image 48. Intensity=Min = 112, Max = 310, Mean = 123.32681 +Image 57. Intensity=Min = 112, Max = 303, Mean = 123.28231 +Image 66. Intensity=Min = 112, Max = 323, Mean = 123.02003 +Image 29. Exposure time=0.200 secs +Image 19. ND filter=BLANK +Image 18. EX filter=FITC +Image 27. EX filter=FITC +Image 36. EX filter=FITC +Image 45. EX filter=FITC +Wavelength 5 min. intensity=0.0 +Image 54. EX filter=FITC +Image 11. Time=Tue Aug 23 10:55:05 2005 +Image 50. EM filter=FITC +Image 49. Intensity=Min = 112, Max = 332, Mean = 123.16348 +Image 55. Time Point=85.537 secs +Image 58. Intensity=Min = 112, Max = 334, Mean = 123.05953 +Image 67. Intensity=Min = 112, Max = 343, Mean = 122.88374 +Image 18. Photosensor reading=13288158.0 +Image 5. Photosensor reading=13294533.0 +Image 31. Exposure time=0.200 secs +Wavelength 5 (in nm)=0 +Image 29. ND filter=BLANK +Image 19. EX filter=FITC +Image 28. EX filter=FITC +Image 37. EX filter=FITC +Image 46. EX filter=FITC +Image 55. EX filter=FITC +Image 68. Photosensor reading=13311466.0 +Image 60. EM filter=FITC +Image 41. Exposure time=0.200 secs +Image 42. Time=Tue Aug 23 10:55:56 2005 +Image 47. Photosensor reading=13305465.0 +Optics Aux Magn=1.00 +Image 59. Intensity=Min = 112, Max = 321, Mean = 123.12460 +Image 56. Time Point=86.135 secs +Image 68. Intensity=Min = 112, Max = 333, Mean = 122.87642 +Optics Lens ID=10003 +Number of timepoints=23 +Image 26. Photosensor reading=13312867.0 +Image 50. Time Point=75.558 secs +Image 17. Intensity=Min = 112, Max = 294, Mean = 123.30158 +Wavelength 3 min. intensity=0.0 +Image 60. Time Point=90.985 secs +Image 37. Exposure time=0.200 secs +Image 29. EX filter=FITC +Image 38. EX filter=FITC +Image 47. EX filter=FITC +Image 56. EX filter=FITC +Number of wavelengths=1 +Image 65. EX filter=FITC +Image 61. EM filter=FITC +Image 7. Time=Tue Aug 23 10:54:59 2005 +Image 69. Intensity=Min = 112, Max = 319, Mean = 123.01232 +Image 57. Time Point=86.713 secs +Image 55. Photosensor reading=13328527.0 +Image 10. EM filter=FITC +Image 67. Time Point=105.642 secs +Image 18. Intensity=Min = 112, Max = 290, Mean = 123.44207 +Image 33. Time=Tue Aug 23 10:55:41 2005 +Image 69. Time=Tue Aug 23 10:56:41 2005 +Image 61. Time Point=95.092 secs +Lens ID Number=10003 +Image 28. Time=Tue Aug 23 10:55:34 2005 +Image 39. EX filter=FITC +Image 48. EX filter=FITC +Image 57. EX filter=FITC +Image 66. EX filter=FITC +Image 62. EM filter=FITC +Z position for position #1=-5.517 +Image 58. Time Point=89.819 secs +Image 11. EM filter=FITC +Image 20. EM filter=FITC +Image 35. Exposure time=0.200 secs +Image 19. Intensity=Min = 112, Max = 286, Mean = 123.23777 +Image 68. Time Point=106.222 secs +Image 62. Time Point=95.674 secs +Image 49. EX filter=FITC +Image 24. Time=Tue Aug 23 10:55:26 2005 +Image 58. EX filter=FITC +Image 33. Photosensor reading=13325774.0 +Image 67. EX filter=FITC +Image 19. Time=Tue Aug 23 10:55:20 2005 +Image 12. Photosensor reading=13309133.0 +Image 45. Exposure time=0.200 secs +Image 12. EM filter=FITC +Image 21. EM filter=FITC +Z element length (in um)=0.5 +Image 30. EM filter=FITC +Image 3. Exposure time=0.200 secs +Image 29. Intensity=Min = 112, Max = 308, Mean = 123.20489 +Image 69. Time Point=106.804 secs +Image 63. Time Point=96.256 secs +Image 60. Time=Tue Aug 23 10:56:25 2005 +Image 62. Photosensor reading=13321401.0 +Image 59. EX filter=FITC +Section axis sequence=3 +Image 68. EX filter=FITC +Image 55. Time=Tue Aug 23 10:56:20 2005 +Image 41. Photosensor reading=13319770.0 +Image 20. Photosensor reading=13310158.0 +Image 13. EM filter=FITC +Image 22. EM filter=FITC +Image 31. EM filter=FITC +Image 40. EM filter=FITC +Image 14. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 18. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 17. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 16. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 15. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 64. Time Point=100.377 secs +Image 43. Exposure time=0.200 secs +Image 69. EX filter=FITC +Image Properties ZWT Dimensions (expected)=3 x 1 x 201 +Image 1. Exposure time=0.200 secs +Image 51. Time=Tue Aug 23 10:56:10 2005 +Image 10. Time=Tue Aug 23 10:55:05 2005 +Image 14. EM filter=FITC +Image 23. EM filter=FITC +Image 46. Time=Tue Aug 23 10:56:05 2005 +Number of Sub-resolution sets=1 +Image 32. EM filter=FITC +Image 39. Photosensor reading=13313010.0 +Image 41. EM filter=FITC +Image 39. Exposure time=0.200 secs +Row axis sequence=2 +Image 53. Exposure time=0.200 secs +Image 65. Time Point=100.962 secs +Wavelength 2 (in nm)=0 +Image 49. Exposure time=0.200 secs +Image 15. EM filter=FITC +Image 24. EM filter=FITC +Image 33. EM filter=FITC +Image 42. EM filter=FITC +Image 51. EM filter=FITC +X origin (in um)=0.0 +Image 7. Exposure time=0.200 secs +Image 37. Time=Tue Aug 23 10:55:49 2005 +Image 66. Time Point=101.544 secs +Image 17. Photosensor reading=13300329.0 +Image 4. Photosensor reading=13299625.0 +Image 51. Exposure time=0.200 secs +Image 16. EM filter=FITC +Image 25. EM filter=FITC +Image 6. Time=Tue Aug 23 10:54:58 2005 +Image 34. EM filter=FITC +Image 43. EM filter=FITC +Image 52. EM filter=FITC +Image 67. Photosensor reading=13322647.0 +Image 68. Time=Tue Aug 23 10:56:40 2005 +Image 47. Exposure time=0.200 secs +Image 46. Photosensor reading=13324903.0 +Image Properties Flat-field Calibration=Off +Image 61. Exposure time=0.200 secs +Camera Type=COOLSNAP_HQ / ICX285 +Image 25. Photosensor reading=13319913.0 +Image 5. Exposure time=0.200 secs +Image 17. EM filter=FITC +Image 26. EM filter=FITC +Image 35. EM filter=FITC +Image 44. EM filter=FITC +Image 53. EM filter=FITC +Image 2. Time=Tue Aug 23 10:54:55 2005 +Image 57. Exposure time=0.200 secs +Wavelength 3 max. intensity=0.0 +Image 12. Exposure time=0.200 secs +Image 1. ND filter=BLANK +Image 64. Time=Tue Aug 23 10:56:35 2005 +Image 54. Photosensor reading=13318523.0 +Image 26. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 25. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 29. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 28. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 27. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 23. Time=Tue Aug 23 10:55:25 2005 +Image 59. Time=Tue Aug 23 10:56:25 2005 +Image 18. EM filter=FITC +Image 18. Time=Tue Aug 23 10:55:15 2005 +Image 27. EM filter=FITC +Image 36. EM filter=FITC +Image 45. EM filter=FITC +Image 54. EM filter=FITC +Image 63. EM filter=FITC +Optics Objective=Olympus 100X/1.35, U Plan Apo, IX70 +Image 2. ND filter=BLANK +Image 55. Exposure time=0.200 secs +Wavelength 1 max. intensity=343.0 +Image Properties Binning=1x1 +Image 28. EM filter=FITC +Image 37. EM filter=FITC +Image 46. EM filter=FITC +Image 55. EM filter=FITC +Image 64. EM filter=FITC +Image 10. Exposure time=0.200 secs +Image 14. Time=Tue Aug 23 10:55:11 2005 +Image 32. Photosensor reading=13314877.0 +X axis angle=90.0 +Image 13. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 12. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 11. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 10. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 11. Photosensor reading=13299840.0 +Image 3. ND filter=BLANK +Image 65. Exposure time=0.200 secs +Image 9. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 8. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 7. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 6. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 9. Exposure time=0.200 secs +Image 20. Exposure time=0.200 secs +Z origin (in um)=0.0 +Image 50. Time=Tue Aug 23 10:56:10 2005 +Image Type=normal +Image 29. EM filter=FITC +Image 38. EM filter=FITC +Image 47. EM filter=FITC +Image 56. EM filter=FITC +Image 65. EM filter=FITC +Column axis sequence=1 +Image 61. Photosensor reading=13318807.0 +Y axis angle=90.0 +Image 40. Photosensor reading=13301894.0 +Image 16. Exposure time=0.200 secs +Image 4. ND filter=BLANK +Image 39. EM filter=FITC +Image 48. EM filter=FITC +Image 57. EM filter=FITC +Image 66. EM filter=FITC +Image 1. Intensity=Min = 112, Max = 284, Mean = 125.35012 +Image 41. Time=Tue Aug 23 10:55:55 2005 +Image 63. Exposure time=0.200 secs +Z axis angle=90.0 +Image 59. Photosensor reading=13357452.0 +Image 36. Time=Tue Aug 23 10:55:46 2005 +Image 5. ND filter=BLANK +Image 38. Photosensor reading=13313168.0 +Image 59. Exposure time=0.200 secs +Wavelength 5 max. intensity=0.0 +Image 49. EM filter=FITC +Image 58. EM filter=FITC +Image 67. EM filter=FITC +Image 14. Exposure time=0.200 secs +Image 2. Intensity=Min = 112, Max = 304, Mean = 125.28311 +Image 37. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 36. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 35. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 39. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 38. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image Properties Pixel Size=0.06631 0.06631 0.500 +Image 6. ND filter=BLANK +Image 32. Time=Tue Aug 23 10:55:40 2005 +Image 27. Time=Tue Aug 23 10:55:30 2005 +Image 24. Exposure time=0.200 secs +Image 59. EM filter=FITC +Image 68. EM filter=FITC +Image 3. Intensity=Min = 113, Max = 309, Mean = 125.46524 +Image 1. Time=Tue Aug 23 10:54:54 2005 +Image 16. Photosensor reading=13303959.0 +Image 3. Photosensor reading=13303703.0 +Image 7. ND filter=BLANK +Created=Tue Aug 23 10:54:53 2005 +Image 63. Time=Tue Aug 23 10:56:31 2005 +Image 20. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 24. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 23. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 22. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 21. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 69. EM filter=FITC +Image 66. Photosensor reading=13321049.0 +Image 4. Intensity=Min = 112, Max = 262, Mean = 123.55140 +Image 45. Photosensor reading=13297220.0 +Image 67. Exposure time=0.200 secs +Image 24. Photosensor reading=13297334.0 +Image 22. Exposure time=0.200 secs +Wavelength 4 (in nm)=0 +Image 1. EX filter=FITC +Image 54. Time=Tue Aug 23 10:56:16 2005 +Image 18. Exposure time=0.200 secs +Image 5. Intensity=Min = 112, Max = 276, Mean = 123.84928 +Image 13. Time=Tue Aug 23 10:55:10 2005 +Image 19. EM filter=FITC +Image 32. Exposure time=0.200 secs +Image 49. Time=Tue Aug 23 10:56:09 2005 +Image 53. Photosensor reading=13317183.0 +Y position for position #1=-1048.0216 +Image 2. EX filter=FITC +Image 9. Photosensor reading=13296875.0 +Image 28. Exposure time=0.200 secs +Image 4. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 3. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 2. Stage coordinates=(-1087.100,-1035.290,-5.514) +Image 1. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 5. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 6. Intensity=Min = 112, Max = 294, Mean = 124.11213 +Wavelength 4 min. intensity=0.0 +Image 45. Time=Tue Aug 23 10:56:01 2005 +Image 11. Time Point=11.018 secs +Image 52. Photosensor reading=13297703.0 +Image 3. EX filter=FITC +Image 48. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 47. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 46. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 30. Exposure time=0.200 secs +Image 49. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 31. Photosensor reading=13327654.0 +Image 10. Photosensor reading=13305998.0 +ImageWidth=384 +Image 7. Intensity=Min = 112, Max = 265, Mean = 123.75503 +Image 18. Time Point=21.158 secs +Image 26. Exposure time=0.200 secs +Image 12. Time Point=11.598 secs +Image 40. Exposure time=0.200 secs +X axis tilt angle=0.0 +Image 60. Photosensor reading=13309422.0 +Image 4. EX filter=FITC +Wavelength 2 min. intensity=0.0 +Image 36. Exposure time=0.200 secs +Image 29. Photosensor reading=13314955.0 +Image 19. Time Point=25.272 secs +Image 5. Time=Tue Aug 23 10:54:58 2005 +Image 32. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 31. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 30. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 34. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 33. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 13. Time Point=15.710 secs +Y element length (in um)=0.06631 +Image 31. Time=Tue Aug 23 10:55:40 2005 +Image 5. EX filter=FITC +Image 67. Time=Tue Aug 23 10:56:40 2005 +Image 69. Exposure time=0.200 secs +Image 26. Time=Tue Aug 23 10:55:30 2005 +Image 58. Photosensor reading=13326284.0 +Pixel sampling size (Z)=1 +Image 37. Photosensor reading=13317350.0 +Image 14. Time Point=16.287 secs +Image 6. EX filter=FITC +Image 34. Exposure time=0.200 secs +Image 22. Time=Tue Aug 23 10:55:25 2005 +Resolve3D Image File=/homes/will/IAGFP-Noc01_R3D.dv +Pixel sampling size (Y)=1 +Image 58. Time=Tue Aug 23 10:56:24 2005 +Image 17. Time=Tue Aug 23 10:55:15 2005 +Image 15. Time Point=16.868 secs +Image 44. Exposure time=0.200 secs +Image 69. Total number of images saved=69 +Image 8. ND filter=BLANK +Image 7. EX filter=FITC +Image 15. Photosensor reading=13297529.0 +Pixel sampling size (X)=1 +Image 2. Photosensor reading=13302498.0 +Wavelength 1 (in nm)=528 +Image 59. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 58. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 57. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 56. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 16. Time Point=19.991 secs +Image 65. Photosensor reading=13379185.0 +Image 9. ND filter=BLANK +Image 10. Time Point=10.439 secs +Image 8. EX filter=FITC +Image 44. Photosensor reading=13297778.0 +Image 20. Time Point=25.857 secs +Image 23. Photosensor reading=13296858.0 +Image 42. Exposure time=0.200 secs +Image 44. Time=Tue Aug 23 10:56:00 2005 +Image 17. Time Point=20.569 secs +Image 39. Time=Tue Aug 23 10:55:50 2005 +Image 9. EX filter=FITC +Image 27. Time Point=35.966 secs +Camera Temp Setting=-30.0C +Image 38. Exposure time=0.200 secs +Image 21. Time Point=26.440 secs +ImageHeight=384 +Image 43. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 42. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 41. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 45. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 44. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 60. ND filter=BLANK +Image 8. Photosensor reading=13296550.0 +Image 9. Time=Tue Aug 23 10:55:01 2005 +Image 40. Time=Tue Aug 23 10:55:54 2005 +Image 48. Exposure time=0.200 secs +Image 28. Time Point=40.067 secs +Image 35. Time=Tue Aug 23 10:55:45 2005 +Image 22. Time Point=30.548 secs +Image 51. Photosensor reading=13318437.0 +Image 8. Intensity=Min = 113, Max = 281, Mean = 123.96528 +Image 10. ND filter=BLANK +Image 30. Photosensor reading=13313463.0 +Image 50. Exposure time=0.200 secs +Image 29. Time Point=40.647 secs +Y axis tilt angle=0.0 +Image 7. Photosensor reading=13307815.0 +Image 23. Time Point=31.132 secs +Image 1. EM filter=FITC +Image 46. Exposure time=0.200 secs +Image 9. Intensity=Min = 112, Max = 307, Mean = 124.17527 +Image 11. ND filter=BLANK +Image 20. ND filter=BLANK +Image 4. Exposure time=0.200 secs +Z axis tilt angle=0.0 +Image 49. Photosensor reading=13378153.0 +Image 28. Photosensor reading=13311444.0 +Image 24. Time Point=31.718 secs +Image 69. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 68. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 67. Stage coordinates=(-1087.100,-1035.290,-4.518) +Wavelength 2 max. intensity=0.0 +Image 62. Time=Tue Aug 23 10:56:30 2005 +Image 11. Exposure time=0.200 secs +Image 21. Time=Tue Aug 23 10:55:21 2005 +Camera Gain=0.50X +Image 2. EM filter=FITC +Image 57. Time=Tue Aug 23 10:56:21 2005 +Image 12. ND filter=BLANK +Image 21. ND filter=BLANK +Image 30. ND filter=BLANK +Sub-image starting point (Z)=0 +Image 57. Photosensor reading=13309559.0 +Image 60. Intensity=Min = 112, Max = 300, Mean = 123.23679 +Image 25. Time Point=34.807 secs +Image 36. Photosensor reading=13317657.0 +Image 2. Exposure time=0.200 secs +Image 35. Time Point=51.204 secs +Image 3. EM filter=FITC +Image 53. Time=Tue Aug 23 10:56:15 2005 +Image 13. ND filter=BLANK +Image 22. ND filter=BLANK +Image 31. ND filter=BLANK +Image 12. Time=Tue Aug 23 10:55:06 2005 +Image 40. ND filter=BLANK +Sub-image starting point (Y)=0 +Image 54. Exposure time=0.200 secs +Image 48. Time=Tue Aug 23 10:56:06 2005 +Image 54. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 53. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 52. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 51. Stage coordinates=(-1087.100,-1035.290,-6.015) +Image 55. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 26. Time Point=35.387 secs +Image 10. Intensity=Min = 112, Max = 280, Mean = 123.95586 +Image 4. EM filter=FITC +Image 36. Time Point=51.807 secs +Image 30. Time Point=41.229 secs +Image 35. Photosensor reading=13380214.0 +Image 14. ND filter=BLANK +Image 23. ND filter=BLANK +Sub-image starting point (X)=0 +Image 32. ND filter=BLANK +Image 41. ND filter=BLANK +Y origin (in um)=0.0 +Image 50. ND filter=BLANK +Image 8. Exposure time=0.200 secs +Image 14. Photosensor reading=13301607.0 +Image 1. Photosensor reading=13304370.0 +Image 11. Intensity=Min = 112, Max = 294, Mean = 123.88520 +Image 20. Intensity=Min = 112, Max = 295, Mean = 123.24325 +Image 5. EM filter=FITC +Image 15. Exposure time=0.200 secs +Image 37. Time Point=54.906 secs +Image 52. Exposure time=0.200 secs +Image 64. Photosensor reading=13301180.0 +Image 40. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 31. Time Point=45.340 secs +Image 15. ND filter=BLANK +Image 24. ND filter=BLANK +Image 33. ND filter=BLANK +Image 43. Photosensor reading=13307640.0 +Image 42. ND filter=BLANK +Image 51. ND filter=BLANK +Image 50. EX filter=FITC +Image 8. Time=Tue Aug 23 10:55:00 2005 +Image 22. Photosensor reading=13310070.0 +X position for position #1=-1099.8315 +Image 34. Time=Tue Aug 23 10:55:45 2005 +Image 62. Exposure time=0.200 secs +Image 12. Intensity=Min = 112, Max = 307, Mean = 124.04636 +Image 6. EM filter=FITC +Image 21. Intensity=Min = 112, Max = 306, Mean = 123.40277 +Image 6. Exposure time=0.200 secs +Image 30. Intensity=Min = 113, Max = 306, Mean = 123.36591 +Image 38. Time Point=55.484 secs +Image 32. Time Point=45.926 secs +Image 16. ND filter=BLANK +Image 25. ND filter=BLANK +Image 34. ND filter=BLANK +Image 43. ND filter=BLANK +Image 52. ND filter=BLANK +Image 61. ND filter=BLANK +Image 51. EX filter=FITC +Image 60. EX filter=FITC +Image 58. Exposure time=0.200 secs +Wavelength 4 max. intensity=0.0 +Image 6. Time Point=4.029 secs +Image 4. Time=Tue Aug 23 10:54:57 2005 +Wavelength 3 (in nm)=0 +Image 13. Exposure time=0.200 secs +Image 13. Intensity=Min = 112, Max = 281, Mean = 123.71118 +Image 30. Time=Tue Aug 23 10:55:35 2005 +Image 22. Intensity=Min = 112, Max = 285, Mean = 123.24682 +Image 7. EM filter=FITC +Image 31. Intensity=Min = 112, Max = 301, Mean = 123.25329 +Image 40. Intensity=Min = 112, Max = 318, Mean = 123.24600 +Image 66. Time=Tue Aug 23 10:56:36 2005 +Image 39. Time Point=56.077 secs +Image 25. Time=Tue Aug 23 10:55:29 2005 +Image 33. Time Point=46.506 secs +Image 26. ND filter=BLANK +Image 35. ND filter=BLANK +Image 44. ND filter=BLANK +Image 53. ND filter=BLANK +Image 62. ND filter=BLANK +Image 61. EX filter=FITC +Image 23. Exposure time=0.200 secs +Image 43. Time Point=65.451 secs +Image 60. Exposure time=0.200 secs +Image 7. Time Point=5.116 secs +Image 10. EX filter=FITC +Image 1. Time Point=0.000 secs +Number of focal planes=3 +Image 50. Photosensor reading=13310680.0 +Image 14. Intensity=Min = 112, Max = 295, Mean = 123.62534 +Image 23. Intensity=Min = 112, Max = 297, Mean = 123.21452 +Image 8. EM filter=FITC +Image 32. Intensity=Min = 112, Max = 311, Mean = 123.21243 +Image 41. Intensity=Min = 112, Max = 316, Mean = 123.21998 +Image 19. Exposure time=0.200 secs +Image 50. Intensity=Min = 112, Max = 321, Mean = 123.14371 +Image 66. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 65. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 64. Stage coordinates=(-1087.100,-1035.290,-4.518) +Image 63. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 62. Stage coordinates=(-1087.100,-1035.290,-5.016) +Image 56. Exposure time=0.200 secs +Image 34. Time Point=50.605 secs +Image 27. ND filter=BLANK +Image 36. ND filter=BLANK +Image 45. ND filter=BLANK +Image 54. ND filter=BLANK +Image 63. ND filter=BLANK +Image 6. Photosensor reading=13308545.0 +Image 62. EX filter=FITC +Image 44. Time Point=66.035 secs +Image 16. Time=Tue Aug 23 10:55:14 2005 +Image 11. EX filter=FITC +Image 20. EX filter=FITC +NumberOfImages=69 +Image 8. Time Point=5.719 secs +Image Properties XY Dimensions=384 x 384 +Image 2. Time Point=0.600 secs +Image 66. Exposure time=0.200 secs +Image 15. Intensity=Min = 112, Max = 305, Mean = 123.75312 +Image 24. Intensity=Min = 112, Max = 299, Mean = 123.36919 +Image 9. EM filter=FITC +Image 69. Photosensor reading=13310311.0 +Image 33. Intensity=Min = 112, Max = 305, Mean = 123.38190 +Image 42. Intensity=Min = 112, Max = 310, Mean = 123.36956 +Image 51. Intensity=Min = 112, Max = 307, Mean = 123.29066 +Image 21. Exposure time=0.200 secs +Image 48. Photosensor reading=13306051.0 +Image 28. ND filter=BLANK +Image 37. ND filter=BLANK +PixelType=16 bit signed integer +Image 46. ND filter=BLANK +Image 55. ND filter=BLANK +Image 64. ND filter=BLANK +Image 63. EX filter=FITC +Image 52. Time=Tue Aug 23 10:56:15 2005 +Image 27. Photosensor reading=13317769.0 +Image 45. Time Point=66.617 secs +Camera Speed=10000KHz +Image 12. EX filter=FITC +Image 47. Time=Tue Aug 23 10:56:06 2005 +Image 21. EX filter=FITC +Image 30. EX filter=FITC +Image 9. Time Point=6.322 secs +Image 17. Exposure time=0.200 secs +Image 50. Stage coordinates=(-1087.100,-1035.290,-5.517) +Image 3. Time Point=1.178 secs +Image 16. Intensity=Min = 112, Max = 280, Mean = 123.33149 +Image 25. Intensity=Min = 112, Max = 302, Mean = 123.17751 +Image 34. Intensity=Min = 112, Max = 319, Mean = 123.26498 +Image 43. Intensity=Min = 112, Max = 320, Mean = 123.23780 +Image 52. Intensity=Min = 111, Max = 337, Mean = 123.14898 +Image 61. Intensity=Min = 112, Max = 330, Mean = 122.87868 +Image 38. ND filter=BLANK +Image 47. ND filter=BLANK +Image 56. Photosensor reading=13311175.0 +Image 56. ND filter=BLANK +Image 65. ND filter=BLANK +Image 64. EX filter=FITC +Image 27. Exposure time=0.200 secs +Image 46. Time Point=70.712 secs +Image 64. Exposure time=0.200 secs +Image 13. EX filter=FITC +Image 22. EX filter=FITC +Image 31. EX filter=FITC +Image 40. Time Point=60.188 secs +Image 40. EX filter=FITC +Image 43. Time=Tue Aug 23 10:56:00 2005 +Image 4. Time Point=2.865 secs +X element length (in um)=0.06631 +Image 26. Intensity=Min = 112, Max = 297, Mean = 123.22234 +Image 38. Time=Tue Aug 23 10:55:50 2005 +Image 35. Intensity=Min = 112, Max = 306, Mean = 123.27597 +Image 44. Intensity=Min = 112, Max = 318, Mean = 123.21880 +Image 53. Intensity=Min = 112, Max = 322, Mean = 123.10580 +Space group number=0 +Image 62. Intensity=Min = 112, Max = 328, Mean = 122.85614 +Image 39. ND filter=BLANK +Image 48. ND filter=BLANK +Image 57. ND filter=BLANK +Image 66. ND filter=BLANK +Image 47. Time Point=71.294 secs +Image sequence=WZT +Image 14. EX filter=FITC +Image 23. EX filter=FITC +Image 32. EX filter=FITC +Image 41. EX filter=FITC +Image 41. Time Point=60.766 secs +Image 5. Time Point=3.448 secs +Image 51. Time Point=76.145 secs +Image 27. Intensity=Min = 112, Max = 302, Mean = 123.38792 +Image 34. Photosensor reading=13326309.0 +Image 36. Intensity=Min = 112, Max = 310, Mean = 123.37882 +Image 45. Intensity=Min = 112, Max = 313, Mean = 123.36087 +Image 54. Intensity=Min = 112, Max = 299, Mean = 123.26778 +Image 63. Intensity=Min = 112, Max = 317, Mean = 123.01031 +Image 25. Exposure time=0.200 secs +Image 13. Photosensor reading=13312088.0 +Image 49. ND filter=BLANK +Image 58. ND filter=BLANK +Image 29. Time=Tue Aug 23 10:55:35 2005 +Image 67. ND filter=BLANK +Image 48. Time Point=71.875 secs +Image 15. EX filter=FITC +Image 24. EX filter=FITC +Wavelength 1 min. intensity=111.0 +Image 33. EX filter=FITC +Image 42. EX filter=FITC +Image 42. Time Point=61.347 secs +Image 3. Time=Tue Aug 23 10:54:55 2005 +Image 63. Photosensor reading=13312513.0 +Image 52. Time Point=80.273 secs +Image 28. Intensity=Min = 112, Max = 297, Mean = 123.24514 +Image 37. Intensity=Min = 112, Max = 310, Mean = 123.21006 +Image 46. Intensity=Min = 112, Max = 328, Mean = 123.19318 +Image 55. Intensity=Min = 112, Max = 334, Mean = 123.13229 +Image 64. Intensity=Min = 112, Max = 342, Mean = 122.86584 +Image 42. Photosensor reading=13329032.0 +Z axis reduction quotient=1 +Image 65. Time=Tue Aug 23 10:56:35 2005 +Image 21. Photosensor reading=13300886.0 +Image 59. ND filter=BLANK +Image 68. ND filter=BLANK +Image 17. ND filter=BLANK +Image 68. Exposure time=0.200 secs +Image 16. EX filter=FITC +Image 49. Time Point=74.969 secs +Image 25. EX filter=FITC +Image 34. EX filter=FITC +Image 43. EX filter=FITC +Image 52. EX filter=FITC +Image 59. Time Point=90.404 secs +Image 53. Time Point=80.854 secs +Image 38. Intensity=Min = 112, Max = 312, Mean = 123.20901 +Image 47. Intensity=Min = 112, Max = 334, Mean = 123.17560 +Image 56. Intensity=Min = 112, Max = 322, Mean = 123.11501 +Image 65. Intensity=Min = 112, Max = 333, Mean = 122.92243 +Image 69. ND filter=BLANK +Image 61. Time=Tue Aug 23 10:56:29 2005 +[SeriesMetadata] diff --git a/docs/testing_scenarios/downloads/ImportCLI_001.txt b/docs/testing_scenarios/downloads/ImportCLI_001.txt new file mode 100644 index 0000000..5f1848b --- /dev/null +++ b/docs/testing_scenarios/downloads/ImportCLI_001.txt @@ -0,0 +1,2 @@ +Using session 5d7d8cd2-13e7-4a1d-988b-e65b02cf7f2f (user-8@localhost:4064). Current group: private-1 +Group 'private-1' (id=7) switched to 'read-only-1' (id=8) \ No newline at end of file diff --git a/docs/testing_scenarios/downloads/ImportTestingSetTable.pdf b/docs/testing_scenarios/downloads/ImportTestingSetTable.pdf new file mode 100644 index 0000000..f14d4b1 Binary files /dev/null and b/docs/testing_scenarios/downloads/ImportTestingSetTable.pdf differ diff --git a/docs/testing_scenarios/downloads/ImportTestingTemplate.pdf b/docs/testing_scenarios/downloads/ImportTestingTemplate.pdf new file mode 100644 index 0000000..ca8f320 Binary files /dev/null and b/docs/testing_scenarios/downloads/ImportTestingTemplate.pdf differ diff --git a/docs/testing_scenarios/downloads/Output_rebuild_ContentDB.txt b/docs/testing_scenarios/downloads/Output_rebuild_ContentDB.txt new file mode 100644 index 0000000..746762b --- /dev/null +++ b/docs/testing_scenarios/downloads/Output_rebuild_ContentDB.txt @@ -0,0 +1,342 @@ +Found 1 feature rows including 0 duplicates for image:198 +Found 1 feature rows including 0 duplicates for image:199 +Found 2 feature rows including 1 duplicates for image:200 +Found 1 feature rows including 0 duplicates for image:201 +Found 1 feature rows including 0 duplicates for image:202 +Found 1 feature rows including 0 duplicates for image:203 +Found 1 feature rows including 0 duplicates for image:204 +Found 1 feature rows including 0 duplicates for image:205 +Found 1 feature rows including 0 duplicates for image:206 +Found 1 feature rows including 0 duplicates for image:207 +Found 1 feature rows including 0 duplicates for image:208 +Found 1 feature rows including 0 duplicates for image:209 +Found 1 feature rows including 0 duplicates for image:211 +Found 1 feature rows including 0 duplicates for image:212 +Found 1 feature rows including 0 duplicates for image:213 +Found 1 feature rows including 0 duplicates for image:214 +Found 1 feature rows including 0 duplicates for image:215 +Found 1 feature rows including 0 duplicates for image:216 +Found 1 feature rows including 0 duplicates for image:217 +Found 1 feature rows including 0 duplicates for image:218 +Found 1 feature rows including 0 duplicates for image:219 +Found 1 feature rows including 0 duplicates for image:220 +Found 1 feature rows including 0 duplicates for image:221 +Found 1 feature rows including 0 duplicates for image:222 +Found 1 feature rows including 0 duplicates for image:223 +Found 1 feature rows including 0 duplicates for image:224 +Found 1 feature rows including 0 duplicates for image:225 +Found 1 feature rows including 0 duplicates for image:226 +Found 1 feature rows including 0 duplicates for image:227 +Found 1 feature rows including 0 duplicates for image:228 +Found 1 feature rows including 0 duplicates for image:229 +Found 1 feature rows including 0 duplicates for image:230 +Found 1 feature rows including 0 duplicates for image:231 +Found 1 feature rows including 0 duplicates for image:232 +Found 1 feature rows including 0 duplicates for image:233 +Found 1 feature rows including 0 duplicates for image:234 +Found 1 feature rows including 0 duplicates for image:235 +Found 1 feature rows including 0 duplicates for image:236 +Found 1 feature rows including 0 duplicates for image:237 +Found 1 feature rows including 0 duplicates for image:117 +Found 1 feature rows including 0 duplicates for image:210 +Found 1 feature rows including 0 duplicates for image:118 +Found 1 feature rows including 0 duplicates for image:119 +Found 1 feature rows including 0 duplicates for image:120 +Found 1 feature rows including 0 duplicates for image:121 +Found 1 feature rows including 0 duplicates for image:122 +Found 1 feature rows including 0 duplicates for image:123 +Found 1 feature rows including 0 duplicates for image:124 +Found 1 feature rows including 0 duplicates for image:125 +Found 1 feature rows including 0 duplicates for image:126 +Found 1 feature rows including 0 duplicates for image:127 +Found 1 feature rows including 0 duplicates for image:128 +Found 1 feature rows including 0 duplicates for image:129 +Found 1 feature rows including 0 duplicates for image:130 +Found 1 feature rows including 0 duplicates for image:131 +Found 1 feature rows including 0 duplicates for image:132 +Found 1 feature rows including 0 duplicates for image:133 +Found 1 feature rows including 0 duplicates for image:134 +Found 1 feature rows including 0 duplicates for image:135 +Found 1 feature rows including 0 duplicates for image:136 +Found 1 feature rows including 0 duplicates for image:137 +Found 1 feature rows including 0 duplicates for image:138 +Found 1 feature rows including 0 duplicates for image:139 +Found 1 feature rows including 0 duplicates for image:140 +Found 1 feature rows including 0 duplicates for image:141 +Found 1 feature rows including 0 duplicates for image:142 +Found 1 feature rows including 0 duplicates for image:143 +Found 1 feature rows including 0 duplicates for image:144 +Found 1 feature rows including 0 duplicates for image:145 +Found 1 feature rows including 0 duplicates for image:146 +Found 1 feature rows including 0 duplicates for image:147 +Found 1 feature rows including 0 duplicates for image:148 +Found 1 feature rows including 0 duplicates for image:149 +Found 1 feature rows including 0 duplicates for image:150 +Found 1 feature rows including 0 duplicates for image:151 +Found 1 feature rows including 0 duplicates for image:152 +Found 1 feature rows including 0 duplicates for image:153 +Found 1 feature rows including 0 duplicates for image:154 +Found 1 feature rows including 0 duplicates for image:155 +Found 1 feature rows including 0 duplicates for image:156 +Found 1 feature rows including 0 duplicates for image:157 +Found 12 feature rows including 9 duplicates for image:1351 +Found 12 feature rows including 9 duplicates for image:1352 +Found 12 feature rows including 9 duplicates for image:1353 +Found 12 feature rows including 9 duplicates for image:1354 +Found 12 feature rows including 9 duplicates for image:1355 +Found 12 feature rows including 9 duplicates for image:1356 +Found 12 feature rows including 9 duplicates for image:1357 +Found 12 feature rows including 9 duplicates for image:1358 +Found 12 feature rows including 9 duplicates for image:1359 +Found 12 feature rows including 9 duplicates for image:1360 +Found 15 feature rows including 12 duplicates for image:1361 +Found 12 feature rows including 9 duplicates for image:1362 +Found 9 feature rows including 6 duplicates for image:1363 +Found 12 feature rows including 9 duplicates for image:1364 +Found 12 feature rows including 9 duplicates for image:1365 +Found 12 feature rows including 9 duplicates for image:1366 +Found 12 feature rows including 9 duplicates for image:1367 +Found 12 feature rows including 9 duplicates for image:1368 +Found 12 feature rows including 9 duplicates for image:1369 +Found 12 feature rows including 9 duplicates for image:1370 +Found 12 feature rows including 9 duplicates for image:1371 +Found 12 feature rows including 9 duplicates for image:1372 +Found 12 feature rows including 9 duplicates for image:1373 +Found 12 feature rows including 9 duplicates for image:1374 +Found 12 feature rows including 9 duplicates for image:1375 +Found 12 feature rows including 9 duplicates for image:1376 +Found 12 feature rows including 9 duplicates for image:1377 +Found 12 feature rows including 9 duplicates for image:1378 +Found 12 feature rows including 9 duplicates for image:1379 +Found 12 feature rows including 9 duplicates for image:1380 +Found 12 feature rows including 9 duplicates for image:1381 +Found 12 feature rows including 9 duplicates for image:1382 +Found 12 feature rows including 9 duplicates for image:1383 +Found 12 feature rows including 9 duplicates for image:1384 +Found 6 feature rows including 3 duplicates for image:1385 +Found 12 feature rows including 9 duplicates for image:1386 +Found 12 feature rows including 9 duplicates for image:1387 +Found 12 feature rows including 9 duplicates for image:1388 +Found 12 feature rows including 9 duplicates for image:1389 +Found 12 feature rows including 9 duplicates for image:1390 +Found 12 feature rows including 9 duplicates for image:2006 +Found 6 feature rows including 3 duplicates for image:2007 +Found 6 feature rows including 3 duplicates for image:2008 +Saving ContentDB user:3 scale:1.000000e+00 +Added ContentDB features (scale:1.000000e+00) from: + 198.0.0.0.0 + 199.0.0.0.0 + 200.0.0.0.0 + 201.0.0.0.0 + 202.0.0.0.0 + 203.0.0.0.0 + 204.0.0.0.0 + 205.0.0.0.0 + 206.0.0.0.0 + 207.0.0.0.0 + 208.0.0.0.0 + 209.0.0.0.0 + 211.0.0.0.0 + 212.0.0.0.0 + 213.0.0.0.0 + 214.0.0.0.0 + 215.0.0.0.0 + 216.0.0.0.0 + 217.0.0.0.0 + 218.0.0.0.0 + 219.0.0.0.0 + 220.0.0.0.0 + 221.0.0.0.0 + 222.0.0.0.0 + 223.0.0.0.0 + 224.0.0.0.0 + 225.0.0.0.0 + 226.0.0.0.0 + 227.0.0.0.0 + 228.0.0.0.0 + 229.0.0.0.0 + 230.0.0.0.0 + 231.0.0.0.0 + 232.0.0.0.0 + 233.0.0.0.0 + 234.0.0.0.0 + 235.0.0.0.0 + 236.0.0.0.0 + 237.0.0.0.0 + 117.0.0.0.0 + 210.0.0.0.0 + 118.0.0.0.0 + 119.0.0.0.0 + 120.0.0.0.0 + 121.0.0.0.0 + 122.0.0.0.0 + 123.0.0.0.0 + 124.0.0.0.0 + 125.0.0.0.0 + 126.0.0.0.0 + 127.0.0.0.0 + 128.0.0.0.0 + 129.0.0.0.0 + 130.0.0.0.0 + 131.0.0.0.0 + 132.0.0.0.0 + 133.0.0.0.0 + 134.0.0.0.0 + 135.0.0.0.0 + 136.0.0.0.0 + 137.0.0.0.0 + 138.0.0.0.0 + 139.0.0.0.0 + 140.0.0.0.0 + 141.0.0.0.0 + 142.0.0.0.0 + 143.0.0.0.0 + 144.0.0.0.0 + 145.0.0.0.0 + 146.0.0.0.0 + 147.0.0.0.0 + 148.0.0.0.0 + 149.0.0.0.0 + 150.0.0.0.0 + 151.0.0.0.0 + 152.0.0.0.0 + 153.0.0.0.0 + 154.0.0.0.0 + 155.0.0.0.0 + 156.0.0.0.0 + 157.0.0.0.0 + 1351.0.2.0.0 + 1351.0.1.0.0 + 1351.0.0.0.0 + 1352.0.2.0.0 + 1352.0.1.0.0 + 1352.0.0.0.0 + 1353.0.2.0.0 + 1353.0.1.0.0 + 1353.0.0.0.0 + 1354.0.2.0.0 + 1354.0.1.0.0 + 1354.0.0.0.0 + 1355.0.2.0.0 + 1355.0.1.0.0 + 1355.0.0.0.0 + 1356.0.2.0.0 + 1356.0.1.0.0 + 1356.0.0.0.0 + 1357.0.2.0.0 + 1357.0.1.0.0 + 1357.0.0.0.0 + 1358.0.2.0.0 + 1358.0.1.0.0 + 1358.0.0.0.0 + 1359.0.2.0.0 + 1359.0.1.0.0 + 1359.0.0.0.0 + 1360.0.2.0.0 + 1360.0.1.0.0 + 1360.0.0.0.0 + 1361.0.2.0.0 + 1361.0.1.0.0 + 1361.0.0.0.0 + 1362.0.2.0.0 + 1362.0.1.0.0 + 1362.0.0.0.0 + 1363.0.2.0.0 + 1363.0.1.0.0 + 1363.0.0.0.0 + 1364.0.2.0.0 + 1364.0.1.0.0 + 1364.0.0.0.0 + 1365.0.2.0.0 + 1365.0.1.0.0 + 1365.0.0.0.0 + 1366.0.2.0.0 + 1366.0.1.0.0 + 1366.0.0.0.0 + 1367.0.2.0.0 + 1367.0.1.0.0 + 1367.0.0.0.0 + 1368.0.2.0.0 + 1368.0.1.0.0 + 1368.0.0.0.0 + 1369.0.2.0.0 + 1369.0.1.0.0 + 1369.0.0.0.0 + 1370.0.2.0.0 + 1370.0.1.0.0 + 1370.0.0.0.0 + 1371.0.2.0.0 + 1371.0.1.0.0 + 1371.0.0.0.0 + 1372.0.2.0.0 + 1372.0.1.0.0 + 1372.0.0.0.0 + 1373.0.2.0.0 + 1373.0.1.0.0 + 1373.0.0.0.0 + 1374.0.2.0.0 + 1374.0.1.0.0 + 1374.0.0.0.0 + 1375.0.2.0.0 + 1375.0.1.0.0 + 1375.0.0.0.0 + 1376.0.2.0.0 + 1376.0.1.0.0 + 1376.0.0.0.0 + 1377.0.2.0.0 + 1377.0.1.0.0 + 1377.0.0.0.0 + 1378.0.2.0.0 + 1378.0.1.0.0 + 1378.0.0.0.0 + 1379.0.2.0.0 + 1379.0.1.0.0 + 1379.0.0.0.0 + 1380.0.2.0.0 + 1380.0.1.0.0 + 1380.0.0.0.0 + 1381.0.2.0.0 + 1381.0.1.0.0 + 1381.0.0.0.0 + 1382.0.2.0.0 + 1382.0.1.0.0 + 1382.0.0.0.0 + 1383.0.2.0.0 + 1383.0.1.0.0 + 1383.0.0.0.0 + 1384.0.2.0.0 + 1384.0.1.0.0 + 1384.0.0.0.0 + 1385.0.2.0.0 + 1385.0.1.0.0 + 1385.0.0.0.0 + 1386.0.2.0.0 + 1386.0.1.0.0 + 1386.0.0.0.0 + 1387.0.2.0.0 + 1387.0.1.0.0 + 1387.0.0.0.0 + 1388.0.2.0.0 + 1388.0.1.0.0 + 1388.0.0.0.0 + 1389.0.2.0.0 + 1389.0.1.0.0 + 1389.0.0.0.0 + 1390.0.2.0.0 + 1390.0.1.0.0 + 1390.0.0.0.0 + 2006.0.2.0.111 + 2006.0.1.0.111 + 2006.0.0.0.111 + 2007.0.2.0.68 + 2007.0.1.0.68 + 2007.0.0.0.68 + 2008.0.2.0.105 + 2008.0.1.0.105 + 2008.0.0.0.105 +{'Feature_set': 'slf33'} +No features found for image:2005 +Saving ContentDB user:3 scale:1.000000e+00 +Good + +Duration: 0:01:00.908797 \ No newline at end of file diff --git a/docs/testing_scenarios/downloads/RoiInsight012.xls b/docs/testing_scenarios/downloads/RoiInsight012.xls new file mode 100755 index 0000000..59020fe Binary files /dev/null and b/docs/testing_scenarios/downloads/RoiInsight012.xls differ diff --git a/docs/testing_scenarios/downloads/Search.java b/docs/testing_scenarios/downloads/Search.java new file mode 100644 index 0000000..1c59e85 --- /dev/null +++ b/docs/testing_scenarios/downloads/Search.java @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + Search.java on proposals/Attributes – Attachment + – OME + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

proposals/Attributes: Search.java

+ + + + + + + + + +
File Search.java, + 14.9 KB + (added by jmoore, 5 years ago)
+ +
+
+ +
Line 
1/*
2 *   $Id$
3 *
4 *   Copyright 2007 Glencoe Software, Inc. All rights reserved.
5 *   Use is subject to license terms supplied in LICENSE.txt
6 */
7
8package ome.api;
9
10import java.sql.Timestamp;
11import java.util.List;
12import java.util.Map;
13
14import ome.conditions.ApiUsageException;
15import ome.model.IObject;
16import ome.model.annotations.Annotation;
17import ome.model.core.OriginalFile;
18import ome.model.internal.Details;
19import ome.parameters.Parameters;
20
21import org.hibernate.search.ProjectionConstants;
22
23/**
24 * Central search interface, allowing Web2.0 style queries. Each {@link Search}
25 * instance keeps up with several queries and lazily-loads the results as
26 * {@link #next()} and {@link #results()} are called. These queries are created
27 * by the "By*" methods.
28 *
29 * Each instance also has a number of settings which can all be changed from
30 * their defaults via accessors, e.g.{@link #setBatchSize(int)} or
31 * {@link #setCaseSensitivity(boolean)}.
32 *
33 * The only methods which are required for the proper functioning of a
34 * {@link Search} instance are:
35 * <ul>
36 * <li>{@link #onlyTypes(Class...)} OR {@link #allTypes()}</li>
37 * <li>Any By* method to create a query</li>
38 * </ul>
39 * Use of the {@link #allTypes()} method is discouraged, since it is possibly
40 * very resource intensive, which is why any attempt to receive results without
41 * specifically setting types or allowing all is prohibited.
42 *
43 * @author Josh Moore, josh at glencoesoftware.com
44 *
45 * @see ome.api.IQuery
46 */
47public interface Search extends ome.api.StatefulServiceInterface,
48        java.util.Iterator<IObject> {
49
50    // Constants ~
51    // =========================================================================
52
53    /**
54     * {@link String} constant used to look up the score value of Lucene queries
55     * returned by this interface. Not all queries will fill this value.
56     */
57    public final static String SCORE = ProjectionConstants.SCORE;
58
59    /**
60     * {@link String} constant used to look up the boost value of Lucene queries
61     * returned by this interface. Not all queries will fill this value.
62     */
63    public final static String BOOST = ProjectionConstants.BOOST;
64
65    /**
66     * Default {@link #getBatchSize() batch size}
67     */
68    public final static int DEFAULT_BATCH_SIZE = 1000;
69
70    /**
71     * Default {@link #isMergedBatched() merged-bathces}
72     */
73    public final static boolean DEFAULT_MERGED_BATCHES = false;
74
75    /**
76     * Default {@link #isCaseSensitive() case sensitivity}
77     */
78    public final static boolean DEFAULT_CASE_SENSITIVTY = false;
79
80    /**
81     * Default {@link #isUseProjections() use-projections}
82     */
83    public final static boolean DEFAULT_USE_PROJECTIONS = false;
84
85    /**
86     * Default {@link #isReturnUnloaded() return-unloaded}
87     */
88    public final static boolean DEFAULT_RETURN_UNLOADED = false;
89
90    // Non-Query State ~
91    // =========================================================================
92
93    /**
94     * Returns the number of active queries. This means that
95     * <code>activeQueries</code> gives the minimum number of remaining calls
96     * to {@link #results()} when batches are not
97     * {@link #isMergedBatched() merged}.
98     *
99     * @return number of active queries
100     */
101    int activeQueries();
102
103    /**
104     * Sets the maximum number of results that will be returned by one call to
105     * {@link #results()}. If batches are not {@link #isMergedBatched() merged},
106     * then results may often be less than the batch size. If batches are
107     * {@link #isMergedBatched()} merged, then only the last call to
108     * {@link #results()} can be less than batch size.
109     *
110     * @param size
111     *            maximum number of results per call to {@link #results()}
112     */
113    void setBatchSize(int size);
114
115    /**
116     * Returns the current batch size. If {@link #setBatchSize(int)} has not
117     * been called, the {@link #DEFAULT_BATCH_SIZE default value} will be in
118     * effect.
119     *
120     * @return maximum number of results per call to {@link #results()}
121     * @see #DEFAULT_BATCH_SIZE
122     */
123    int getBatchSize();
124
125    /**
126     * Set whether or not results from two separate queries can be returned in
127     * the same call to {@link #results()}.
128     */
129    void setMergedBatches(boolean merge);
130
131    /**
132     * Returns the current merged-batches setting. If
133     * {@link #setMergedBatches(boolean)} has not been called, the
134     * {@link #DEFAULT_MERGED_BATCHES default value} will be in effect.
135     */
136    boolean isMergedBatched();
137
138    /**
139     * Sets the case sensitivity on all queries where case-sensitivity is
140     * supported.
141     */
142    void setCaseSentivice(boolean caseSensitive);
143
144    /**
145     * Returns the current case sensitivity setting. If
146     * {@link #setCaseSentivice()} has not been called, the
147     * {@link #DEFAULT_CASE_SENSITIVTY default value} will be in effect.
148     */
149    boolean isCaseSensitive();
150
151    /**
152     * Determines if Lucene queries should not hit the database. Instead all
153     * values which are stored in the index will be loaded into the object,
154     * which includes the id. However, the entity will not be marked unloaded
155     * and therefore it is especially important to not allow a
156     * projection-instance to be saved back to the server. This can result in
157     * DATA LOSS.
158     */
159    void setUseProjections(boolean useProjections);
160
161    /**
162     * Returns the current use-projection setting. If true, the client must be
163     * careful with all results that are returned. See
164     * {@link #setUseProjections(boolean) for more.} If
165     * {@link #setUseProjections(boolean)} has not been called, the
166     * {@link #DEFAULT_USE_PROJECTIONS} will be in effect.
167     */
168    void isUseProjections();
169
170    /**
171     * Determines if all results should be returned as unloaded objects. This is
172     * particularly useful for creating lists for further querying via
173     * {@link IQuery}. This value overrides the
174     * {@link #setUseProjections(boolean)} setting.
175     */
176    void setReturnUnloaded(boolean returnUnloaded);
177
178    /**
179     * Returns the current return-unloaded setting. If true, all returned
180     * entities will be unloaded. If {@link #setReturnUnloaded(boolean)} has not
181     * been called, the {@link #DEFAULT_RETURN_UNLOADED default value} will be
182     * in effect.
183     */
184    void isReturnUnloaded();
185
186    // Filters ~~~~~~~~~~~~~~~~~~~~~
187
188    /**
189     * Restricts the search to a single type. All return values will match this
190     * type.
191     */
192    <T extends IObject> void onlyType(Class<T> klass);
193
194    /**
195     * Restricts searches to a set of types. The entities returned are
196     * guaranteed to be one of these types.
197     */
198    <T extends IObject> void onlyTypes(Class<T>... classes);
199
200    /**
201     * Permits all types to be returned. For some types of queries, this carries
202     * a performance penalty as every database table must be hit.
203     */
204    void allTypes();
205
206    /**
207     * Uses the {@link Details#getOwner()} and {@link Details#getGroup()}
208     * information to restrict the entities which will be returned. If both are
209     * non-null, the two restrictions are joined by an AND.
210     *
211     * @param d
212     *            Can be null, in which the previous restriction is removed.
213     */
214    void onlyOwnedBy(Details d);
215
216    /**
217     * Restricts the time between which an entity may have been created.
218     *
219     * @param start
220     *            Can be null, i.e. interval open to negative infinity.
221     * @param stop
222     *            Can be null, i.e. interval opens to positive infinity.
223     */
224    void onlyCreatedBetween(java.sql.Timestamp start, java.sql.Timestamp stop);
225
226    /**
227     * Restricts the time between which an entity may have last been modified.
228     *
229     * @param start
230     *            Can be null, i.e. interval open to negative infinity.
231     * @param stop
232     *            Can be null, i.e. interval open to positive infinity.
233     */
234    void onlyModifiedBetween(java.sql.Timestamp start, java.sql.Timestamp stop);
235
236    /**
237     * Restricts entities by the time in which any annotation (which matches the
238     * other filters) was added them. This matches the
239     * {@link Details#getCreationEvent() creation event} of the
240     * {@link Annotation}.
241     *
242     * @param start
243     *            Can be null, i.e. interval open to negative infinity.
244     * @param stop
245     *            Can be null, i.e. interval open to positive infinity.
246     */
247    void onlyAnnotatedBetween(Timestamp start, Timestamp stop);
248
249    /**
250     * Restricts entities by who has annotated them with an {@link Annotation}
251     * matching the other filters. As {@link #onlyOwnedBy(Details)}, the
252     * {@link Details#getOwner()} and {@link Details#getGroup()} information is
253     * combined with an AND condition.
254     *
255     * @param d
256     *            Can be null, in which case any previous restriction is
257     *            removed.
258     */
259    void onlyAnnotatedBy(Details d);
260
261    /**
262     * Restricts entities to having an {@link Annotation} of the given types.
263     * This is useful in combination with the other onlyAnnotated* methods to
264     * say, e.g., only annotated with a file by user X.
265     *
266     * @param <A>
267     * @param classes
268     *            Can be empty, in which restriction is removed.
269     */
270    <A extends ome.model.annotations.Annotation> void onlyAnnotatedWith(
271            Class<A>... classes);
272
273    // Fetches ~~~~~~~~~~~~~~~~~~~~~~
274
275    /**
276     * Queries the database for all {@link Annotation annotations} of the given
277     * types for all returned instances.
278     *
279     * @param classes
280     *            Can be empty, which removes previous fetch setting.
281     */
282    <T extends IObject> void fetchAnnotations(Class<T>... classes);
283
284    /**
285     * Adds a fetch clause for loading non-annotation fields of returned
286     * entities. Each fetch is a hibernate clause in dot notation.
287     *
288     * @param <T>
289     * @param fetches
290     *            Can be empty, which removes previous fetch setting.
291     */
292    <T extends IObject> void fetchAlso(String... fetches);
293
294    // Reset ~~~~~~~~~~~~~~~~~~~~~~~~~
295
296    /**
297     * Resets all settings (non-query state) to the original default values, as
298     * if the instance had just be created.
299     */
300    void resetDefaults();
301
302    // Query State ~
303    // =========================================================================
304
305    /**
306     * Finds all entities which are annotated with the given tags.
307     *
308     * @param tags
309     *            Not null nor empty.
310     */
311    void ByTags(String[] tags);
312
313    /**
314     * Returns transient (without ID) {@link TagAnnotation} instances which
315     * represent all the {@link TagAnnotation tags} in the given group. The
316     * entities are transient and without ownership since multiple users can own
317     * the same tag. This method will override settings for types.
318     *
319     * @param group
320     *            Can be null or empty to return all tags.
321     */
322    void ByGroupForTags(String group);
323
324    /**
325     * Creates a query which will return transient (without ID)
326     * {@link TagAnnotation} instances which represent all the
327     * {@link TagAnnotation tag groups} which the given tag belongs to. The
328     * entities are transient and without ownership since multiple users can own
329     * the same tag group. This method will override settings for types.
330     *
331     * @param tag
332     *            Can be null or empty to return all groups.
333     */
334    void ByTagForGroups(String tag);
335
336    /**
337     * Passes the query as is to the Lucene backend.
338     *
339     * @param query
340     *            May not be null or of zero length.
341     */
342    void ByFullText(String query);
343
344    /**
345     * Builds a Lucene query and passes it to {@link #ByFullText(String)}.
346     *
347     * @param some
348     *            Some (at least one) of these terms must be present in the
349     *            document. May be null.
350     * @param must
351     *            All of these terms must be present in the document. May be
352     *            null.
353     * @param none
354     *            None of these terms may be present in the document. May be
355     *            null.
356     */
357    void BySomeMustNone(String[] some, String[] must, String[] none);
358
359    /**
360     * Provides the main {@link IQuery} method here to take advantage of the
361     * various filters which are provided. See
362     * {@link IQuery#findAllByQuery(String, Parameters)} for the semantics.
363     *
364     * @param query
365     *            Not null.
366     * @param p
367     *            May be null. Defaults are then in effect.
368     * @see IQuery#findAllByQuery(String, Parameters)
369     */
370    void ByHqlQuery(String query, Parameters p);
371
372    /**
373     * Finds entities annotated with an {@link Annotation} similar to the
374     * example. This does not use Hibernate's
375     * {@link IQuery#findByExample(IObject) Query-By-Example} mechanism, since
376     * that cannot handle joins. The fields which are used are:
377     * <ul>
378     * <li>the main content of the annotation : String,
379     * {@link OriginalFile#getId()}, etc.</li>
380     * <li>details.owner</li>
381     * <li>details.group</li>
382     * </ul>
383     * Note this method is a superset of {@link #ByTags(String[])}, which can
384     * be replaced via: <code>
385     *   search.ByAnnotatedWith(new TagAnnotation("string"));
386     * </code>
387     *
388     * @param example
389     */
390    void ByAnnotatedWith(Annotation example);
391
392    /**
393     * Removes all active queries (leaving {@link #resetDefaults() settings}
394     * alone), such that {@link #activeQueries()} will return 0.
395     */
396    void clearQueries();
397
398    // Retrieval ~
399    // =========================================================================
400
401    /**
402     * Returns true if another call to {@link #next()} is valid. A call to
403     * {@link #next()} may throw an exception for another reason, however.
404     */
405    boolean hasNext();
406
407    /**
408     * Returns the next entity from the current query. If the previous call
409     * returned the last entity from a given query, the first entity from the
410     * next query will be returned and {@link #activeQueries()} decremented.
411     * Since this method only returns the entity itself, a single call to
412     * {@link #currentMetadata()} may follow this call to gather the extra
413     * metadata which is returned in the map via {@link #results}.
414     *
415     * @throws ApiUsageException
416     *             if there are no active queries or if
417     */
418    <T extends IObject> T next() throws ApiUsageException;
419
420    /**
421     * Provides access to the extra query information (for example Lucene score
422     * and boost values) for a single call to {@link #next()}. This method may
423     * only be called once for any given call to {@link #next()}.
424     */
425    List<Annotation> currentMetadata();
426
427    /**
428     * Unsupported operation.
429     */
430    void remove() throws UnsupportedOperationException;
431
432    /**
433     * Returns up to {@link #getBatchSize() batch size} number of results along
434     * with the related query metadata. If
435     * {@link #isMergedBatched() batches are merged} then the results from
436     * multiple queries may be returned together.
437     */
438    <T extends IObject> Map<T, List<Annotation>> results();
439
440}
+ +
+
+ +
+

1.3.2-PRO © 2008-2010 + agile42 all + rights reserved + (this page was served in: 0.103824 sec.) +

+
+
+ +
+ + + We're Hiring! + + + +
+ + \ No newline at end of file diff --git a/docs/testing_scenarios/downloads/VirtualMachine01.txt b/docs/testing_scenarios/downloads/VirtualMachine01.txt new file mode 100644 index 0000000..b686cd3 --- /dev/null +++ b/docs/testing_scenarios/downloads/VirtualMachine01.txt @@ -0,0 +1,3 @@ +================================================================================ +OMERO Diagnostics $OMERO_Version +================================================================================ diff --git a/docs/testing_scenarios/downloads/VirtualMachine02.txt b/docs/testing_scenarios/downloads/VirtualMachine02.txt new file mode 100644 index 0000000..e8903a0 --- /dev/null +++ b/docs/testing_scenarios/downloads/VirtualMachine02.txt @@ -0,0 +1,52 @@ +Commands: java -version 1.6.0 (/usr/bin/java) +Commands: python -V 2.6.6 (/usr/bin/python) +Commands: icegridnode --version 3.3.1 (/usr/bin/icegridnode) +Commands: icegridadmin --version 3.3.1 (/usr/bin/icegridadmin) +Commands: psql --version 8.4.8 (/usr/bin/psql -- 2 others) + +Server: icegridnode running +Server: Blitz-0 active (pid = 982, enabled) +Server: DropBox active (pid = 1249, enabled) +Server: FileServer active (pid = 996, enabled) +Server: Indexer-0 active (pid = 1002, enabled) +Server: MonitorServer active (pid = 1003, enabled) +Server: OMERO.Glacier2 active (pid = 1004, enabled) +Server: OMERO.IceStorm active (pid = 1005, enabled) +Server: PixelData-0 active (pid = 1006, enabled) +Server: Processor-0 active (pid = 1007, enabled) +Server: Tables-0 active (pid = 1010, enabled) +Server: TestDropBox inactive (enabled) + +Log dir: /home/omero/OMERO.server/var/log exists + +Log files: .Blitz-0.log.swp 16.0 KB +Log files: Blitz-0.log 165.0 KB errors=6 warnings=6 +Log files: DropBox.log 8.0 KB errors=2 warnings=3 +Log files: FileServer.log 1.0 KB +Log files: Indexer-0.log 66.0 KB errors=2 warnings=1 +Log files: MonitorServer.log 4.0 KB errors=0 warnings=2 +Log files: OMEROweb.log 0.0 KB +Log files: PixelData-0.log 17.0 KB errors=2 warnings=0 +Log files: Processor-0.log 4.0 KB errors=0 warnings=1 +Log files: Tables-0.log 4.0 KB errors=0 warnings=1 +Log files: TestDropBox.log n/a +Log files: master.err 2.0 KB +Log files: master.out 0.0 KB +Log files: Total size 0.29 MB + +Parsing Blitz-0.log:[line:105] => Server restarted <= +Parsing Blitz-0.log:[line:486] => Server restarted <= +Parsing Blitz-0.log:[line:684] Your postgres hostname and/or port is invalid +Parsing Blitz-0.log:[line:783] => Server restarted <= +Parsing Blitz-0.log:[line:1082] => Server restarted <= + +Environment:OMERO_HOME=(unset) +Environment:OMERO_NODE=(unset) +Environment:OMERO_MASTER=(unset) +Environment:PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/jvm/java-6-sun/bin:/usr/lib/jvm/java-6-sun/bin:/usr/share/Ice-3.3.1:/usr/lib/postgresql/8.4/bin:/home/omero/OMERO.server/bin +Environment:ICE_HOME=/usr/share/Ice-3.3.1 +Environment:LD_LIBRARY_PATH=/usr/share/java:/usr/lib: +Environment:DYLD_LIBRARY_PATH=/usr/share/java:/usr/lib: + +OMERO data dir: '/home/omero/OMERO.data' Exists? True Is writable? True +OMERO.web status... [NOT STARTED] \ No newline at end of file diff --git a/docs/testing_scenarios/downloads/check_path.txt b/docs/testing_scenarios/downloads/check_path.txt new file mode 100644 index 0000000..382ef27 --- /dev/null +++ b/docs/testing_scenarios/downloads/check_path.txt @@ -0,0 +1,4 @@ +omero@gretzky:/$ cd OMERO/ManagedRepository/user-6-7-1411389817/2013-02/15/ +omero@gretzky:/OMERO/ManagedRepository/user-6-7-1411389817/2013-02/15$ cd petr/Desktop/dv +omero@gretzky:/OMERO/ManagedRepository/user-6-7-1411389817/2013-02/15/petr/Desktop/dv$ ls +CFPNEAT01_R3D.dv CFPNEAT01_R3D.dv.log diff --git a/docs/testing_scenarios/downloads/create_share.py b/docs/testing_scenarios/downloads/create_share.py new file mode 100755 index 0000000..15e8fdf --- /dev/null +++ b/docs/testing_scenarios/downloads/create_share.py @@ -0,0 +1,25 @@ +#! /usr/bin/python + +from datetime import datetime, timedelta +from omero.gateway import BlitzGateway +from omero.cli import cli_login +import omero.model +from omero.rtypes import rtime +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument('target_user') +parser.add_argument('images', nargs='+') +args = parser.parse_args() + +with cli_login() as cli: + conn = BlitzGateway(client_obj=cli._client) + + target_user = conn.getAdminService().lookupExperimenter(args.target_user) + members = [omero.model.ExperimenterI(target_user.id.val, False)] + images = [omero.model.ImageI(i, False) for i in args.images] + tomorrow = (datetime.now() + timedelta(days=1)) + epoch = datetime.utcfromtimestamp(0) + expiration = rtime((tomorrow- epoch).total_seconds() * 1000.0) + conn.getShareService().createShare( + 'test', expiration, images, members, [], True) diff --git a/docs/testing_scenarios/downloads/inplace/advanced-help.txt b/docs/testing_scenarios/downloads/inplace/advanced-help.txt new file mode 100644 index 0000000..4fe0238 --- /dev/null +++ b/docs/testing_scenarios/downloads/inplace/advanced-help.txt @@ -0,0 +1,52 @@ +ADVANCED OPTIONS: + + These options are not intended for general use. Make sure you have read the + documentation regarding them. They may change in future releases. + + In-place imports: + ----------------- + + --transfer=ARG File transfer method + + General options: + upload # Default + some.class.Name # Use a class on the CLASSPATH. + + Server-side options: + ln # Use hard-link. + ln_s # Use soft-link. + ln_rm # Caution! Hard-link followed by source deletion. + + + ex. $ bin/omero import -- --transfer=ln_s foo.tiff + $ ./importer-cli --transfer=ln bar.tiff + $ CLASSPATH=mycode.jar ./importer-cli --transfer=com.example.MyTransfer baz.tiff + + Background imports: + ------------------- + + --minutes_wait=ARG Choose how long the importer will wait on server-side processing. + ARG > 0 implies the number of minutes to wait. + ARG = 0 exits immediately. Use a *_completed option to clean up. + ARG < 0 waits indefinitely. This is the default. + + --close_completed Close completed imports. + + --wait_completed Wait for all background imports to complete. + + + ex. $ bin/omero import -- --minutes_wait=0 file1.tiff file2.tiff file3.tiff + $ ./importer-cli --minutes_wait=0 some_directory/ + $ ./importer-cli --wait_completed # Waits on all 3 imports. + + Import speed: + ------------- + + --checksum_algorithm=ARG Choose a possibly faster algorithm for detecting file corruption, + e.g. Adler-32 (fast), CRC-32 (fast), MD5-128, + Murmur3-32, Murmur3-128, SHA1-160 (slow, default) + + ex. $ bin/omero import --checksum_algorithm=CRC-32 foo.tiff + $ ./importer-cli --checksum_algorithm=Murmur3-128 bar.tiff + +Report bugs to diff --git a/docs/testing_scenarios/downloads/inplace/background-import.txt b/docs/testing_scenarios/downloads/inplace/background-import.txt new file mode 100644 index 0000000..0ac4477 --- /dev/null +++ b/docs/testing_scenarios/downloads/inplace/background-import.txt @@ -0,0 +1,12 @@ +$ bin/omero import /tmp/my-file.dv -- --minutes_wait=0 +... +2014-01-27 13:34:05 - FILESET_UPLOAD_START +2014-01-27 13:34:05 - Transferring /home/demo/my-file.dv... +2014-01-27 13:34:05 - FILE_UPLOAD_STARTED: /home/demo/my-file.dv +2014-01-27 13:34:05 - FILE_UPLOAD_COMPLETE: /home/demo/my-file.dv +2014-01-27 13:34:05 - FILESET_UPLOAD_END +2014-01-27 13:34:05 - Disconnecting from import process... +... later ... +$ bin/omero import -- --close_completed +... +2014-01-27 13:35:12 - Done: 007eb448-e3e1-475c-9920-e8523e562436/08150903-da21-4fba-a1ae-b3c1dd3ee71b-ManagedImportProcessI diff --git a/docs/testing_scenarios/downloads/inplace/hard-link-failure.txt b/docs/testing_scenarios/downloads/inplace/hard-link-failure.txt new file mode 100644 index 0000000..7672518 --- /dev/null +++ b/docs/testing_scenarios/downloads/inplace/hard-link-failure.txt @@ -0,0 +1,53 @@ +...[ main] INFO ome.formats.importer.ImportConfig - OMERO Version: 5.0.0-rc1-DEV-ice35 +...[ main] INFO ome.formats.importer.ImportConfig - Bioformats version: 5.0.0-rc1-DEV-ice35 revision: 101008f date: 31 January 2014 +...[ main] INFO formats.importer.cli.CommandLineImporter - Setting transfer to ln +...[ main] INFO formats.importer.cli.CommandLineImporter - Log levels -- Bio-Formats: ERROR OMERO.importer: INFO +...[ main] INFO ome.formats.importer.ImportCandidates - Depth: 4 Metadata Level: MINIMUM +...[ main] INFO ome.formats.importer.ImportCandidates - 1 file(s) parsed into 1 group(s) with 1 call(s) to setId in 96ms. (98ms total) [0 unknowns] +...[ main] INFO ome.formats.OMEROMetadataStoreClient - Attempting initial SSL connection to localhost:4064 +...[ main] INFO ome.formats.OMEROMetadataStoreClient - Insecure connection requested, falling back +...[ main] INFO ome.formats.OMEROMetadataStoreClient - Server: 5.0.0 +...[ main] INFO ome.formats.OMEROMetadataStoreClient - Client: 5.0.0-rc1-DEV-ice35 +...[ main] INFO ome.formats.OMEROMetadataStoreClient - Java Version: 1.7.0_51 +...[ main] INFO ome.formats.OMEROMetadataStoreClient - OS Name: Linux +...[ main] INFO ome.formats.OMEROMetadataStoreClient - OS Arch: amd64 +...[ main] INFO ome.formats.OMEROMetadataStoreClient - OS Version: 3.8.0-27-generic +...[ main] INFO ormats.importer.cli.LoggingImportMonitor - FILESET_UPLOAD_PREPARATION +...[ main] INFO ome.formats.importer.ImportConfig - OMERO Version: 5.0.0-rc1-DEV-ice35 +...[ main] INFO ome.formats.importer.ImportConfig - Bioformats version: 5.0.0-rc1-DEV-ice35 revision: 101008f date: 31 January 2014 +...[ main] INFO ormats.importer.cli.LoggingImportMonitor - FILESET_UPLOAD_START +...[ main] INFO .importer.transfers.HardlinkFileTransfer - Transferring /tmp/a.fake... +...[ main] INFO ormats.importer.cli.LoggingImportMonitor - FILE_UPLOAD_STARTED: /tmp/a.fake +...[ main] ERROR .importer.transfers.HardlinkFileTransfer - transfer process returned 1 +...[ main] ERROR .importer.transfers.HardlinkFileTransfer - error in closing raw file store +omero.ResourceError: null + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.7.0_51] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_51] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_51] + at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[na:1.7.0_51] + at java.lang.Class.newInstance(Class.java:374) ~[na:1.7.0_51] + at IceInternal.BasicStream.createUserException(BasicStream.java:2615) ~[ice.jar:na] + at IceInternal.BasicStream.access$300(BasicStream.java:12) ~[ice.jar:na] + at IceInternal.BasicStream$EncapsDecoder10.throwException(BasicStream.java:3099) ~[ice.jar:na] + at IceInternal.BasicStream.throwException(BasicStream.java:2077) ~[ice.jar:na] + at IceInternal.Outgoing.throwUserException(Outgoing.java:538) ~[ice.jar:na] + at omero.api._RawFileStoreDelM.close(_RawFileStoreDelM.java:466) ~[blitz.jar:na] + at omero.api.RawFileStorePrxHelper.close(RawFileStorePrxHelper.java:1739) ~[blitz.jar:na] + at omero.api.RawFileStorePrxHelper.close(RawFileStorePrxHelper.java:1701) ~[blitz.jar:na] + at ome.formats.importer.transfers.AbstractFileTransfer.cleanupUpload(AbstractFileTransfer.java:123) ~[blitz.jar:na] + at ome.formats.importer.transfers.AbstractExecFileTransfer.transfer(AbstractExecFileTransfer.java:63) [blitz.jar:na] + at ome.formats.importer.ImportLibrary.uploadFile(ImportLibrary.java:410) [blitz.jar:na] + at ome.formats.importer.ImportLibrary.importImage(ImportLibrary.java:465) [blitz.jar:na] + at ome.formats.importer.ImportLibrary.importCandidates(ImportLibrary.java:274) [blitz.jar:na] + at ome.formats.importer.cli.CommandLineImporter.start(CommandLineImporter.java:218) [blitz.jar:na] + at ome.formats.importer.cli.CommandLineImporter.main(CommandLineImporter.java:658) [blitz.jar:na] +2014-01-31 12:59:20,338 3152 [ main] ERROR ome.formats.importer.ImportLibrary - Error on import +java.lang.RuntimeException: transfer process returned 1 + at ome.formats.importer.transfers.AbstractExecFileTransfer.exec(AbstractExecFileTransfer.java:137) ~[blitz.jar:na] + at ome.formats.importer.transfers.AbstractExecFileTransfer.transfer(AbstractExecFileTransfer.java:57) ~[blitz.jar:na] + at ome.formats.importer.ImportLibrary.uploadFile(ImportLibrary.java:410) ~[blitz.jar:na] + at ome.formats.importer.ImportLibrary.importImage(ImportLibrary.java:465) ~[blitz.jar:na] + at ome.formats.importer.ImportLibrary.importCandidates(ImportLibrary.java:274) ~[blitz.jar:na] + at ome.formats.importer.cli.CommandLineImporter.start(CommandLineImporter.java:218) [blitz.jar:na] + at ome.formats.importer.cli.CommandLineImporter.main(CommandLineImporter.java:658) [blitz.jar:na] +2014-01-31 12:59:20,338 3152 [ main] INFO ome.formats.importer.ImportLibrary - Exiting on error diff --git a/docs/testing_scenarios/downloads/inplace/soft-link-example.txt b/docs/testing_scenarios/downloads/inplace/soft-link-example.txt new file mode 100644 index 0000000..79c0732 --- /dev/null +++ b/docs/testing_scenarios/downloads/inplace/soft-link-example.txt @@ -0,0 +1,35 @@ +Using session bba923bb-cf0c-4cf0-80c5-a309be523ad8 (root@localhost:4064). Idle timeout: 10.0 min. Current group: system +...[ main] INFO ome.formats.importer.ImportConfig - OMERO Version: 5.0.0-rc1-DEV-ice35 +...[ main] INFO ome.formats.importer.ImportConfig - Bioformats version: 5.0.0-rc1-DEV-ice35 revision: 101008f date: 31 January 2014 +...[ main] INFO formats.importer.cli.CommandLineImporter - Setting transfer to ln_s +...[ main] INFO formats.importer.cli.CommandLineImporter - Log levels -- Bio-Formats: ERROR OMERO.importer: INFO +...[ main] INFO ome.formats.importer.ImportCandidates - Depth: 4 Metadata Level: MINIMUM +...[ main] INFO ome.formats.importer.ImportCandidates - 1 file(s) parsed into 1 group(s) with 1 call(s) to setId in 98ms. (100ms total) [0 unknowns] +...[ main] INFO ome.formats.OMEROMetadataStoreClient - Attempting initial SSL connection to localhost:4064 +...[ main] INFO ome.formats.OMEROMetadataStoreClient - Insecure connection requested, falling back +...[ main] INFO ome.formats.OMEROMetadataStoreClient - Server: 5.0.0 +...[ main] INFO ome.formats.OMEROMetadataStoreClient - Client: 5.0.0-rc1-DEV-ice35 +...[ main] INFO ome.formats.OMEROMetadataStoreClient - Java Version: 1.7.0_51 +...[ main] INFO ome.formats.OMEROMetadataStoreClient - OS Name: Linux +...[ main] INFO ome.formats.OMEROMetadataStoreClient - OS Arch: amd64 +...[ main] INFO ome.formats.OMEROMetadataStoreClient - OS Version: 3.8.0-27-generic +...[ main] INFO ormats.importer.cli.LoggingImportMonitor - FILESET_UPLOAD_PREPARATION +...[ main] INFO ome.formats.importer.ImportConfig - OMERO Version: 5.0.0-rc1-DEV-ice35 +...[ main] INFO ome.formats.importer.ImportConfig - Bioformats version: 5.0.0-rc1-DEV-ice35 revision: 101008f date: 31 January 2014 +...[ main] INFO ormats.importer.cli.LoggingImportMonitor - FILESET_UPLOAD_START +...[ main] INFO s.importer.transfers.SymlinkFileTransfer - Transferring /tmp/a.fake... +...[ main] INFO ormats.importer.cli.LoggingImportMonitor - FILE_UPLOAD_STARTED: /tmp/a.fake +...[ main] INFO ormats.importer.cli.LoggingImportMonitor - FILE_UPLOAD_COMPLETE: /tmp/a.fake +...[ main] INFO ormats.importer.cli.LoggingImportMonitor - FILESET_UPLOAD_END +...[l.Client-1] INFO ormats.importer.cli.LoggingImportMonitor - METADATA_IMPORTED Step: 1 of 5 Logfile: 24605 +...[l.Client-0] INFO ormats.importer.cli.LoggingImportMonitor - PIXELDATA_PROCESSED Step: 2 of 5 Logfile: 24605 +...[l.Client-1] INFO ormats.importer.cli.LoggingImportMonitor - THUMBNAILS_GENERATED Step: 3 of 5 Logfile: 24605 +...[l.Client-0] INFO ormats.importer.cli.LoggingImportMonitor - METADATA_PROCESSED Step: 4 of 5 Logfile: 24605 +...[l.Client-1] INFO ormats.importer.cli.LoggingImportMonitor - OBJECTS_RETURNED Step: 5 of 5 Logfile: 24605 +...[l.Client-0] INFO ormats.importer.cli.LoggingImportMonitor - IMPORT_DONE Imported file: /tmp/a.fake +Imported pixels: +5001 +Other imported objects: +Fileset:4102 +Image:5001 +...[l.Client-0] INFO ome.formats.importer.cli.ErrorHandler - Number of errors: 0 diff --git a/docs/testing_scenarios/downloads/inplace/soft-link-listing.txt b/docs/testing_scenarios/downloads/inplace/soft-link-listing.txt new file mode 100644 index 0000000..b559200 --- /dev/null +++ b/docs/testing_scenarios/downloads/inplace/soft-link-listing.txt @@ -0,0 +1,3 @@ +/OMERO/ManagedRepository/root_0/2014-01/24/10-11-14.947$ ls -ltra +total 8 +lrwxrwxrwx 1 omero omero 11 Jan 24 10:11 my-file.dv -> /home/demo/my-file.dv diff --git a/docs/testing_scenarios/downloads/pop_roi_output.txt b/docs/testing_scenarios/downloads/pop_roi_output.txt new file mode 100644 index 0000000..7e1e7b0 --- /dev/null +++ b/docs/testing_scenarios/downloads/pop_roi_output.txt @@ -0,0 +1,8 @@ +Password: +INFO:omero.util.Resources:Starting +INFO:omero.util.populate_roi:Parsing: Well0001_mode1_z000_t000_detail_2008-09-18-10h48m54s.txt +INFO:omero.util.populate_roi:Downloading original file: 747 +INFO:omero.util.populate_roi:Batch 1 ROI update took 808ms +INFO:omero.util.populate_roi:Created new table: 1252 +INFO:omero.util.populate_roi:Table update took 47ms +INFO:omero.util.Resources:Halted diff --git a/docs/testing_scenarios/downloads/rapid.xml b/docs/testing_scenarios/downloads/rapid.xml new file mode 100644 index 0000000..28dc4ff --- /dev/null +++ b/docs/testing_scenarios/downloads/rapid.xml @@ -0,0 +1,146 @@ + + + + + + + + + escience2.inf.ed.ac.uk + + + username + + + password + + + + + + + + + 53 + + + + /usr/bin/mpirun -np $NSLOTS $EXECUTABLE + + + + omerocluster + + + + + sftp://escience3.inf.ed.ac.uk/ + username + password + + + + + + + + + + + + + + + + + + + /usr + cluster + + + + Perform Flim Analysis + + + Hostname + + + + Username + + + + Password + + + + Control Dataset Id + + + + Experiment Dataset Id + + + + IRF File ID + + + + + + + + + + + + Job Monitor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/testing_scenarios/downloads/requirements.txt b/docs/testing_scenarios/downloads/requirements.txt new file mode 100644 index 0000000..691e521 --- /dev/null +++ b/docs/testing_scenarios/downloads/requirements.txt @@ -0,0 +1,2 @@ +sphinx==5.3.0 +sphinx_rtd_theme==1.1.1 diff --git a/docs/testing_scenarios/downloads/socks-off b/docs/testing_scenarios/downloads/socks-off new file mode 100755 index 0000000..0cf632e --- /dev/null +++ b/docs/testing_scenarios/downloads/socks-off @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "Resetting Network Settings" + +networksetup listallnetworkservices|grep -v "*"|while read device +do + echo "$device" + sudo networksetup -setsocksfirewallproxy "$device" empty + sudo networksetup -setsocksfirewallproxystate "$device" off +done diff --git a/docs/testing_scenarios/downloads/socks-on b/docs/testing_scenarios/downloads/socks-on new file mode 100755 index 0000000..9ec0ef2 --- /dev/null +++ b/docs/testing_scenarios/downloads/socks-on @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "Setting up Socks Network" + +networksetup listallnetworkservices|grep -v "*"|while read device +do + echo "$device" + sudo networksetup -setsocksfirewallproxy "$device" localhost 1080 +done + diff --git a/docs/testing_scenarios/downloads/ubuntu-omero-install.sh b/docs/testing_scenarios/downloads/ubuntu-omero-install.sh new file mode 100644 index 0000000..332cfb3 --- /dev/null +++ b/docs/testing_scenarios/downloads/ubuntu-omero-install.sh @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + ubuntu-omero-install.sh on FLIM – Attachment + – OME + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

FLIM: ubuntu-omero-install.sh

+ + + + + + + + + +
File ubuntu-omero-install.sh, + 1.8 KB + (added by dzmacdonald, 19 months ago)
+

+ubuntu-omero-install.sh +

+ +
+
+ +
Line 
1#!/bin/bash
2
3OMERO_VERSION=${OMERO_VERSION:-"$1"}
4OMERO_VERSION=${OMERO_VERSION:-"OMERO4.2"}
5
6OMERO_PATCH=${OMERO_PATCH:-"$2"}
7OMERO_PATCH=${OMERO_PATCH:-"0"}
8
9OMERO_DB_USER=${OMERO_DB_USER:-"$3"}
10OMERO_DB_USER=${OMERO_DB_USER:-"omero"}
11
12OMERO_DB_NAME=${OMERO_DB_NAME:-"$4"}
13OMERO_DB_NAME=${OMERO_DB_NAME:-"omero"}
14
15PASSWORD=${PASSWORD:-"$5"}
16PASSWORD=${PASSWORD:-"ome"}
17
18PGPASSWORD=${PGPASSWORD:-"$PASSWORD"}
19
20OMERODIR=${OMERODIR:-"$6"}
21OMERODIR=${OMERODIR:-"/opt"}
22
23OMERODATADIR=${OMERODIR:-"$7"}
24OMERODATADIR=${OMERODIR:-"/opt/OMERO"}
25
26REVISION=${REVISION:-"$8"}
27REVISION=${REVISION:-"HEAD"}
28
29set -e
30set -u
31set -x
32
33# If NOBUILD exists, then we don't refresh
34# the OMERO installations in the guest,
35# assuming they are still valid.
36if test ! -e "$HOME/NOBUILD";
37then
38
39    ##
40    # Checkout Insight
41    #
42    if test -e $OMERODIR/Client/Insight;
43    then
44        cd $OMERODIR/Client/Insight
45        svn up
46        cd build
47        java build clean
48    else
49        svn co http://svn.openmicroscopy.org.uk/svn/shoola/trunk $OMERODIR/Client/Insight
50    fi
51    cd $OMERODIR/Client/Insight/build
52    java build
53    cd $HOME
54
55    ##
56    # Check out OMERO
57    #
58    if test -e $OMERODIR/Server/omero;
59    then
60        cd $OMERODIR/Server/omero
61        if test -e dist;
62        then
63            dist/bin/omero admin stop
64        fi
65        svn up
66        ./build.py clean
67    else
68        svn co http://svn.openmicroscopy.org.uk/svn/omero/trunk@$REVISION $OMERODIR/Server/omero
69    fi
70    cd $OMERODIR/Server/omero
71    python build.py
72    cd $HOME
73
74    ##
75    # Install CellProfiler
76    #
77
78    if test -e $OMERODIR/Client/cellprofiler;
79    then
80        cd $OMERODIR/Client/cellprofiler
81        svn up
82    else
83        yes "p" | svn co https://svnrepos.broadinstitute.org/CellProfiler/trunk/CellProfiler/ $OMERODIR/Client/cellprofiler
84    fi
85
86fi
+ +
+
+ +
+

1.3.2-PRO © 2008-2010 + agile42 all + rights reserved + (this page was served in: 0.46542 sec.) +

+
+
+ +
+ + + We're Hiring! + + + +
+ + \ No newline at end of file diff --git a/docs/testing_scenarios/downloads/ubuntu-root-install.sh b/docs/testing_scenarios/downloads/ubuntu-root-install.sh new file mode 100644 index 0000000..e5356ef --- /dev/null +++ b/docs/testing_scenarios/downloads/ubuntu-root-install.sh @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + ubuntu-root-install.sh on FLIM – Attachment + – OME + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

FLIM: ubuntu-root-install.sh

+ + + + + + + + + +
File ubuntu-root-install.sh, + 2.2 KB + (added by dzmacdonald, 19 months ago)
+

+ubuntu-root-install.sh +

+ +
+
+ +
Line 
1#!/bin/bash
2
3OMERODIR=${OMERODIR:-"$1"}
4OMERODIR=${OMERODIR:-"/"}
5
6OMERODATADIR=${OMERODATADIR:-"$2"}
7OMERODATADIR=${OMERODATADIR:-"/OMERO"}
8
9set -e
10set -u
11set -x
12
13##
14# Setup Java sources in Ubuntu
15#
16add_sources(){
17    echo "$1" | sudo tee -a /etc/apt/sources.list
18}
19add_sources "deb http://archive.canonical.com/ubuntu lucid partner"
20add_sources "deb-src http://archive.canonical.com/ubuntu lucid partner"
21
22##
23# Update core system and apt-cache
24#
25aptitude --assume-yes update
26aptitude --assume-yes dist-upgrade
27
28##
29# Install Core applications
30#
31aptitude --assume-yes install build-essential
32aptitude --assume-yes install subversion
33
34##
35# Intall Java
36#
37echo sun-java6-jdk shared/accepted-sun-dlj-v1-1 select true | /usr/bin/debconf-set-selections
38echo sun-java6-jre shared/accepted-sun-dlj-v1-1 select true | /usr/bin/debconf-set-selections
39aptitude --assume-yes install java-package sun-java6-bin sun-java6-demo sun-java6-fonts sun-java6-jdk sun-java6-plugin sun-java6-jre sun-java6-source
40echo 'JAVA_HOME="/usr/lib/jvm/java-6-sun"' | sudo tee -a /etc/environment
41echo 'LD_LIBRARY_PATH="/usr/lib/jvm/java-6-sun/jre/lib/amd64/server"' | sudo tee -a /etc/bash.bashrc
42echo "export LD_LIBRARY_PATH" | sudo tee -a /etc/bash.bashrc
43
44
45##
46# Install Python
47#
48aptitude --assume-yes install cython python-numpy python-scipy python-setuptools python-numeric python-matplotlib python-wxgtk2.8 python-decorator python-mysqldb python-nose python-dev
49apt-get --assume-yes install python-distutils-extra
50apt-get --assume-yes install python-tables
51apt-get --assume-yes install python-imaging
52
53##
54# Install Ice
55#
56apt-get --assume-yes install zeroc-ice33
57
58##
59# Install Postgres
60#
61apt-get --assume-yes install postgresql
62
63##
64# Install X and Gnome
65#
66apt-get --assume-yes install gdm
67apt-get --assume-yes install xinit
68
69##
70# Install Apache, Django and webclient apps
71#
72apt-get --assume-yes install apache2
73#apt-get --assume-yes install python-django
74apt-get --assume-yes install libapache2-mod-fastcgi
75apt-get --assume-yes install links
76
77
78##
79# Install OMERO
80#
81
82
83##
84# Set up omero
85#
86mkdir -p $OMERODATADIR
87mkdir -p $OMERODIR/Client
88mkdir -p $OMERODIR/Server
89
90chown -R omero $OMERODATADIR
91chown -R omero $OMERODIR/Client
92chown -R omero $OMERODIR/Server
+ +
+
+ +
+

1.3.2-PRO © 2008-2010 + agile42 all + rights reserved + (this page was served in: 0.39257 sec.) +

+
+
+ +
+ + + We're Hiring! + + + +
+ + \ No newline at end of file diff --git a/docs/testing_scenarios/images/ome.svg b/docs/testing_scenarios/images/ome.svg new file mode 100644 index 0000000..ba8bf4c --- /dev/null +++ b/docs/testing_scenarios/images/ome.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/testing_scenarios/images/omero-logo.pdf b/docs/testing_scenarios/images/omero-logo.pdf new file mode 100644 index 0000000..a74b929 Binary files /dev/null and b/docs/testing_scenarios/images/omero-logo.pdf differ diff --git a/docs/testing_scenarios/images/omero-logo.svg b/docs/testing_scenarios/images/omero-logo.svg new file mode 100755 index 0000000..d3c8821 --- /dev/null +++ b/docs/testing_scenarios/images/omero-logo.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/001.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/001.png new file mode 100755 index 0000000..fa8074d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/002.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/002.png new file mode 100644 index 0000000..9cb9b76 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/003.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/003.png new file mode 100644 index 0000000..5cc7ca2 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/009.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/009.png new file mode 100644 index 0000000..17d4a4e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/010.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/010.png new file mode 100644 index 0000000..aab6a92 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/010.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/011.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/011.png new file mode 100644 index 0000000..e38503b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/011.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/012.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/012.png new file mode 100644 index 0000000..1138346 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/012.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/013.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/013.png new file mode 100644 index 0000000..a5182a5 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/013.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/014.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/014.png new file mode 100644 index 0000000..1f80afc Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/014.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/015.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/015.png new file mode 100644 index 0000000..b7782a4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/015.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/016.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/016.png new file mode 100644 index 0000000..b273276 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/016.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/017.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/017.png new file mode 100644 index 0000000..79d132e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/017.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/018.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/018.png new file mode 100644 index 0000000..8f734c3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/018.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/019.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/019.png new file mode 100644 index 0000000..9f984eb Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/019.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/020.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/020.png new file mode 100644 index 0000000..df54a0a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/020.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/021.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/021.png new file mode 100644 index 0000000..32f1c19 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/021.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple001.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple001.png new file mode 100644 index 0000000..b0355bf Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple002.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple002.png new file mode 100644 index 0000000..3ca17dc Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple003.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple003.png new file mode 100644 index 0000000..a3b2833 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple004.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple004.png new file mode 100644 index 0000000..c0725b3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple005.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple005.png new file mode 100644 index 0000000..61674e3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple006.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple006.png new file mode 100644 index 0000000..3027e90 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple007.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple007.png new file mode 100644 index 0000000..ad151ef Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple008.png b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple008.png new file mode 100644 index 0000000..7933e18 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Annotate/multiple008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/001.png b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/001.png new file mode 100644 index 0000000..af1355c Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/001a.png b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/001a.png new file mode 100644 index 0000000..428df9a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/001a.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/001b.png b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/001b.png new file mode 100644 index 0000000..f189612 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/001b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/002.png b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/002.png new file mode 100644 index 0000000..66fd251 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/003.png b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/003.png new file mode 100644 index 0000000..819711e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/004.png b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/004.png new file mode 100644 index 0000000..1ea66a2 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/005.png b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/005.png new file mode 100755 index 0000000..c89533f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BrowseFilterPreview/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/001.png b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/001.png new file mode 100644 index 0000000..b7e7e23 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/001Nout.png b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/001Nout.png new file mode 100644 index 0000000..b39618f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/001Nout.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/002NWeb.png b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/002NWeb.png new file mode 100644 index 0000000..9d30e14 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/002NWeb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/004NWeb.png b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/004NWeb.png new file mode 100644 index 0000000..cc16f46 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/004NWeb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/005NWeb.png b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/005NWeb.png new file mode 100644 index 0000000..fd73878 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/005NWeb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/006.png b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/006.png new file mode 100644 index 0000000..30ff0b1 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/007.png b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/007.png new file mode 100644 index 0000000..5786a80 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/BulkAnnotations/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/001in.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/001in.png new file mode 100644 index 0000000..faa8f0d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/001in.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002in.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002in.png new file mode 100644 index 0000000..0e99c64 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002in.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002ina.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002ina.png new file mode 100644 index 0000000..565f301 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002ina.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002w.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002w.png new file mode 100644 index 0000000..0d325bc Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002w.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002wa.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002wa.png new file mode 100644 index 0000000..b87d4fb Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/002wa.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/003in.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/003in.png new file mode 100644 index 0000000..5adab32 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/003in.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/003w.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/003w.png new file mode 100644 index 0000000..78029ad Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/003w.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/004.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/004.png new file mode 100644 index 0000000..e2146ed Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/004a.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/004a.png new file mode 100644 index 0000000..5c71c81 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/004a.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/005.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/005.png new file mode 100644 index 0000000..6140e0c Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/005a.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/005a.png new file mode 100644 index 0000000..808abfd Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/005a.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/006.png b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/006.png new file mode 100644 index 0000000..b6df50c Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/CheckFilePathFS/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ConnectionErrorHandling/001.png b/docs/testing_scenarios/images/testing_scenarios/ConnectionErrorHandling/001.png new file mode 100755 index 0000000..d467969 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ConnectionErrorHandling/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ConnectionErrorHandling/002.png b/docs/testing_scenarios/images/testing_scenarios/ConnectionErrorHandling/002.png new file mode 100755 index 0000000..ba6f3d6 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ConnectionErrorHandling/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ConnectionErrorHandling/003.png b/docs/testing_scenarios/images/testing_scenarios/ConnectionErrorHandling/003.png new file mode 100755 index 0000000..d731ea9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ConnectionErrorHandling/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Create/001.png b/docs/testing_scenarios/images/testing_scenarios/Create/001.png new file mode 100755 index 0000000..f07ff12 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Create/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Create/002.png b/docs/testing_scenarios/images/testing_scenarios/Create/002.png new file mode 100644 index 0000000..30c9e61 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Create/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Create/003.png b/docs/testing_scenarios/images/testing_scenarios/Create/003.png new file mode 100644 index 0000000..accaa91 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Create/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Create/004.png b/docs/testing_scenarios/images/testing_scenarios/Create/004.png new file mode 100755 index 0000000..3672dd7 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Create/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Create/005.png b/docs/testing_scenarios/images/testing_scenarios/Create/005.png new file mode 100755 index 0000000..b3d30ff Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Create/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/001.png b/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/001.png new file mode 100755 index 0000000..d81919a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/002.png b/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/002.png new file mode 100755 index 0000000..de6f180 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/002b.png b/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/002b.png new file mode 100755 index 0000000..da3af1e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/002b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/003.png b/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/003.png new file mode 100755 index 0000000..39f41b4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/004.png b/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/004.png new file mode 100755 index 0000000..c8ef73f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DeAnnotateUnlink/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/001.png b/docs/testing_scenarios/images/testing_scenarios/Delete/001.png new file mode 100644 index 0000000..e4db6b0 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/002.png b/docs/testing_scenarios/images/testing_scenarios/Delete/002.png new file mode 100644 index 0000000..cd91791 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/003.png b/docs/testing_scenarios/images/testing_scenarios/Delete/003.png new file mode 100644 index 0000000..4bd010e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/004.png b/docs/testing_scenarios/images/testing_scenarios/Delete/004.png new file mode 100644 index 0000000..5afab84 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/005.png b/docs/testing_scenarios/images/testing_scenarios/Delete/005.png new file mode 100644 index 0000000..218fa26 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/006.png b/docs/testing_scenarios/images/testing_scenarios/Delete/006.png new file mode 100755 index 0000000..073fcba Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/007.png b/docs/testing_scenarios/images/testing_scenarios/Delete/007.png new file mode 100755 index 0000000..1e0de78 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/008.png b/docs/testing_scenarios/images/testing_scenarios/Delete/008.png new file mode 100755 index 0000000..36dd2b6 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/009.png b/docs/testing_scenarios/images/testing_scenarios/Delete/009.png new file mode 100644 index 0000000..f22016f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/010.png b/docs/testing_scenarios/images/testing_scenarios/Delete/010.png new file mode 100644 index 0000000..9e46bae Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/010.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/011.png b/docs/testing_scenarios/images/testing_scenarios/Delete/011.png new file mode 100644 index 0000000..ac6d23f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/011.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/012.png b/docs/testing_scenarios/images/testing_scenarios/Delete/012.png new file mode 100644 index 0000000..ce36e3e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/012.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/013.png b/docs/testing_scenarios/images/testing_scenarios/Delete/013.png new file mode 100644 index 0000000..89ef482 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/013.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/014.png b/docs/testing_scenarios/images/testing_scenarios/Delete/014.png new file mode 100644 index 0000000..b3bd9db Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/014.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/015.png b/docs/testing_scenarios/images/testing_scenarios/Delete/015.png new file mode 100644 index 0000000..3d7fa31 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/015.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Delete/016.png b/docs/testing_scenarios/images/testing_scenarios/Delete/016.png new file mode 100644 index 0000000..7a10d3a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Delete/016.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DeleteROI/001.png b/docs/testing_scenarios/images/testing_scenarios/DeleteROI/001.png new file mode 100755 index 0000000..887f316 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DeleteROI/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DeleteROI/002.png b/docs/testing_scenarios/images/testing_scenarios/DeleteROI/002.png new file mode 100755 index 0000000..8ce55ab Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DeleteROI/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/001.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/001.png new file mode 100755 index 0000000..2b44abe Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/002.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/002.png new file mode 100755 index 0000000..282efcc Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/003.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/003.png new file mode 100755 index 0000000..9970222 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/004.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/004.png new file mode 100755 index 0000000..9e5f1b4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/005.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/005.png new file mode 100755 index 0000000..faa1d66 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/006.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/006.png new file mode 100644 index 0000000..3069f0d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/007.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/007.png new file mode 100755 index 0000000..69f9479 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/007b.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/007b.png new file mode 100644 index 0000000..e4bcbc8 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/007b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/009.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/009.png new file mode 100755 index 0000000..2ae7726 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/010.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/010.png new file mode 100644 index 0000000..291516b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/010.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/010a.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/010a.png new file mode 100644 index 0000000..095d145 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/010a.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/010b.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/010b.png new file mode 100644 index 0000000..e794b53 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/010b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/011.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/011.png new file mode 100644 index 0000000..c6b4061 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/011.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/012.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/012.png new file mode 100755 index 0000000..4d70df9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/012.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013.png new file mode 100755 index 0000000..80dbdc8 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013b.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013b.png new file mode 100644 index 0000000..072f60b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013c.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013c.png new file mode 100644 index 0000000..3ba7578 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013c.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013d.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013d.png new file mode 100644 index 0000000..f2504ff Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013d.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013e.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013e.png new file mode 100644 index 0000000..ae2501d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013e.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013f.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013f.png new file mode 100644 index 0000000..01f3c8c Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013f.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013p.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013p.png new file mode 100644 index 0000000..daf78ad Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/013p.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/014.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/014.png new file mode 100755 index 0000000..6ffe79b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/014.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/015.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/015.png new file mode 100755 index 0000000..8e743fc Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/015.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/016.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/016.png new file mode 100644 index 0000000..609e13c Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/016.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/017.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/017.png new file mode 100644 index 0000000..f841d50 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/017.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/017b.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/017b.png new file mode 100644 index 0000000..cdcef9e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/017b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/017c.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/017c.png new file mode 100644 index 0000000..27a421b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/017c.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/018.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/018.png new file mode 100644 index 0000000..a30da09 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/018.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/019.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/019.png new file mode 100755 index 0000000..7d2b8f3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/019.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/020.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/020.png new file mode 100755 index 0000000..0a22657 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/020.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/021.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/021.png new file mode 100755 index 0000000..7db9e5f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/021.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/FS011.png b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/FS011.png new file mode 100644 index 0000000..443ee51 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/DownloadExportDowngrade/FS011.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/001.png b/docs/testing_scenarios/images/testing_scenarios/Edit/001.png new file mode 100755 index 0000000..29b0262 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/001N.png b/docs/testing_scenarios/images/testing_scenarios/Edit/001N.png new file mode 100644 index 0000000..ca7898a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/001N.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/001NN.png b/docs/testing_scenarios/images/testing_scenarios/Edit/001NN.png new file mode 100644 index 0000000..de8aa78 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/001NN.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/001NWeb.png b/docs/testing_scenarios/images/testing_scenarios/Edit/001NWeb.png new file mode 100644 index 0000000..644ade6 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/001NWeb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/002.png b/docs/testing_scenarios/images/testing_scenarios/Edit/002.png new file mode 100755 index 0000000..0687688 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/002N.png b/docs/testing_scenarios/images/testing_scenarios/Edit/002N.png new file mode 100644 index 0000000..901a17b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/002N.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/002NWeb.png b/docs/testing_scenarios/images/testing_scenarios/Edit/002NWeb.png new file mode 100644 index 0000000..571c32e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/002NWeb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/002Nb.png b/docs/testing_scenarios/images/testing_scenarios/Edit/002Nb.png new file mode 100644 index 0000000..70af541 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/002Nb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/003.png b/docs/testing_scenarios/images/testing_scenarios/Edit/003.png new file mode 100755 index 0000000..145ffd0 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/003N.png b/docs/testing_scenarios/images/testing_scenarios/Edit/003N.png new file mode 100644 index 0000000..31414f1 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/003N.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/003NWeb.png b/docs/testing_scenarios/images/testing_scenarios/Edit/003NWeb.png new file mode 100644 index 0000000..680d74d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/003NWeb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/004.png b/docs/testing_scenarios/images/testing_scenarios/Edit/004.png new file mode 100755 index 0000000..2da2945 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/004N.png b/docs/testing_scenarios/images/testing_scenarios/Edit/004N.png new file mode 100644 index 0000000..1102cd4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/004N.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/004NWeb.png b/docs/testing_scenarios/images/testing_scenarios/Edit/004NWeb.png new file mode 100644 index 0000000..65dcfa0 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/004NWeb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/005.png b/docs/testing_scenarios/images/testing_scenarios/Edit/005.png new file mode 100755 index 0000000..e16a881 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/005N.png b/docs/testing_scenarios/images/testing_scenarios/Edit/005N.png new file mode 100644 index 0000000..bfbe1de Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/005N.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/005NWeb.png b/docs/testing_scenarios/images/testing_scenarios/Edit/005NWeb.png new file mode 100644 index 0000000..5fe4302 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/005NWeb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/006.png b/docs/testing_scenarios/images/testing_scenarios/Edit/006.png new file mode 100755 index 0000000..593f310 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/006N.png b/docs/testing_scenarios/images/testing_scenarios/Edit/006N.png new file mode 100644 index 0000000..a66f4b2 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/006N.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/006NWeb.png b/docs/testing_scenarios/images/testing_scenarios/Edit/006NWeb.png new file mode 100644 index 0000000..e91117d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/006NWeb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/006Nb.png b/docs/testing_scenarios/images/testing_scenarios/Edit/006Nb.png new file mode 100644 index 0000000..b307102 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/006Nb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/006NbWeb.png b/docs/testing_scenarios/images/testing_scenarios/Edit/006NbWeb.png new file mode 100644 index 0000000..5c09d1e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/006NbWeb.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/007.png b/docs/testing_scenarios/images/testing_scenarios/Edit/007.png new file mode 100755 index 0000000..fa960f4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/008.png b/docs/testing_scenarios/images/testing_scenarios/Edit/008.png new file mode 100755 index 0000000..331e5d1 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/009.png b/docs/testing_scenarios/images/testing_scenarios/Edit/009.png new file mode 100644 index 0000000..1575c44 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Edit/010.png b/docs/testing_scenarios/images/testing_scenarios/Edit/010.png new file mode 100755 index 0000000..923c9f7 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Edit/010.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/001Insight.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/001Insight.png new file mode 100755 index 0000000..1067dca Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/001Insight.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/001Web.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/001Web.png new file mode 100755 index 0000000..3c66174 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/001Web.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/002Web.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/002Web.png new file mode 100755 index 0000000..3a860bf Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/002Web.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/002b.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/002b.png new file mode 100644 index 0000000..81edfc9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/002b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/003Web.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/003Web.png new file mode 100755 index 0000000..61489fe Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/003Web.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/004Web.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/004Web.png new file mode 100755 index 0000000..3a24d51 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/004Web.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/005Insight.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/005Insight.png new file mode 100755 index 0000000..0c04a73 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/005Insight.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/006Web.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/006Web.png new file mode 100644 index 0000000..9b3f8bb Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/006Web.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/00Web.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/00Web.png new file mode 100755 index 0000000..c7daf51 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/00Web.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/010.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/010.png new file mode 100644 index 0000000..9a152a3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/010.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/011Insight.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/011Insight.png new file mode 100644 index 0000000..e6a7815 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/011Insight.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/012Insight.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/012Insight.png new file mode 100644 index 0000000..bd8165e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserCreateAdmin/012Insight.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/001Insight.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/001Insight.png new file mode 100755 index 0000000..d8895fe Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/001Insight.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/002Web.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/002Web.png new file mode 100755 index 0000000..45a179d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/002Web.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/003Web.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/003Web.png new file mode 100755 index 0000000..38e8e88 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/003Web.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/004Insight.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/004Insight.png new file mode 100644 index 0000000..7120399 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/004Insight.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/004b.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/004b.png new file mode 100644 index 0000000..8fb1168 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/004b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/005Insight.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/005Insight.png new file mode 100755 index 0000000..2cc48f8 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/005Insight.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/006Web.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/006Web.png new file mode 100755 index 0000000..183bf6a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/006Web.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/008Web.png b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/008Web.png new file mode 100644 index 0000000..68d8c39 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/GroupUserEditAdmin/008Web.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportAs/001.png b/docs/testing_scenarios/images/testing_scenarios/ImportAs/001.png new file mode 100644 index 0000000..704eb26 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportAs/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportAs/002.png b/docs/testing_scenarios/images/testing_scenarios/ImportAs/002.png new file mode 100644 index 0000000..91ccc0b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportAs/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportAs/002b.png b/docs/testing_scenarios/images/testing_scenarios/ImportAs/002b.png new file mode 100644 index 0000000..398263b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportAs/002b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportAs/002c.png b/docs/testing_scenarios/images/testing_scenarios/ImportAs/002c.png new file mode 100644 index 0000000..91c0569 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportAs/002c.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportAs/002d.png b/docs/testing_scenarios/images/testing_scenarios/ImportAs/002d.png new file mode 100644 index 0000000..8f839a5 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportAs/002d.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportAs/004.png b/docs/testing_scenarios/images/testing_scenarios/ImportAs/004.png new file mode 100644 index 0000000..ad4f548 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportAs/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportAs/005.png b/docs/testing_scenarios/images/testing_scenarios/ImportAs/005.png new file mode 100644 index 0000000..b6a5c77 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportAs/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportAs/006.png b/docs/testing_scenarios/images/testing_scenarios/ImportAs/006.png new file mode 100644 index 0000000..63d204a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportAs/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportAs/007.png b/docs/testing_scenarios/images/testing_scenarios/ImportAs/007.png new file mode 100644 index 0000000..23449ae Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportAs/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportAs/Can Link user dataset.png b/docs/testing_scenarios/images/testing_scenarios/ImportAs/Can Link user dataset.png new file mode 100644 index 0000000..aa6014f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportAs/Can Link user dataset.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportCLI/002.png b/docs/testing_scenarios/images/testing_scenarios/ImportCLI/002.png new file mode 100755 index 0000000..4b1ce73 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportCLI/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportCLI/004.png b/docs/testing_scenarios/images/testing_scenarios/ImportCLI/004.png new file mode 100755 index 0000000..28fa359 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportCLI/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportCLI/005.png b/docs/testing_scenarios/images/testing_scenarios/ImportCLI/005.png new file mode 100755 index 0000000..4596394 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportCLI/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportCLI/006.png b/docs/testing_scenarios/images/testing_scenarios/ImportCLI/006.png new file mode 100755 index 0000000..7eea106 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportCLI/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/002.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/002.png new file mode 100755 index 0000000..6a2db8b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/002pub.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/002pub.png new file mode 100644 index 0000000..045790c Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/002pub.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/003.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/003.png new file mode 100755 index 0000000..ecdfe6a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/004.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/004.png new file mode 100755 index 0000000..e34e827 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/005.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/005.png new file mode 100644 index 0000000..b916123 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/005b.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/005b.png new file mode 100644 index 0000000..e9a5f4b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/005b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/005pub.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/005pub.png new file mode 100644 index 0000000..f8de928 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/005pub.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/006.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/006.png new file mode 100755 index 0000000..9eb49ff Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/007.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/007.png new file mode 100755 index 0000000..fb77587 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/008.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/008.png new file mode 100644 index 0000000..ca87f3b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/009.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/009.png new file mode 100644 index 0000000..9994a36 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/010.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/010.png new file mode 100644 index 0000000..dd43c3d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/010.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/011.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/011.png new file mode 100644 index 0000000..3c67577 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/011.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/012.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/012.png new file mode 100644 index 0000000..cd69d4d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/012.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/013.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/013.png new file mode 100644 index 0000000..ceb3849 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/013.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/014.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/014.png new file mode 100644 index 0000000..7c3711d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/014.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/015.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/015.png new file mode 100644 index 0000000..03c3254 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/015.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/016.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/016.png new file mode 100644 index 0000000..8dd37cb Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/016.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/017.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/017.png new file mode 100644 index 0000000..46365f5 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/017.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/018.png b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/018.png new file mode 100755 index 0000000..5b35b23 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportFileFormatsTesting/018.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/000a.png b/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/000a.png new file mode 100644 index 0000000..d8d6741 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/000a.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/000b.png b/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/000b.png new file mode 100644 index 0000000..dc5d6ef Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/000b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/001.png b/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/001.png new file mode 100644 index 0000000..c0521d1 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/002.png b/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/002.png new file mode 100755 index 0000000..2ca0539 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/003.png b/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/003.png new file mode 100644 index 0000000..8864eb2 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportMultigroups/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/001.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/001.png new file mode 100644 index 0000000..f090d2f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/002.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/002.png new file mode 100755 index 0000000..d6605e2 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/003.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/003.png new file mode 100755 index 0000000..ecf8f7f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/004.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/004.png new file mode 100755 index 0000000..8cd0633 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/004b.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/004b.png new file mode 100644 index 0000000..aa4ab94 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/004b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/004c.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/004c.png new file mode 100644 index 0000000..d54488b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/004c.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/004d.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/004d.png new file mode 100644 index 0000000..e6c6f21 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/004d.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/004e.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/004e.png new file mode 100644 index 0000000..eebba65 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/004e.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/005.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/005.png new file mode 100755 index 0000000..49b63ce Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/006.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/006.png new file mode 100755 index 0000000..2ad000b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/007.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/007.png new file mode 100755 index 0000000..362a9de Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/008.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/008.png new file mode 100755 index 0000000..0fce3c6 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/009.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/009.png new file mode 100644 index 0000000..ea6246f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/011.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/011.png new file mode 100644 index 0000000..e8e168d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/011.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/011b.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/011b.png new file mode 100644 index 0000000..ee7a862 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/011b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/011c.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/011c.png new file mode 100644 index 0000000..0ad8e63 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/011c.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/012.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/012.png new file mode 100644 index 0000000..c24bde3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/012.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/012b.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/012b.png new file mode 100644 index 0000000..27073bd Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/012b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/013.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013.png new file mode 100644 index 0000000..df81eb9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/013b.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013b.png new file mode 100644 index 0000000..ef638c6 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/013c.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013c.png new file mode 100644 index 0000000..47b99f0 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013c.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/013d.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013d.png new file mode 100644 index 0000000..d18dd6f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013d.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/013e.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013e.png new file mode 100644 index 0000000..221467f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013e.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/013f.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013f.png new file mode 100644 index 0000000..129e957 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/013f.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/014.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/014.png new file mode 100755 index 0000000..cc414f8 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/014.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/015.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/015.png new file mode 100755 index 0000000..de24de5 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/015.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/015b.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/015b.png new file mode 100644 index 0000000..eef28b4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/015b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/016.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/016.png new file mode 100755 index 0000000..22be84a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/016.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImportUI/017.png b/docs/testing_scenarios/images/testing_scenarios/ImportUI/017.png new file mode 100755 index 0000000..0ad7faf Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImportUI/017.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/001.png b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/001.png new file mode 100755 index 0000000..d323d5a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/002.png b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/002.png new file mode 100755 index 0000000..aa38272 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/003.png b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/003.png new file mode 100755 index 0000000..20b8ec5 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/004.png b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/004.png new file mode 100755 index 0000000..322572c Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/005.png b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/005.png new file mode 100755 index 0000000..157a758 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/006.png b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/006.png new file mode 100755 index 0000000..ab349d4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/007.png b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/007.png new file mode 100755 index 0000000..7447c1f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/008.png b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/008.png new file mode 100755 index 0000000..8a18805 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ImporterStandalone/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/001.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/001.png new file mode 100755 index 0000000..7ed9cf9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/002.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/002.png new file mode 100644 index 0000000..11842ae Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/003.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/003.png new file mode 100644 index 0000000..36357ec Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/004.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/004.png new file mode 100644 index 0000000..d1467cf Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/005.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/005.png new file mode 100644 index 0000000..07855ba Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/006.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/006.png new file mode 100644 index 0000000..8d8e58a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007.png new file mode 100644 index 0000000..0a7a2c8 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007b.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007b.png new file mode 100644 index 0000000..25df5f2 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007c.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007c.png new file mode 100644 index 0000000..a6d83bf Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007c.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007d.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007d.png new file mode 100644 index 0000000..b7bdae0 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007d.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007e.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007e.png new file mode 100644 index 0000000..40a61b1 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007e.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007f.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007f.png new file mode 100644 index 0000000..8234b19 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/007f.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/008.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/008.png new file mode 100644 index 0000000..614764e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/008b.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/008b.png new file mode 100644 index 0000000..42df78f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/008b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/009.png b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/009.png new file mode 100644 index 0000000..9b2422c Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/InsightasPluginImageJFiji/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Mapr/001.png b/docs/testing_scenarios/images/testing_scenarios/Mapr/001.png new file mode 100644 index 0000000..ebd40a7 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Mapr/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Mapr/002.png b/docs/testing_scenarios/images/testing_scenarios/Mapr/002.png new file mode 100644 index 0000000..1cd9706 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Mapr/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Mapr/003.png b/docs/testing_scenarios/images/testing_scenarios/Mapr/003.png new file mode 100644 index 0000000..dcf8352 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Mapr/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Mapr/compound_expected.png b/docs/testing_scenarios/images/testing_scenarios/Mapr/compound_expected.png new file mode 100644 index 0000000..12774c0 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Mapr/compound_expected.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Mapr/compound_not_expected.png b/docs/testing_scenarios/images/testing_scenarios/Mapr/compound_not_expected.png new file mode 100644 index 0000000..16ddd1a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Mapr/compound_not_expected.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Mapr/gene_supplementary.png b/docs/testing_scenarios/images/testing_scenarios/Mapr/gene_supplementary.png new file mode 100644 index 0000000..7037721 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Mapr/gene_supplementary.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Mapr/pagination_left-hand_tree.png b/docs/testing_scenarios/images/testing_scenarios/Mapr/pagination_left-hand_tree.png new file mode 100644 index 0000000..f295885 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Mapr/pagination_left-hand_tree.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Mapr/tree_numbers.png b/docs/testing_scenarios/images/testing_scenarios/Mapr/tree_numbers.png new file mode 100644 index 0000000..3ecb2ad Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Mapr/tree_numbers.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/001.png b/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/001.png new file mode 100755 index 0000000..1a868ee Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/002.png b/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/002.png new file mode 100755 index 0000000..2111909 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/003.png b/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/003.png new file mode 100755 index 0000000..e45954d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/004.png b/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/004.png new file mode 100755 index 0000000..b784bf8 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MetadataDisplay/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/001.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/001.png new file mode 100644 index 0000000..9f7d029 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/002.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/002.png new file mode 100755 index 0000000..2c57090 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/003.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/003.png new file mode 100644 index 0000000..b5ba6e7 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/004.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/004.png new file mode 100755 index 0000000..a7548a7 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/005.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/005.png new file mode 100644 index 0000000..fa53a20 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/006.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/006.png new file mode 100755 index 0000000..1d9cfb9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/007.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/007.png new file mode 100644 index 0000000..a02aed4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/008.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/008.png new file mode 100644 index 0000000..d8550fb Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/009.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/009.png new file mode 100644 index 0000000..d201584 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/010.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/010.png new file mode 100644 index 0000000..71ddfbf Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/010.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/011.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/011.png new file mode 100644 index 0000000..746f4b1 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/011.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/INsight move warning dataset with tree.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/INsight move warning dataset with tree.png new file mode 100644 index 0000000..76003a3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/INsight move warning dataset with tree.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/Insight move warning dataset.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/Insight move warning dataset.png new file mode 100644 index 0000000..36a48e7 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/Insight move warning dataset.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/Insight move warning with thumbs.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/Insight move warning with thumbs.png new file mode 100644 index 0000000..b1743dc Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/Insight move warning with thumbs.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move dataset done.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move dataset done.png new file mode 100644 index 0000000..3480dcd Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move dataset done.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move warning - dataset with tree.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move warning - dataset with tree.png new file mode 100644 index 0000000..fc6578a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move warning - dataset with tree.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move warning - dataset.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move warning - dataset.png new file mode 100644 index 0000000..4f24575 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move warning - dataset.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move warning with thumbs.png b/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move warning with thumbs.png new file mode 100644 index 0000000..a977b46 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/MoveData/Web move warning with thumbs.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/001a.png b/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/001a.png new file mode 100644 index 0000000..5632908 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/001a.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/001b.png b/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/001b.png new file mode 100644 index 0000000..51935fa Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/001b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/002.png b/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/002.png new file mode 100644 index 0000000..966317e Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/003.png b/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/003.png new file mode 100644 index 0000000..0f65c1a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/OMEROsearcher/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/OthersData/OthersImportUITag/001.png b/docs/testing_scenarios/images/testing_scenarios/OthersData/OthersImportUITag/001.png new file mode 100755 index 0000000..471f7d9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/OthersData/OthersImportUITag/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIFolders/000.png b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/000.png new file mode 100644 index 0000000..27deb44 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/000.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIFolders/001.png b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/001.png new file mode 100644 index 0000000..9c5417c Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIFolders/002.png b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/002.png new file mode 100644 index 0000000..2b1ee14 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIFolders/003.png b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/003.png new file mode 100644 index 0000000..2613f1d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIFolders/004.png b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/004.png new file mode 100644 index 0000000..567100a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIFolders/005.png b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/005.png new file mode 100644 index 0000000..a3d8ddb Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIFolders/006.png b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/006.png new file mode 100644 index 0000000..0506859 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIFolders/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/001.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/001.png new file mode 100644 index 0000000..5203be4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/002.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/002.png new file mode 100755 index 0000000..c959b39 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/003.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/003.png new file mode 100644 index 0000000..e632a95 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/005.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/005.png new file mode 100644 index 0000000..f43f5aa Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/006.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/006.png new file mode 100644 index 0000000..68bcec0 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/007.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/007.png new file mode 100755 index 0000000..c1c37bc Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/008.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/008.png new file mode 100755 index 0000000..e3c5018 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/009.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/009.png new file mode 100755 index 0000000..36548b9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/009b.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/009b.png new file mode 100644 index 0000000..1be4c09 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/009b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/009c.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/009c.png new file mode 100644 index 0000000..c80e3f9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/009c.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/010.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/010.png new file mode 100755 index 0000000..b8a57c1 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/010.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIInsight/011.png b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/011.png new file mode 100755 index 0000000..b2c39c2 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIInsight/011.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIWeb/001.png b/docs/testing_scenarios/images/testing_scenarios/ROIWeb/001.png new file mode 100755 index 0000000..e29eb54 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIWeb/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIWeb/002.png b/docs/testing_scenarios/images/testing_scenarios/ROIWeb/002.png new file mode 100755 index 0000000..cac334d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIWeb/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIWeb/003.png b/docs/testing_scenarios/images/testing_scenarios/ROIWeb/003.png new file mode 100644 index 0000000..5f770f5 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIWeb/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ROIWeb/004.png b/docs/testing_scenarios/images/testing_scenarios/ROIWeb/004.png new file mode 100644 index 0000000..99774f4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ROIWeb/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/001.png b/docs/testing_scenarios/images/testing_scenarios/Render/001.png new file mode 100644 index 0000000..dee0655 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/002.png b/docs/testing_scenarios/images/testing_scenarios/Render/002.png new file mode 100644 index 0000000..bde1876 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/003.png b/docs/testing_scenarios/images/testing_scenarios/Render/003.png new file mode 100644 index 0000000..77d2c74 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/004.png b/docs/testing_scenarios/images/testing_scenarios/Render/004.png new file mode 100644 index 0000000..8dbefd7 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/005.png b/docs/testing_scenarios/images/testing_scenarios/Render/005.png new file mode 100644 index 0000000..eace61d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/006.png b/docs/testing_scenarios/images/testing_scenarios/Render/006.png new file mode 100644 index 0000000..23e70ae Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/007.png b/docs/testing_scenarios/images/testing_scenarios/Render/007.png new file mode 100644 index 0000000..44e69b5 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/008.png b/docs/testing_scenarios/images/testing_scenarios/Render/008.png new file mode 100644 index 0000000..36a8959 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/Web002.png b/docs/testing_scenarios/images/testing_scenarios/Render/Web002.png new file mode 100644 index 0000000..b697b92 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/Web002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/Web003.png b/docs/testing_scenarios/images/testing_scenarios/Render/Web003.png new file mode 100644 index 0000000..c32c9d9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/Web003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/Web004.png b/docs/testing_scenarios/images/testing_scenarios/Render/Web004.png new file mode 100644 index 0000000..da41dd9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/Web004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/Web004b.png b/docs/testing_scenarios/images/testing_scenarios/Render/Web004b.png new file mode 100644 index 0000000..27ca781 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/Web004b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Render/Web005.png b/docs/testing_scenarios/images/testing_scenarios/Render/Web005.png new file mode 100644 index 0000000..ba15624 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Render/Web005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/001.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/001.png new file mode 100755 index 0000000..df357f3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/002.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/002.png new file mode 100755 index 0000000..714bf1c Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/003.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/003.png new file mode 100644 index 0000000..03a0e3d Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/004.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/004.png new file mode 100755 index 0000000..d7e8e66 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/004pub.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/004pub.png new file mode 100644 index 0000000..9afc0d7 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/004pub.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/005.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/005.png new file mode 100755 index 0000000..730e7ac Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/005pub.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/005pub.png new file mode 100644 index 0000000..b7a0e0b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/005pub.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/006.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/006.png new file mode 100755 index 0000000..9e9c5b3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/007.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/007.png new file mode 100755 index 0000000..b4c1fbf Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/008.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/008.png new file mode 100755 index 0000000..d91a036 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/009.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/009.png new file mode 100755 index 0000000..308d889 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/010.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/010.png new file mode 100755 index 0000000..82df898 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/010.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/011.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/011.png new file mode 100755 index 0000000..cd1c0d2 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/011.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/011pub.png b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/011pub.png new file mode 100644 index 0000000..e3d2cfc Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScreenPlateWell/011pub.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/001.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/001.png new file mode 100644 index 0000000..8d221b5 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/001N.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/001N.png new file mode 100644 index 0000000..2013a23 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/001N.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/001b.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/001b.png new file mode 100644 index 0000000..699169a Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/001b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/002.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/002.png new file mode 100755 index 0000000..242f7b8 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/002N.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/002N.png new file mode 100644 index 0000000..4ef7091 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/002N.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/002b.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/002b.png new file mode 100644 index 0000000..2ca0b26 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/002b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/003.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/003.png new file mode 100755 index 0000000..d19717f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/003N.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/003N.png new file mode 100644 index 0000000..f27d2bd Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/003N.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/004.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/004.png new file mode 100755 index 0000000..00eeeb3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/005.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/005.png new file mode 100755 index 0000000..24abe3b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/006.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/006.png new file mode 100644 index 0000000..6c1ead6 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/007.png b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/007.png new file mode 100755 index 0000000..a9cd7e2 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ScriptsClient/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Search/001.png b/docs/testing_scenarios/images/testing_scenarios/Search/001.png new file mode 100755 index 0000000..0bf03d3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Search/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Search/002.png b/docs/testing_scenarios/images/testing_scenarios/Search/002.png new file mode 100755 index 0000000..e7cf5bb Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Search/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Search/003.png b/docs/testing_scenarios/images/testing_scenarios/Search/003.png new file mode 100755 index 0000000..08d456c Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Search/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Search/004.png b/docs/testing_scenarios/images/testing_scenarios/Search/004.png new file mode 100755 index 0000000..9ab0790 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Search/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Search/005.png b/docs/testing_scenarios/images/testing_scenarios/Search/005.png new file mode 100755 index 0000000..bfd4d39 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Search/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Search/006.png b/docs/testing_scenarios/images/testing_scenarios/Search/006.png new file mode 100755 index 0000000..ba615d4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Search/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Search/007.png b/docs/testing_scenarios/images/testing_scenarios/Search/007.png new file mode 100644 index 0000000..f1f127f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Search/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Search/008.png b/docs/testing_scenarios/images/testing_scenarios/Search/008.png new file mode 100644 index 0000000..de5b792 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Search/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Search/009.png b/docs/testing_scenarios/images/testing_scenarios/Search/009.png new file mode 100644 index 0000000..0e5cf13 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Search/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Search/010.png b/docs/testing_scenarios/images/testing_scenarios/Search/010.png new file mode 100755 index 0000000..face80f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Search/010.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Share/001.png b/docs/testing_scenarios/images/testing_scenarios/Share/001.png new file mode 100644 index 0000000..8b82bff Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Share/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Share/003.png b/docs/testing_scenarios/images/testing_scenarios/Share/003.png new file mode 100755 index 0000000..4786e58 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Share/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Share/004.png b/docs/testing_scenarios/images/testing_scenarios/Share/004.png new file mode 100644 index 0000000..ff14c63 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Share/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Share/005.png b/docs/testing_scenarios/images/testing_scenarios/Share/005.png new file mode 100644 index 0000000..b446c09 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Share/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Share/006.png b/docs/testing_scenarios/images/testing_scenarios/Share/006.png new file mode 100755 index 0000000..961fae3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Share/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Share/007.png b/docs/testing_scenarios/images/testing_scenarios/Share/007.png new file mode 100644 index 0000000..638fd17 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Share/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Share/008.png b/docs/testing_scenarios/images/testing_scenarios/Share/008.png new file mode 100644 index 0000000..d2142e4 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Share/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/001.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/001.png new file mode 100644 index 0000000..ea23c72 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/001b.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/001b.png new file mode 100644 index 0000000..12fcd21 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/001b.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/001c.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/001c.png new file mode 100644 index 0000000..417302f Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/001c.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/002.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/002.png new file mode 100644 index 0000000..15a24be Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/003.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/003.png new file mode 100755 index 0000000..62672c9 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/004.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/004.png new file mode 100644 index 0000000..4c336d6 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/005.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/005.png new file mode 100755 index 0000000..be6b6da Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/005bi.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/005bi.png new file mode 100644 index 0000000..326a5f7 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/005bi.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/006i.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/006i.png new file mode 100644 index 0000000..55ca189 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/006i.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/006w.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/006w.png new file mode 100644 index 0000000..3b6e173 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/006w.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/007i.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/007i.png new file mode 100644 index 0000000..e40e748 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/007i.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/007w.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/007w.png new file mode 100644 index 0000000..45b20c7 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/007w.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/008i.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/008i.png new file mode 100644 index 0000000..7339f34 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/008i.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/008w.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/008w.png new file mode 100644 index 0000000..1896e26 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/008w.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/009w.png b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/009w.png new file mode 100644 index 0000000..9be9c06 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/UserGroupManipulation/009w.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/001.png b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/001.png new file mode 100755 index 0000000..a232e4b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/001pub.png b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/001pub.png new file mode 100644 index 0000000..76088d3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/001pub.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/002.png b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/002.png new file mode 100755 index 0000000..7cf2e76 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/002pub.png b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/002pub.png new file mode 100644 index 0000000..8989473 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/002pub.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/004.png b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/004.png new file mode 100755 index 0000000..f3b5c12 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/005.png b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/005.png new file mode 100755 index 0000000..a100d03 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/006.png b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/006.png new file mode 100755 index 0000000..cb77419 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/006pub.png b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/006pub.png new file mode 100644 index 0000000..b227560 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewBigImage/006pub.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewImage/001.png b/docs/testing_scenarios/images/testing_scenarios/ViewImage/001.png new file mode 100644 index 0000000..ed3f833 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewImage/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewImage/002.png b/docs/testing_scenarios/images/testing_scenarios/ViewImage/002.png new file mode 100644 index 0000000..840f9f6 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewImage/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewImage/003.png b/docs/testing_scenarios/images/testing_scenarios/ViewImage/003.png new file mode 100644 index 0000000..663c273 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewImage/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewImage/004.png b/docs/testing_scenarios/images/testing_scenarios/ViewImage/004.png new file mode 100755 index 0000000..08e5b8b Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewImage/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewImage/005.png b/docs/testing_scenarios/images/testing_scenarios/ViewImage/005.png new file mode 100755 index 0000000..b8ad4ae Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewImage/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewImage/006.png b/docs/testing_scenarios/images/testing_scenarios/ViewImage/006.png new file mode 100644 index 0000000..2d69fc8 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewImage/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewImage/007.png b/docs/testing_scenarios/images/testing_scenarios/ViewImage/007.png new file mode 100755 index 0000000..52b77ef Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewImage/007.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewImage/008.png b/docs/testing_scenarios/images/testing_scenarios/ViewImage/008.png new file mode 100644 index 0000000..9bf20a5 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewImage/008.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewImage/009.png b/docs/testing_scenarios/images/testing_scenarios/ViewImage/009.png new file mode 100644 index 0000000..e2a9fbf Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewImage/009.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewImage/010.png b/docs/testing_scenarios/images/testing_scenarios/ViewImage/010.png new file mode 100644 index 0000000..938ccc3 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewImage/010.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/ViewImage/011.png b/docs/testing_scenarios/images/testing_scenarios/ViewImage/011.png new file mode 100644 index 0000000..3f2fccf Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/ViewImage/011.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Webtagging/001.png b/docs/testing_scenarios/images/testing_scenarios/Webtagging/001.png new file mode 100644 index 0000000..7c560f0 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Webtagging/001.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Webtagging/002.png b/docs/testing_scenarios/images/testing_scenarios/Webtagging/002.png new file mode 100644 index 0000000..f66de32 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Webtagging/002.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Webtagging/003.png b/docs/testing_scenarios/images/testing_scenarios/Webtagging/003.png new file mode 100644 index 0000000..b36d563 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Webtagging/003.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Webtagging/004.png b/docs/testing_scenarios/images/testing_scenarios/Webtagging/004.png new file mode 100644 index 0000000..9a815d1 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Webtagging/004.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Webtagging/005.png b/docs/testing_scenarios/images/testing_scenarios/Webtagging/005.png new file mode 100644 index 0000000..11b9254 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Webtagging/005.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Webtagging/006.png b/docs/testing_scenarios/images/testing_scenarios/Webtagging/006.png new file mode 100644 index 0000000..9137fff Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Webtagging/006.png differ diff --git a/docs/testing_scenarios/images/testing_scenarios/Webtagging/007.png b/docs/testing_scenarios/images/testing_scenarios/Webtagging/007.png new file mode 100644 index 0000000..630e231 Binary files /dev/null and b/docs/testing_scenarios/images/testing_scenarios/Webtagging/007.png differ diff --git a/docs/testing_scenarios/index.rst b/docs/testing_scenarios/index.rst new file mode 100644 index 0000000..377cb75 --- /dev/null +++ b/docs/testing_scenarios/index.rst @@ -0,0 +1,76 @@ +.. Testing scenarios documentation master file, created by + sphinx-quickstart on Thu Nov 8 14:54:59 2012. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Testing scenarios +================= + + +.. toctree:: + :maxdepth: 2 + :numbered: 2 + + TablePermissionsUsers + AdminGroupUserCreate + AdminGroupUserEdit + Annotate + BigImageUpgradeTestingServer + BrowseFilterPreview + BulkAnnotations + CheckFilePath + ClientServerCompatibility + CommandLineInterfaceTesting + ConnectionErrorHandling + CopyCutPaste + Create + DeAnnotateUnlink + DeleteWithPerm + DeleteImageBinaryDataServer + DeleteROI + Disk + DownloadExportDowngrade + Edit + FileFormatMetadataValidation + GeneralRelease + ImportAs + ImportCLI + ImportDropBox + ImporterStandalone + ImportFileFormatsTesting + ImportMultigroups + ImportUI + InsightasPluginImageJFiji + MapAnnotations + Mapr + MemoFile + MetadataDisplay + MoveDataBetwGroups + OmeroDataDirFiles + OMEROdownloader + OMEROfigure + OMEROiviewer + OMEROmtools + OMEROsearcher + Pixelservice + Qa + RegisterUsage + RenderInsight + RenderWeb + Resetpwd + ROIInsight + ROIFolders + ROIWeb + ScriptsClient + Search + SwitchUser + Share + ShareSecurityTesting + ScreenPlateWell + StressPerformance + UserGroupManipulation + ViewImageWithPerm + ViewBigImage + VirtualMicroscope + WebLightTesting + Webtagging