MIRC TFS
This article describes the new version of the MIRC teaching file system running as a plug-in on CTP. This article is intended for people interested in installing MIRC.
1 Background
MIRC - Medical Imaging Resource Center - is an RSNA project to provide tools for radiological teaching files and clinical trials. Beginning in 2000, the project has produced many software releases.
The earliest versions of MIRC were restricted to Microsoft platforms, using IIS as the server (versions 1-9). Starting with version 10, MIRC was rewritten in Java to run on Tomcat. Those versions were denoted with the prefix T (T10-T36).
The Tomcat-based versions supported both teaching files and clinical trials. In the clinical trials applicaton, however, the extra complexity of the Tomcat installation was an impediment, so a special clinical trials application was developed called CTP. CTP contains is own embedded servlet container, providing the necessary capabilities from Tomcat without the need for a separate installation step. It also contains a more capable processing facility and anonymizers that implement the DICOM Supplement 142 de-identification profiles.
As experience was gained with CTP, it became clear that it could serve as the servlet container for MIRC, providing both new features and simplified installation. To support MIRC, numerous extensions to CTP were implemented, the most important of which was the development of plug-ins, which provide processing capabilities outside the normal CTP pipelines. MIRC is implemented as a single plug-in in this framework.
The new MIRC implementation is denoted with the Z prefix. The starting release identifier has been reset to 1, so the first release is designated Z1.
Version Z1 is still under construction, but it is recommended for all new MIRC installations. The components that have not yet been ported from the latest Tomcat version (T36c) are ones that are unlikely to be of interest to new MIRC sites.
2 Installation
Three components are required for running a MIRC site under CTP:
- Java
- JAI ImageIO Tools
- CTP and the MIRC plug-in
2.1 Java
The Java 1.5 (or better) JRE must be present on the system. Java 1.6 is strongly recommended because 1.5 has reached its end of life and is being sunset by Oracle/Sun. Java is available through the Java website. Note that only the JRE is required, not the JDK.
- When installing Java, make sure to obtain the 32-bit version, even if you are running on a 64-bit platform. Sophisticated users may be able to run the 64-bit versions on some platforms, but the gains would be minimal and the likelihood of encountering problems would be large.
2.2 JAI ImageIO Tools
MIRC requires that the Java Advanced Imaging ImageIO Tools be present on the system. It is critically important that version 1.1 of the ImageIO Tools be installed rather than version 1.0.
- Note that the Java Advanced Imaging component is not the same as the Java Advanced Imaging ImageIO Tools. Only the latter component is required.
2.3 CTP/MIRC
The installer for MIRC is available on the RSNA MIRC site. It includes CTP and all the libraries required to run MIRC.
Once Java and the ImageIO Tools are installed, Download the installer and place it on the disk on which you intend to install or upgrade the CTP program. Do not run it without downloading it and storing it locally.
- For convenience, it is recommended (but not required) that a folder called JavaPrograms be created in the root of the disk drive. The installer does not create this folder, but if it is present, the installer will very quickly find it and suggest installing CTP there. This is especially helpful during future upgrades.
To run the MIRC installer, double-click the MIRC-installer.jar file and choose a directory in which to install CTP. The installer can also be run in a command window using the command:
- java -jar MIRC-installer.jar
The installer creates a directory called CTP in the selected location and places several files and directories in it.
When the installer runs, it checks several parameters of the system and highlights in red any components that are not correct for the running of CTP.
3 Running CTP with the MIRC Plug-in
Note that MIRC is not a stand-alone program; it is a plug-in to CTP in the same way that previous versions of MIRC were webapps that ran under Tomcat. Therefore, it is most correct to speak of running CTP rather than MIRC, so that terminology is used here.
There are three ways to start CTP:
- CTP-launcher.jar - a program for manually starting and stopping CTP through a dialog window. This program is normally used when CTP is installed on an individual user's computer for occasional use.
- CTP-runner.jar - a program for starting and stopping CTP with no user interface. This program is normally used when CTP is installed on a Linux or Mac system for institutional use, running as an automatic service. See Running CTP as a Linux Service (not yet written) for instructions.
- CTP can also be run as a Windows service. See Running CTP as a Windows Service for instructions.
The CTP-launcher.jar program can be started by double-clicking the file or by launching a command window and entering the command:
- java -jar CTP-launcher.jar
The launcher displays a dialog providing start/stop buttons and fields for controlling several parameters used by the system.
The Server port field allows you to change the port on which the server runs.
The default memory configuration is sufficient for all but the very largest sites. For sites with 2000 or more teaching file cases, the Maximum memory pool parameter should be increased to 500. For sites with more than 3000 cases, 750 is recommended.
The Extensions directory parameter is intended for special applications in which third-party software is added into the system. One such application is the NCI's National Biomedical Image Archive (NBIA). Normal teaching file systems do not require this parameter.
Across the top of the dialog are several tabs providing access to information about the versions of the components, the system parameters in use by Java as the program runs, and any messages output by the program either directly or through its log file. These are only present as a convenience; they are not typically used in normal operation.
As a convenience, the MIRC Home Page button launches the user's browser and goes directly to the main MIRC page.
To stop the program, either click the Stop button on the dialog or log in as a user with the shutdown privilege and click the Shutdown item in the Admin > CTP menu on the main query page. As a convenience, a user with the admin privilege can also shut the server down if the user's browser is running on the same computer as the server.
4 Accessing MIRC from the Network
When CTP starts, it loads the MIRC plug-in. The MIRC plug-in installs several servlets to provide access to the system. The query page serves as the portal into all the MIRC features. Its URL is:
- /query
Several other URLs also end up at the query page, but they do so by redirecting the browser, so it is most efficient to use the actual query page URL. Other URLs that go to the query page are:
- /
- /mirc
5 Instructions for Administrators
When the program is first installed, two users are provided. One user, with the name admin and password password, is intended for general system administration. The other user, with the name king and password password, has the ability to shut down the server through the browser interface. Both users have the ability to create and modify users and assign privileges through the User Manager, but only a user with the shutdown privilege can grant the shutdown privilege to another user. Most MIRC administrators log in as the admin user.
After installing and starting CTP and MIRC, access the query page, click the Login button, and then go to the Admin > User Manager menu item. This will display a page allowing you to add and modify users. To start, check all the boxes in the admin user except shutdown and then click the save icon in the upper right corner of the page. The page will re-display, showing that the changes have been made. You should change the passwords of these accounts at this time as well, using the unlabelled column at the right side of the table. If you need to create accounts for other users, use the blank line at the bottom of the table. Each time the save icon is clicked, a new blank line will appear. When all the changes have been made, click the home icon in the upper right corner of the page to go back to the query page.
MIRC has two user interfaces, the Classic UI and the Integrated UI. These present almost the same functionality in two different ways. Each only shows the user those functions that the user's privileges allow him to access.
Individual users can choose their preferred UI and switch between them easily. As the administrator, you can choose the default UI to be presented to an unauthenticated user. To do so, go to the Admin > Query Service Admin menu item. On that page, select the desired radio button in the Default query page user interface field and then click the save button:
On the Query Service Admin page, you can also control which other MIRC sites are available to be queried. After making any changes, click the save icon and then click the home icon to return to the main query page.
At this point, the site is ready for operation.
6 Advanced Configuration
In addition to the MIRC plugin, CTP supports sequences of processing steps called pipelines. Pipelines are described in CTP-The RSNA Clinical Trial Processor. MIRC currently employs pipelines to support the reception of DICOM images for:
- the File Service,
- the DICOM Service, and
- the TCE Service.
These specific pipelines are described in MIRC Pipelines. Each service has its own DICOM Storage SCP. The default ports for these SCPs are:
- File Service: port 1081
- DICOM Service: port 1082
- TCE Service: port 1083.
These ports can be changed to any unused port on the system. After starting CTP/MIRC for the first time, click the Log button on the CTP-launcher dialog and see if there are any log entries indicating that an address was already in use. If so, see the article above and move the offending service to another port.