Getting Started - MIMBCD-UI/prototype-breast-screening GitHub Wiki

MIMBCD-UI is a Research Project that deals with the use of a recently proposed technique in literature: Deep Convolutional Neural Networks (CNNs). These deep networks will incorporate information from several different modes by a User Interface (UI) generated by the Breast Screening Prototype. The Breast Screening Prototype repository is an Open Source Project with a goal to deliver an example of web-based medical imaging platform for the breast cancer diagnosis. Both datasets, the dataset-annotations and dataset-matfiles, are generated by this prototype while it will be of chief importance to the Deep Convolutional Neural Networks (CNNs).

Instructions

First of all, you will need NodeJS installed locally on your machine. This project needs both npm and http-server dependencies to install and run the core project. If you do not have those installed please follow the INSTALL instructions.

DICOM Server

The following assumes you will be using a git version control for this repository, storing thanks to GitHub. First, Download and Install git. Our system needs to be integrated with WADO-URI servers, DICOMWeb servers or any HTTP based server that returns a DICOM P10 instances. We suggest you to use an Orthanc server, since it is a simple and powerful standalone DICOM server by providing a RESTful API.

You can download a latest version or you can use our own sample of an Orthanc version with our examples of patient images. The instructions to use our solution are as follows.

Clone

1.1.1. Clone the DICOM Server repository:

git clone [email protected]:MIMBCD-UI/dicom-server.git

1.1.2. Go inside the project folder:

cd dicom-server/

Install

1.2.1. Install the local dependencies:

npm install

1.2.2. You can now Run the project, just follow the next section.

Run

1.3.1. Inside the project folder:

cd dicom-server

1.3.2. Start the DICOM Server (Orthanc) for MacOS:

npm run start:<ENVIRONMENT>

Where <ENVIRONMENT> can be the start set of scripts from the package.json file.

OR

cd ..
cd dicom-server/orthancAndPluginsOSX.stable/
./startOrthanc.command

NOTE: If you are not using MacOS, for instance, if you are using Windows or Debian you have a documentation for that. Just follow the Windows or Debian documentations. You also have several other options.

Example

For instance we can choose the default environment that is the local environemnt:

npm run start:local

1.3.3. Open the link:

localhost:<ENVIRONMENT_PORT>

For each <ENVIRONMENT> we address a <ENVIRONMENT_PORT>. To see the respective <ENVIRONMENT_PORT> just follow the Deployment Servers Information.

NOTE: If you need some help see the Demo.

Main Server

Our main server uses NodeJS and has several dependencies. For the following steps you must have already installed both NodeJS and npm in your machine.

Clone

2.1.1. Clone the project repository:

git clone [email protected]:MIMBCD-UI/prototype-breast-screening.git

2.1.2. Go inside the project folder:

cd prototype-breast-screening/

Install

2.2.1. Install the local dependencies:

npm install

2.2.2. You can now Run the project, just follow the next section.

Run

2.3.1. Inside the project folder:

cd prototype-breast-screening/

2.3.2. Create the main conficuration file:

vim config/env.json

p.s.: we use vim but you can use yours.

2.3.3. Fill the env.json file with:

{
  "environment": ""
}

2.3.4. Put the desire deployment environment:

{
  "environment": "local"
}

Note: by default the local environment should be the one to test in your machine.

2.3.5. Save the file;

2.3.6. If you have already run the DICOM Server on a previous section, please jump to the 2.3.7. point, otherwise do:

npm run dicom-server

2.3.7. Run the code:

npm run build:prod

2.3.8. Start the project:

npm start

2.3.9. Open the link:

localhost:8086/src/public/index.html
Allow-Control-Allow-Origin

Access-Control-Allow-Origin is a CORS (Cross-Origin Resource Sharing) header. If you want to know How does Access-Control-Allow-Origin header work? follow the link.

Google Chrome
  • To deal with the CORS issue it is necessary to open Google Chrome with --disable-web-security flag on:
open /Applications/Google\ Chrome.app --args --disable-web-security --user-data-dir