From f51686bb4ac7ef0e850f4ed1f32d16750aec2d28 Mon Sep 17 00:00:00 2001 From: Andy Lassiter Date: Thu, 13 Jun 2024 13:19:59 -0500 Subject: [PATCH] Documentation Updates (#11) * PIXI-DOCS: Reorganize admin nesting * PIXI-DOCS: Add documentation for Animal Endpoints preference * PIXI-DOCS: Update hotel splitter configuration docs with latest docker image. * PIXI-DOCS: Add note about left/right scroll in batch data entry form * PIXI-DOCS: Update hotel splitter usage instructions. Pixel offsets no longer used. * PIXI-DOCS: Add date of death and animal endpoint to the data models docs * PIXI-DOCS: Add note on Inveon importer plugin setting to the admin docs * PIXI-DOCS: Update BLI importer usage instructions --- docs/source/administration.rst | 57 ++++++++++++------ .../pixi_run_hotel_splitter_container.png | Bin 47022 -> 0 bytes docs/source/pixi_data_model.rst | 4 ++ docs/source/usage.rst | 16 ++--- 4 files changed, 49 insertions(+), 28 deletions(-) delete mode 100644 docs/source/images/pixi_run_hotel_splitter_container.png diff --git a/docs/source/administration.rst b/docs/source/administration.rst index edeb328..33a982b 100644 --- a/docs/source/administration.rst +++ b/docs/source/administration.rst @@ -1,8 +1,8 @@ Administration ============== -Plugin Settings ---------------- +Site Settings +------------- Plugin settings for the PIXI plugin or any other XNAT plugin can be modified by administrators. From any view, select Administer -> Plugin Settings in the menu bar. @@ -12,17 +12,16 @@ Please see instructions below for various configuration settings. .. image:: ./images/plugin_settings.png :align: center --------------------------- -Site Plugin Settings --------------------------- - -**Subject Settings** +---------------- +Subject Settings +---------------- Subject settings include: - Subject Display Preferences - Species - Animal Vendors / Suppliers +- Animal Endpoints Select Subject settings under PIXI in the Plugin Setting column of the display. @@ -53,7 +52,15 @@ The administrator can enter a known list of suppliers in this preference setting XNAT will provide these as menu items at the point of data entry to support consistent terminology. As with species, a user will be able to enter a different value, but that value will not be automatically added to this list. -**PDX and Cell Line Preferences** +*Animal Endpoints:* +Data entry forms include animal endpoint selections. The PIXI plugin supports an ontology of defined terms for endpoints +that will appear in menu items for user selection. The administrator can create, update and delete terms through this +setting. Users will be able to user other terms for endpoints when entering data, but these terms are not automatically +added to the ontology. + +----------------------------- +PDX and Cell Line Preferences +----------------------------- Patient-Derived Xenograft (PDX) information is maintained by PIXI as a site-wide resource. That allows the PDX information to be entered once and reused/referenced in a single project and across multiple projects. @@ -68,9 +75,8 @@ You can provide a web link for both types of entities to refer to documentation .. image:: ./images/pdx_cell-line_administration.png :align: center - ---------------------------- -Hotel splitter configuration +Hotel Splitter Configuration ---------------------------- The hotel image splitter is a feature of the PIXI plugin that allows you to split multi-subject DICOM images into @@ -182,23 +188,23 @@ Before proceeding you'll need to have XNAT's Container Service running. We will 1. Navigate to Administer --> Plugin Settings. 2. Under "Container Service" select the "Images & Commands" tab. 3. Click "New Image". -4. For the image name enter "xnat/pixi_pydicom_split". +4. For the image name enter "xnat/mice-image-splitter". 5. For the version enter ":latest". For specific version tags checkout out - `Docker Hub `_. + `Docker Hub `_. 6. Click "Pull Image". 7. Navigate to the "Command Configurations" tab. -8. Enable the two xnat/pixi_pydicom_split commands. +8. Enable the xnat/mice-image-splitter commands. -The two container commands also need to be enabled at the project level by a project owner or a site admin. +The container commands also need to be enabled at the project level by a project owner or a site admin. 1. Navigate to a project and click the "Project Settings" link in the Actions box. 2. Click the "Configure Commands" tab. -3. Click the "Enable" toggle on the two xnat/pixi_pydicom_split commands. +3. Click the "Enable" toggle on all of the xnat/mice-image-splitter commands. *Setting up Hotels* The 'hotel' splitting is based on the `DICOM Subject Relative Position in Image `_ -tag. PIXI includes hotel configurations for 2, 3 and 4 subjects. If you need to add a hotel with a different +tag. PIXI includes some common hotel configurations. If you need to add a hotel with a different configuration you can do so by following the steps below. 1. Navigate to Administer --> Plugin Settings. @@ -209,11 +215,20 @@ configuration you can do so by following the steps below. Note that Z is always set to 1, splitting is currently only done in the X and Y dimensions. 6. Click "Save". ----------------- +--------------- +Image Importers +--------------- + +The Inveon image importer is a feature of the PIXI plugin that allows you to import native Inveon PET/CT images into +XNAT. To use the Inveon image importer, click the enable toggle and then click "Save" to save the changes. The Inveon +image importer will be available in the Upload navigation menu when enabled. + Project Settings ---------------- -*Subject Settings* +---------------- +Subject Settings +---------------- **Subject Display Preferences** The subject display preferences can be set at the project level to override the site-wide preferences. This allows @@ -222,7 +237,10 @@ set the subject display preferences for a project, navigate to the project and c Actions box. Select the "Subject Settings" tab and select the desired subject display preferences (xnat:demographicData or pixi:animalDemographicData) from the "Subject Display Preferences" dropdown. Click "Save" to save the changes. -*Image Acquisition Contexts* +-------------------------- +Image Acquisition Contexts +-------------------------- + The image acquisition context preferences are set at the project level and are used to help populate commonly repeated fields for fasting, anesthesia, and heating conditions in the hotel scan record form. @@ -230,4 +248,3 @@ To create a fasting, anesthesia, or heating conditions template for a project, n "Project Settings" link in the Actions box. Select the "Subject Settings" tab and click the "Add" button for each context type. Add a name for the template, and then add the values that will be populated in the hotel scan record form. Click "Save" to save the changes. - diff --git a/docs/source/images/pixi_run_hotel_splitter_container.png b/docs/source/images/pixi_run_hotel_splitter_container.png deleted file mode 100644 index bd1e2314ac18916fd4bcb7be00332f37c29f5652..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47022 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 F{|}Sw-|zqc diff --git a/docs/source/pixi_data_model.rst b/docs/source/pixi_data_model.rst index 8a461c6..34513e6 100644 --- a/docs/source/pixi_data_model.rst +++ b/docs/source/pixi_data_model.rst @@ -66,6 +66,10 @@ Rows marked with PIXI indicate items that are unique to small animal subjects. +-----------------------------------------+----------------+-----------+------+ | Strain Immune System Humanization Type | String | | X | +-----------------------------------------+----------------+-----------+------+ +| Date of Death | Date | | X | ++-----------------------------------------+----------------+-----------+------+ +| Animal Endpoint | String | | X | ++-----------------------------------------+----------------+-----------+------+ Experiments --------------------- diff --git a/docs/source/usage.rst b/docs/source/usage.rst index c7e0065..aede59e 100644 --- a/docs/source/usage.rst +++ b/docs/source/usage.rst @@ -50,6 +50,7 @@ In this context, you can batch enter multiple research subjects using a spreadsh - Select the project where the subject information will be stored. - The software defaults to a spreadsheet with 5 rows, but you can increase the number of rows. +- Scroll left and right to see all the columns that are available for data entry. You will likely find it convenient to fill in one row and then copy/paste common data into the following rows. @@ -159,12 +160,8 @@ In the Actions box on the Session Page, select Run Containers -> Hotel Session S .. image:: ./images/pixi_select_hotel_splitter_container.png :align: center -8. PIXI will present a dialog box to allow you to adjust pixel offsets for the images -and a button to run the container that will perform this task. -When you select "Run Container", that job is launched using the Container infrastructure you have deployed. - -.. image:: ./images/pixi_run_hotel_splitter_container.png - :align: center +8. Container service will present a dialog with the parameters used for the hotel splitter. When you select +"Run Container", the job is launched using the container infrastructure you have deployed. Uploading Native Inveon PET/CT Imaging Data ------------------------------------------- @@ -217,7 +214,7 @@ top menu. File Format Requirements ~~~~~~~~~~~~~~~~~~~~~~~~ -The PIXI BLI importer is designed to import data from IVIS Imaging Systems. The IVIS system produces a directory +The BLI importer is designed to import data from IVIS Imaging Systems. The IVIS system produces a directory of imaging and non-imaging files. The directory generally contains the following files: - AnalyzedClickInfo.txt (required) @@ -254,8 +251,11 @@ In certain cases, the user input my need to extract a substring from a field. Fo Comment1 field may contain a string like 'M1 Prone'. The user may want to extract the 'M1' part of the string to use as the subject label. The user can specify a regular expression to extract a substring from a field in the Advanced Options section. In the example, the user would specify a regular expression like '^(\w+)' to extract the first word from the -Comment1 field. `Regex101 `_ is a useful tool for testing regular expressions in the browser. +Comment1 field. +After selecting the project, zip file, and labeling options, click 'Begin Upload' to start the upload process. If there +are any issues with uploading the IVIS BLI images to your project, the image sessions will be stored in the XNAT +prearchive which can be accessed from the top menu by selecting Upload -> Go to prearchive. .. _XNAT platform: https://www.xnat.org .. _How To Use XNAT: https://wiki.xnat.org/documentation/how-to-use-xnat