JSPM

  • Created
  • Published
  • Downloads 1538
  • Score
    100M100P100Q128465F
  • License GPL-3.0-or-later

native addon using imebra dicom toolkit

Package Exports

  • dicom-dimse-native

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (dicom-dimse-native) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Build Status GitHub issues Greenkeeper badge

dicom-dimse-native

Nodejs native addon for DICOM DIMSE services using the IMEBRA DICOM c++ toolkit.

supported DIMSE services

  • C-Echo-scu
  • C-Store-scp
  • C-Move-scu
  • C-Find-scu

in development

  • C-Store-scu
  • C-Get-scu

How to install

This package uses prebuild to fetch precompiled binaries, so provided your platform is supported, all you need to do is: npm i -s dicom-native-addon

Otherwise install will try to compile the sources for your platform, you will need:

  • CMake installed and in path
  • a working c++ compiler
  • linux only: gobjc++ library installed (e.g for ubuntu: sudo apt-get install gobjc++)

Examples

const dimse = require('dicom-dimse-native');

dimse.startScp(JSON.stringify(
    {
        "source": {
            "aet": "IMEBRA",
            "ip" : "127.0.0.1",
            "port": "9999"
        }
    }   
    ), (result) => {
        console.log(result);
});

dimse.moveScu(JSON.stringify(
    {
        "source": {
            "aet": "IMEBRA",
            "ip" : "127.0.0.1",
            "port": "9999"
        },
        "target": {
            "aet": "CONQUESTSRV1",
            "ip" : "127.0.0.1",
            "port": "5678"
        },
        "destination" : "IMEBRA",
        "tags" : [
            {
                "key": "0020000D", 
                "value": "1.3.46.670589.11.0.1.1996082307380006",
            },
            {
                "key": "00080052", 
                "value": "STUDY",
            },
        ]
    }
), (result) => {
    console.log("result: ", result);
});

dimse.findScu(JSON.stringify(
    {
        "source": {
            "aet": "IMEBRA",
            "ip" : "127.0.0.1",
            "port": "9999"
        },
        "target": {
            "aet": "CONQUESTSRV1",
            "ip" : "127.0.0.1",
            "port": "5678"
        },
        "tags" : [
            {
                "key": "00100010", 
                "value": "",
            },
            {
                "key": "0020000D", 
                "value": "1.3.46.670589.11.0.1.1996082307380006",
            },
            {
                "key": "00080052", 
                "value": "STUDY",
            },
        ]
    }
), (result) => {
    const json = JSON.parse(result);
    console.log("result: ", json);
});