Skip to main content

Presenting CAD Results

Results from a plug-in are displayed on screen via modules called "displays". A display is the main building block of CIRCUS CS result presentation. It can do the following:

  • Takes plug-in results and shows them in various formats. For example, the LesionCandidate display can mark the locations of the candidates output by a plug-in.
  • Accesses all the files generated by the plug-in.
  • Collects feedback data from users. For example, the Choice display can show toggle buttions and let users click one of them.

Some displays are solely for presenting job result data (e.g., VolumeOverlay), and some are solely for collecting user feedback (e.g., Choice). Some displays do both (e.g., LesionCandidates).

Display Strategy

The displayStrategy is a JSON-serializable array of objects that defines how to use displays. Each plug-in installed on CIRCUS is associated with this object. It looks like this:

[
{
"feedbackKey": "evaluation",
"caption": "Evaluation",
"type": "Choice",
"options": {
"personal": [
{ "caption": "Excellent", "value": 5 },
{ "caption": "Poor", "value": 1 }
]
}
}
]
  • feedbackKey: string: The key name used if this display returns some feedback data.
  • caption: string: The title displayed as a header on the results screen.
  • type: string: Required The display type. One of the names of built-in displays.
  • options: object: A set of options to configure this display. See the reference pages to check which options are accepted.

In the example above, when a user opens a job result page corresponding to this plug-in, they will see toggle buttons. When the users select one of them and clicks the register button, the feedback data will look like { evaluation: 5 }.

Each plug-in provides a default display strategy, which will be installed to the CIRCUS system along with the plug-in itself. However, administrators can customize the display strategy via plug-in configuration screen. This means that administrators can change how results are displayed or what type of feedback they want to collect from users.

Collecting Feedback

Some displays support collecting user feedback. When one or more such displays are used, a user will see "Register Feedback" button. The user cannot press it until they fill all the required data into the displays waiting for feedback. In the example above, the user can press the register button after checking one of the "Excellent" and "Poor" buttons.

Personal Feedback and Consensual Feedback

To support multiple-reader scenarios, CIRCUS CS has an feedback integration mechanism. A user can enter the consensual mode after inputting their "personal" feedback. All the personal feedback entries will be integrated as much as possible (this is a responsibility of each display). In the example above, the "Excellent" button will be pre-selected when all the users who entered their personal feedback had clicked it. Otherwise, the users who entered personal feedback must discuss and determine the consensual feedback by clicking "Excellent" or "Poor".

Built-in Displays and Custom Displays

Building Your Own Display

Internally, displays are implemented as React components. A developer with the knowledge about React can provide a custom display (i.e., React component) to show plug-in results in an arbitrary way or collect complex feedback data from users. For details, see Custom Result Display.