When collecting raw-data files from a large number of patients (e.g., through Yarra offline reconstructions or using the Yarra RDS client), it can quickly become difficult to find the data file from a certain patient or exam (as needed for performing retrospective studies). This problem is solved by Yarra Archive Search (YAS), which can be used as add-on for a YarraServer installation or completely independent from Yarra.
YAS consists of an indexing service, which typically runs every night as cron job on a Linux server, and a web-based front-end, which allows users to search for raw-data files by patient name, scan protocol, exam date etc. and provides the exact file location and additional information about the scan. Although typically used in an intranet environment, the front-end is password protected to ensure that only authorized staff has access to the scan information.
Installation and Configuration
YAS requires a Linux based server running either Ubuntu 12.04 LTS or 14.04 LTS. Note: If running Ubuntu 12.04 LTS, it is necessary to first upgrade the GCC compiler, as described in the installation instructions for YarraServer.
- Download the YAS package and unzip it in a folder on the Linux server. This can be a subfolder of your home directory on the server, e.g. /home/[username]/YAS.
- Edit the configuration file YAS.ini. It is necessary to define the port number, password for the user interface, and to list all folders that should be scanned for Siemens raw-data files (aka TWIX files). By default the configuration file reads:
123456789101112131415161718192021222324252627282930313233343536;### Configuration file for Yarra Archive Search ###[WebGUI];# Defines the port to be used for the web interface. The value needs to be different;# from the port used for the Yarra WebGUI if running on the same server.Port=9090;# Defines the password for accessing the web interface.Password=SetPasswordHere[Indexer];# Defines for how many days entries remain in the database if they were not seen;# during the search run (entries are not removed immediately to avoid that the;# whole database needs to be recreated if a network share was temporarily not;# available during a search run).KeepUnseenEntries=14[Folders];# Defines which folders should be searched for raw-data files. Multiple folders;# can be listed. Format: /path/on/linux/server=yes;/path/to/rawdata=yes[FolderAlias];# This section allows defining alias names for each search path. This can be useful;# if the mount point on the server is different from how the location is mapped;# at the users' workstations. For example, if the raw-data is located at /media/rawdata;# on the server but end users map this folder under drive V:, it can be helpful to;# define an alias /media/rawdata=V:. In this way, the file location will be displayed;# relative to drive V: in the web interface, making it easier for the users to navigate;# to the location. Entries must be named identical to the full path listed in [Folders].;/path/to/rawdata=/alias/to/use
- Run the indexer once by calling ./YASIndexer from the YAS installation folder. Depending on the amount of raw-data files, the search procedure might take a few minutes.
- Setup the YASIndexer as daily Cron job. It’s recommended to run it during the night when it is unlikely that people will use the frontend. Type in the following command:
10 5 * * * cd /home/[username]/YAS && /home/username/YAS/YASIndexer >> /home/[username]/YAS/cron.log 2>&1
- Setup the YASWebGUI as daemon service by editing the file yaswebgui.conf (e.g. with “nano yaswebgui.conf”) and writing the installation path into the line “env DIR=…”:
12345678910111213141516description "YASWebGUI"start on (net-device-upand local-filesystemsand runlevel )stop on runlevel respawnenv DIR=/insert/yas/installation/path/env BIN=YASWebGUIscriptcd $DIRexec $DIR$BINemit yaswebgui_runningend script
- Copy the file into /etc/init and start the YASWebGUI with the command:
1sudo yaswebgui start
Yarra Archive Search should now be ready to use.
If configured as described above, the YASIndexer will automatically update the database of raw-data files every night. To search for scan, open a web browser and type in the URL http://xxx.xxx.xxx.xxx:[port], where port is the port number defined in the configuration file (e.g. http://192.168.1.101:9090). The port number can be omitted when using port 80, which however requires sudo rights on the server. The search page becomes visible after the password has been entered.
Scans can be searched by patient name, patient ID (MRN, accession number (ACC), protocol name, or exam date. If multiple search entries are entered, scans are displayed that match to both search terms (AND). When clicking on an entry in the result table, details will be displayed in the Information box below the table. If the file comes from a Yarra offline reconstruction task, additional information about the task will shown. The exact file location is shown as a link and can be copied right into the file selection box of the Yarra Stand-Alone Client (SAC), which can be handy for submitting retrospective reconstruction tasks.
To clear and rebuilt the database, call ./YASIndexer –clear and rerun the YASIndexer afterwards.
Download and Source Code
The Yarra framework is provided free of charge for use in research applications. It must not be used for diagnostic applications. The author takes no responsibility of any kind for the accuracy or integrity of the created data sets. No data created using the framework should be used to make diagnostic decisions. The source code is provided under the GNU General Public License (GPL).
The Yarra framework, including all of its software components, comes without any warranties. Operation of the software is solely on the user’s own risk. The author takes no responsibility for damage or misfunction of any kind caused by the software, including permanent damages to MR systems, temporary unavailability of MR systems, and loss or corruption of research or patient data. This applies to all software components included in the Yarra software package.
Source Code Access