Skip to content

Essentials

Francisco Maria Calisto edited this page Jul 8, 2019 · 35 revisions

The MIMBCD-UI project is a project that deals with several modalities of medical images. Our Framework will incorporate information from following different modalities: (i) MammoGraphic (MG) images (both views CC and MLO); (ii) UltraSound (US) images; (iii) Magnetic Resonance Imaging (MRI) volumes; and (iv) Text. If you have some questions, please follow our FAQ page.

In this page, it is intended to be used as a reference for the concepts of the project Framework. If you are new to our project, we recommend that you start by reviewing the concepts below and then looking at the various prototypes to see how to use each.

Index

Configurations

There are a few pre-defined settings files that you can find in config/ folders. These are JSON files and all settings can be accessed as showed below. Our User Interface (UI) settings are also available on several folders and files.

DICOM Server

As a DICOM server, we are using the Orthanc server. Configuring Orthanc simply consists of a configuration file. Orthanc has numerous configuration that is documented in the default configuration file. Please follow the official configuration documentation for more information.

Viewer

Our prototypes configuration files can be found typically on REPOSITORY_NAME/config/ folder. Also, each NodeJS repository has a package.json file. This file contains a lot of meta-data about the respective repository. Mostly, it will be used for managing dependencies of the repository and scripts. The scripts will help in generating builds, running tests and other stuff in regards to the respective repository.

Managing Environments

Environment files are useful when deploying on several server stages. For instance, if we want to have specific values across multiple environments (e.g., prod, test, stage or dev). Our values change frequently and are highly dynamic, therefore, the environment variables can be changed easily. In our solutions, we use the env.json file on the config/ folder to manage our environments.

Example

The following example shows us a possible env.json file sample:

{
  "environment": "sample.json"
}

Environment Settings

There are several different ways to set environment variables. Each has a slightly different use case. The dicomServer tag configures the settings regarding the DICOM server. The mainserver tag configures the settings regarding the prototype server configurations.

Example

The following example shows us a possible sample.json file sample:

{
  "dicomServer":
  [
    {
      "prefix": "://",
      "transferProtocol": "http",
      "hostname": "localhost",
      "portEscape": ":",
      "port": "8042",
      "suffix": "/",
      "serviceProtocol": "wadouri"
    }
  ],
  "mainServer":
  [
    {
      "prefix": "://",
      "transferProtocol": "http",
      "hostname": "localhost",
      "portEscape": ":",
      "port": "8080",
      "suffix": "/",
      "hotjar": "123456"
    }
  ]
}

Quickstart

Starting with our several repositories, a User Interface (UI) is provided to use each prototype on the client-side and server-side. Simply follow the README.md information to setup each prototype on your local machine. In our prototypes, we follow a Web Access to DICOM Objects by URI (WADO-URI) requests. The WADO-URI requests are HTTP requests that use the GET method as defined in IETF RFC2616. A Medium.com story, titled as "Using CornerstoneJS and Orthanc to Support Deep Learning Projects", introduces the meta tag structures but we still we detail it here.

Client

Server

Important Links

Clone this wiki locally