Comments (3)
The same issue was just recently closed: #7
There are 2 reasons why this doesn't work right now:
- using the DCMTK code makes emitting from within the SCP hard, as this is deeply nested inside the dcmtk structure, it's only possible by modifying the original code (which I tried to avoid as much as possible to not introduce bugs and to make updates easier).
- the other reason is that somehow emitting from within the thread does not work reliably. I'm using this library: https://github.com/NickNaso/addon-event-emitter and emit is done in this example: https://github.com/nodejs/node-addon-examples/tree/main/emit_event_from_cpp/node-addon-api
The thing is that when emitting something very fast (e.g. within milliseconds) the javascript will 'drop messages' meaning it only gets some of them, which is not a good base to build on it. So for the moment I only use it for some debug messages.
However I noticed that there are other ways to pass stuff around, e.g. by calling threadSafeFunctions: https://github.com/nodejs/node-addon-api/blob/main/doc/threadsafe.md which might be worth looking into, I just didn't have the time (and priority as I don't need it for the apps that use this).
I can't promise anything but will try to look into this in a spare minute. Otherwise, help is always appreciated.
from dicom-dimse-native.
Hello,
I have a question with the startscp:
`
dimse.startScp(JSON.stringify(
{
"source": {
"aet": "DIMSE",
"ip" : "127.0.0.1",
"port": "9999"
},
"peers": [ // peers needed for C-MOVE destination
{
"aet": "CONQUESTSRV1",
"ip" : "127.0.0.1",
"port": "5678"
}
],
"storagePath": "./data",
// "netTransferPrefer": "1.2.840.10008.1.2.4.80", // preferred network transfer syntax (accepted additional to default ts uncompressed)
// "netTransferPropose": "1.2.840.10008.1.2.4.80", // proposed network transfer syntax (for outgoing associations)
"writeTransfer": "", // write transfer syntax (storage only), keep empty to store original
"permissive": true, // any AET can perform FIND,GET and STORE
// "verbose": true // verbose logging
}
), (result) => {
if (result && result.length > 0) {
try
{
console.log(result)
console.log(JSON.parse(result));
}
catch (e) {
console.log(e, result);
}
}
});
`
why does my code never log the result when i send a file? The file is saved on the system but i can never access the result. I am trying to insert some metadata from this file into another database than sqlite (that is standard included) for a project im working on. I know the library has a parse service but that one only works with files that are already on the system.
from dicom-dimse-native.
ok. Thank you for your valuable time and dedication to this library. I will look for another solution to my problem
from dicom-dimse-native.
Related Issues (20)
- c-get call back issue HOT 1
- How to run in electron project? HOT 9
- getSCU uses source.aet both for called and for calling aettile HOT 2
- error message HOT 6
- Unable to use module HOT 1
- No way to gracefull exit async workers HOT 5
- Option to send base64 input stream through storeScu HOT 4
- Binaries for darwin-arm64? HOT 2
- MediaStorageSOPInstanceUID and SOPInstanceUID get messed up in compression
- DCMTK Version? HOT 7
- PN elements not correctly encoded in JSON when running on Linux (CentOS) HOT 4
- 100% CPU right on the start HOT 4
- TooManyAssociations? HOT 2
- How to re-compile the project HOT 5
- Doesn't work with M1 chip Mac HOT 1
- Error handling? HOT 2
- capture dimse output HOT 3
- startStoreScp prints a lot of log to terminal even thought I set verbose = false || startStoreScp is also low compared to dcmtk HOT 8
- hardcoded root query HOT 1
- It's not working on electron app HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dicom-dimse-native.