{"analyzedAt":"2022-07-10T12:12:27.332Z","collected":{"metadata":{"name":"dicom-dimse-native","scope":"unscoped","version":"2.4.0","description":"native addon using DCMTK dicom toolkit","keywords":["DICOM","DIMSE","NATIVE","DICOM-DIMSE","DICOM-DIMSE-NATIVE","DCMTK","NETWORK","DICOMJS","SCU","SCP","C-ECHO","C-FIND","C-MOVE","C-STORE","PACS"],"date":"2022-06-23T14:29:39.479Z","author":{"name":"Michael Knopke"},"publisher":{"username":"knopkem","email":"knopkem@gmail.com"},"maintainers":[{"username":"knopkem","email":"knopkem@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/knopkem/dicom-dimse-native.git"},"links":{"npm":"https://www.npmjs.com/package/dicom-dimse-native","homepage":"https://github.com/knopkem/dicom-dimse-native#readme","repository":"https://github.com/knopkem/dicom-dimse-native","bugs":"https://github.com/knopkem/dicom-dimse-native/issues"},"license":"MIT","dependencies":{"bindings":"^1.5.0","cmake-js":"^6.3.0","node-addon-api":"^4.3.0","prebuild-install":"^7.1.1"},"devDependencies":{"@types/jest":"^27.0.2","@types/node":"^16.11.3","jest":"^27.3.1","ts-jest":"^27.0.7","ts-node":"^10.3.1","tslib":"^2.3.1","typescript":"^4.4.4"},"releases":[{"from":"2022-06-10T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":2},{"from":"2022-04-11T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":4},{"from":"2022-01-11T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":7},{"from":"2021-07-10T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":12},{"from":"2020-07-10T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":33}],"hasTestScript":true,"readme":"[![Build Status](https://travis-ci.com/knopkem/dicom-dimse-native.svg?branch=master)](https://travis-ci.com/knopkem/dicom-dimse-native)\r\n[![GitHub issues](https://img.shields.io/github/issues/knopkem/dicom-dimse-native)](https://github.com/knopkem/dicom-dimse-native/issues) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fknopkem%2Fdicom-dimse-native.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fknopkem%2Fdicom-dimse-native?ref=badge_shield)\r\n\r\n[![Greenkeeper badge](https://badges.greenkeeper.io/knopkem/dicom-dimse-native.svg)](https://greenkeeper.io/)\r\n\r\n# dicom-dimse-native\r\nNodejs native addon for DICOM DIMSE services using the DCMTK DICOM c++ toolkit.\r\n\r\n# Supported DIMSE services\r\n* C-Echo as SCU and SCP\r\n* C-Find as SCU and SCP\r\n* C-Move as SCU and SCP\r\n* C-Get  as SCU and SCP\r\n* C-Store as SCU and SCP\r\n\r\n# Features\r\n* build on robust c++ DICOM framework\r\n* prebuilds available for: macos, windows, linux\r\n* extended character set support\r\n* supports compression: JPEG, JPEG-LS, RLE, JPEG 2000\r\n* typescript support\r\n* simple to use\r\n\r\n# Roadmap:\r\n* Worklist SCP and SCU\r\n\r\n## How to install\r\nThis package uses prebuild to fetch precompiled binaries, so provided your platform is supported, all you need to do is:\r\n\r\n```npm i -s dicom-native-addon```\r\n\r\nOtherwise install will try to compile the sources for your platform, you will need:\r\n* CMake installed and in path\r\n* a working c++ compiler (vs 2015+ or g++5.3+)\r\n\r\n## Examples\r\n\r\nrun the examples:\r\n```npm run example:[echoscu|findscu|getscu|movescu|storescu|storescp]```\r\n\r\n# PACS-server \r\n\r\n## Features:\r\n\r\n* ECHO, FIND, MOVE, GET and STORE-SCP\r\n* sqlite db backend\r\n* multithreaded association handling\r\n\r\n\r\n```\r\nimport { startStoreScp, storeScpOptions } from 'dicom-dimse-native';\r\n\r\nconst scpOptions: storeScpOptions = {\r\n    source: {\r\n        aet: \"MY_AET\",\r\n        ip: \"127.0.0.1\",\r\n        port: 9999,\r\n    },\r\n    peers: [\r\n        {\r\n            aet: \"TARGET_AET\",\r\n            ip: \"127.0.0.1\",\r\n            port: 5678\r\n        }\r\n    ],\r\n    storagePath: \"path_to_storage_dir\",\r\n};\r\n\r\nstartStoreScp(scpOptions, (result) => {\r\n    console.log(JSON.parse(result));\r\n});\r\n```\r\n\r\n# Move-SCU\r\n```\r\n import { moveScu, moveScuOptions } from 'dicom-dimse-native';\r\n\r\n const moveOptions: moveScuOptions =\r\n    {\r\n        source: {\r\n            aet: \"MY_AET\",\r\n            ip: \"127.0.0.1\",\r\n            port: 9999\r\n        },\r\n        target: {\r\n            aet: \"TARGET_AET\",\r\n            ip: \"127.0.0.1\",\r\n            port: 5678\r\n        },\r\n        tags: [\r\n            {\r\n                key: \"0020000D\",\r\n                value: \"1.3.46.670589.5.2.10.2156913941.892665384.993397\",\r\n            },\r\n            {\r\n                key: \"00080052\",\r\n                value: \"STUDY\",\r\n            },\r\n        ],\r\n        destination: \"MY_AET\", // e.g. sending to ourself\r\n        verbose: true\r\n    };\r\n    moveScu(moveOptions, (result) => {\r\n        console.log(JSON.parse(result));\r\n    });\r\n```\r\n\r\n# Find-SCU\r\n\r\n```\r\nimport { findScu, findScuOptions } from 'dicom-dimse-native';\r\n\r\nconst options: findScuOptions = {\r\n  source: {\r\n    aet: \"MY_AET\",\r\n    ip: \"127.0.0.1\",\r\n    port: 9999\r\n  },\r\n  target: {\r\n    aet: \"TARGET_AET\",\r\n    ip: \"127.0.0.1\",\r\n    port: 5678\r\n  },\r\n  tags: [\r\n    {\r\n      key: \"0020000D\",\r\n      value: \"1.3.46.670589.5.2.10.2156913941.892665384.993397\",\r\n    },\r\n    {\r\n      key: \"00080052\",\r\n      value: \"STUDY\",\r\n    },\r\n    {\r\n      key: \"00100010\",\r\n      value: \"\",\r\n    }\r\n  ],\r\n  verbose: true\r\n};\r\n\r\nfindScu(options, (result) => {\r\n  console.log(JSON.parse(result));\r\n});\r\n```\r\n\r\nFor more information see examples.\r\n\r\n# Result Format:\r\n```\r\n{\r\n  code: 0 (success) / 1 (pending) / 2 (failure),\r\n  container: null / 'DICOMJSON (only when using c-find)',\r\n  messsage: 'request succeeded' / 'descriptive problem',\r\n  status: 'success' / 'pending' / 'failure'\r\n}\r\n```\r\nC-FIND results are returned in DICOMJSON format see https://www.dicomstandard.org/dicomweb/dicom-json-format/\r\n\r\n\r\n## License\r\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fknopkem%2Fdicom-dimse-native.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fknopkem%2Fdicom-dimse-native?ref=badge_large)"},"npm":{"downloads":[{"from":"2022-07-09T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":64},{"from":"2022-07-03T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":470},{"from":"2022-06-10T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":2855},{"from":"2022-04-11T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":9391},{"from":"2022-01-11T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":15969},{"from":"2021-07-10T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":20439}],"starsCount":0},"github":{"starsCount":34,"forksCount":11,"subscribersCount":2,"issues":{"count":40,"openCount":5,"distribution":{"3600":5,"10800":0,"32400":2,"97200":7,"291600":2,"874800":8,"2624400":5,"7873200":4,"23619600":3,"70858800":4,"212576400":0},"isDisabled":false},"contributors":[{"username":"Q11BUL","commitsCount":1},{"username":"fossabot","commitsCount":1},{"username":"greenkeeper[bot]","commitsCount":2},{"username":"knopkem","commitsCount":190},{"username":"snyk-bot","commitsCount":10},{"username":"dependabot[bot]","commitsCount":2}],"commits":[{"from":"2022-07-03T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":0},{"from":"2022-06-10T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":3},{"from":"2022-04-11T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":12},{"from":"2022-01-11T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":23},{"from":"2021-07-10T00:00:00.000Z","to":"2022-07-10T00:00:00.000Z","count":52}],"statuses":[{"context":"License Compliance","state":"success"}]},"source":{"files":{"readmeSize":4100,"testsSize":52017},"linters":["eslint"],"outdatedDependencies":{"node-addon-api":{"required":"^4.3.0","stable":"5.0.0","latest":"5.0.0"}}}},"evaluation":{"quality":{"carefulness":0.84,"tests":0.85,"health":0.75,"branding":0},"popularity":{"communityInterest":53,"downloadsCount":3130.3333333333335,"downloadsAcceleration":17.972203196347035,"dependentsCount":0},"maintenance":{"releasesFrequency":1,"commitsFrequency":0.9,"openIssues":1,"issuesDistribution":0.9}},"score":{"final":0.6404337786951648,"detail":{"quality":0.8519851077966575,"popularity":0.09958230803544091,"maintenance":0.9999555386964665}}}