The RSNA MIRC Source Code

From MircWiki
Revision as of 13:31, 26 December 2012 by Johnperry (Talk | contribs) (CTP/MIRC)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This article describes how to obtain and build the RSNA MIRC software. It is intended for programmers, and it assumes familiarity with Java and Ant.

There are two different MIRC implementations. The older one, MIRC1, runs as a collection of webapps under Tomcat. The new one, MIRC2, runs as a plugin to CTP. MIRC1 is at its end of life; all developers and users are asked to concentrate on MIRC2.

The software for CTP and both MIRC implementations is open source. All the software written by the RSNA for the project is released under the RSNA Public License. It is maintained on GitHub.

1 CTP/MIRC

This section is deprecated. See Setting Up a MIRC Development Environment to learn how to obtain the source code for the latest versions of the teaching file system.]

To build CTP/MIRC, you must obtain copies of both the CTP repository and the MIRC2 repository from GitHub. Both repositories must be placed on the same disk in such a way that they share the same parent directory. CTP must be built first, and then MIRC can be built.

See Extending CTP for instructions on obtaining the CTP source code. After unpacking the zip file, rename the top-level directory, which will have long name, to CTP.

To obtain the source code of the MIRC plugin, go to http://github.com/johnperry/MIRC2 and click the Downloads button.

When you download the MIRC2 repository from GitHub, you obtain a zip file containing a directory tree full of the sources and libraries for building the plugin. The top of the directory tree has a complicated name that includes the letters MIRC2. After unpacking the zip file, rename the top-level directory to MIRC2. The directory contains several subdirectories. The source code is in the source directory, which has three subdirectories, one each for the Java sources, the files required by the application, and the default CTP configuration file used when CTP hosts a MIRC site.

Building CTP and MIRC requires the Java 1.5 JDK and Ant. Running CTP with the MIRC plugin requires the JRE and the JAI ImageIO Tools.

The Ant build file for CTP is in the MIRC2 directory and is called build.xml. To build the software on a Windows system, launch a command window, navigate to the MIRC2 directory, and enter ant all.

The build file contains several targets. The all target does a clean build of everything, including the installer and the Javadocs.

The Javadocs can be accessed with a browser by opening the file:

MIRC2/documentation/index.html

The installer, which installs both CTP and the MIRC plugin in the same operation, is located in the products directory.

2 Tomcat/MIRC

[This section is deprecated. It is maintained here only because some of the tools are built using this repository. In time, each of the tools will have its own repository.]

To obtain the source code for the Tomcat/MIRC webapps, go to http://github.com/johnperry/MIRC1 and click the Downloads button.

The build procedure is similar to that for the CTP MIRC plugin: unpack the zip file, launch a command window, navigate to the top-level directory (a long name containing MIRC1), and enter ant all.

The result of the build will be many installers placed in the products directory, one installer each for MIRC and the various tools.

The Javadocs can be accessed with a browser by opening the file:

MIRC1/documentation/index.html

The build process creates many libraries and products. The key products are:

  • MIRCsite-installer-full.jar – the complete installer for a MIRC site, including all the standard libraries and the database. This product is therefore fairly large - about 35MB.
  • FieldCenter-installer.jar – the complete installer for the clinical trials FieldCenter program. This program is a generic instance. To configure it for a specific clinical trial, one would modify the Help.html, anonymizer.properties, and fieldcenter.properties files to provide instructions specific to the trial.
  • DicomEditor-installer.jar – the complete installer for the DicomEditor program, a standalone DICOM viewer, anonymizer, and editor intended primarily as a tool for examining and modifying the dataset elements in a DICOM object or group of objects.
  • FileSender-installer.jar – the complete installer for the FileSender program, a tool for sending files using the DICOM, HTTP, and HTTPS protocols.
  • HttpTest.jar – a self-contained tool for trying to find a way through a proxy server and generally conjugating the HTTP protocol.
  • Decipher.jar – a self-contained tool for deciphering the encrypted database file used by the anonymizer in both the MIRC site software and the FieldCenter program.
  • AuditLogger.jar – a self-contained example program that acts as a receiver for PHI audit trail export objects. This program is not useful on its own; it is intended only to demonstrate how to receive an exported MIRC audit trail event. Sites needing to capture such events can use this code as a starting point for writing an interface to their audit trail systems.
  • ExportManager-installer.jar – the complete installer for the ExportManager program, an implementation of the IHE TCE Export Manager actor.

In addition to the products named above, there are several minor products which are primarily for testing, including HttpReceiver.jar and ManifestGenerator-installer.jar. These are not intended for production use but may be helpful in some situations.

3 Getting Help

If you have questions about something, probably others will as well. Please go to the RSNA Forum site (http://forums.rsna.org), navigate to the MIRC Developers’ Corner forum and post a message there. The MIRC development team monitors all the MIRC forums and tries to provide rapid responses to problems and questions.