@ubercode/dcmtk 0.13.2 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dicom.cjs +50 -36
- package/dist/dicom.cjs.map +1 -1
- package/dist/dicom.js +50 -36
- package/dist/dicom.js.map +1 -1
- package/dist/{index-Bve4fMIh.d.cts → index-CtqMUrjP.d.cts} +2 -0
- package/dist/{index-CZiFWENk.d.ts → index-D7nnTY1R.d.ts} +2 -0
- package/dist/index.cjs +193 -65
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +193 -66
- package/dist/index.js.map +1 -1
- package/dist/servers.cjs +41 -7
- package/dist/servers.cjs.map +1 -1
- package/dist/servers.d.cts +1 -1
- package/dist/servers.d.ts +1 -1
- package/dist/servers.js +41 -7
- package/dist/servers.js.map +1 -1
- package/dist/tools.cjs +57 -40
- package/dist/tools.cjs.map +1 -1
- package/dist/tools.d.cts +18 -1
- package/dist/tools.d.ts +18 -1
- package/dist/tools.js +57 -41
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -3,12 +3,12 @@ export { L as LineSource, P as ProcessLine, a as ResultValue, b as assertUnreach
|
|
|
3
3
|
import { A as AETitle, D as DicomTag, a as DicomTagPath, P as Port, S as SOPClassUID, T as TransferSyntaxUID, b as DicomDataset } from './DicomInstance-BGXtON9T.cjs';
|
|
4
4
|
export { B as Brand, C as ChangeSet, c as DicomFilePath, d as DicomInstance, e as DicomOpenOptions, W as WalkTagEntry, f as WalkTagsOptions, g as createAETitle, h as createDicomFilePath, i as createDicomTag, j as createDicomTagPath, k as createPort, l as createSOPClassUID, m as createTransferSyntaxUID, t as tag, w as walkTags } from './DicomInstance-BGXtON9T.cjs';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
export { A as AssociationAcknowledgedData, a as AssociationCompleteData, b as AssociationContext, c as AssociationReceivedData, d as AssociationSummary, e as AssociationTracker, C as CStoreRequestData, f as CannotStartListenerData, g as ConfigErrorData, D as DCMPRSCP_FATAL_EVENTS, h as DCMPRSCP_PATTERNS, i as DCMPSRCV_FATAL_EVENTS, j as DCMPSRCV_PATTERNS, k as DCMQRSCP_FATAL_EVENTS, l as DCMQRSCP_PATTERNS, m as DCMRECV_FATAL_EVENTS, n as DCMRECV_PATTERNS, o as DatabaseReadyData, p as DcmQRSCP, q as DcmQRSCPEventMap, r as DcmQRSCPOptions, s as DcmprsCP, t as DcmprsCPEventMap, u as DcmprsCPOptions, v as DcmprscpEvent, w as DcmprscpEventValue, x as Dcmpsrcv, y as DcmpsrcvEvent, z as DcmpsrcvEventMap, B as DcmpsrcvEventValue, E as DcmpsrcvOptions, F as DcmqrscpEvent, G as DcmqrscpEventValue, H as Dcmrecv, I as DcmrecvEvent, J as DcmrecvEventMap, K as DcmrecvEventValue, L as DcmrecvOptions, M as DcmtkProcess, N as DcmtkProcessConfig, O as DcmtkProcessEventMap, P as DicomReceiver, Q as DicomReceiverEventMap, R as DicomReceiverOptions, S as EventPattern, T as FileDeletedData, U as FileReceivedData, V as FilenameMode, W as FilenameModeValue, X as LineParser, Y as LineParserEventMap, Z as MultiLineConfig, _ as PoolAssociationReceivedData, $ as PoolCStoreRequestData, a0 as PoolEchoRequestData, a1 as PoolRefusingAssociationData, a2 as PoolStatus, a3 as PreferredTransferSyntax, a4 as PreferredTransferSyntaxValue, a5 as PrintAssociationAcknowledgedData, a6 as PrintAssociationReceivedData, a7 as PrintCannotStartListenerData, a8 as ProcessState, a9 as ProcessStateValue, aa as QRAssociationAcknowledgedData, ab as QRAssociationReceivedData, ac as QRCFindRequestData, ad as QRCGetRequestData, ae as QRCMoveRequestData, af as QRCStoreRequestData, ag as QRCannotStartListenerData, ah as QRListeningData, ai as ReceiverAssociationAcknowledgedData, aj as ReceiverAssociationData, ak as ReceiverAssociationFinalizedData, al as ReceiverAssociationReceivedData, am as ReceiverCStoreRequestData, an as ReceiverCannotStartListenerData, ao as ReceiverConfigErrorData, ap as ReceiverDatabaseReadyData, aq as ReceiverEchoRequestData, ar as ReceiverErrorData, as as ReceiverFileData, at as ReceiverFileReceivedData, au as ReceiverFileStoredData, av as ReceiverInstanceData, aw as ReceiverInstanceErrorData, ax as ReceiverListeningData, ay as RefusingAssociationData, az as STORESCP_FATAL_EVENTS, aA as STORESCP_PATTERNS, aB as StorageMode, aC as StorageModeValue, aD as StoreSCP, aE as StoreSCPEventMap, aF as StoreSCPOptions, aG as StoreSCPPreset, aH as StoreSCPPresetName, aI as StoredFileData, aJ as StorescpEvent, aK as StorescpEventValue, aL as StoringFileData, aM as SubdirectoryCreatedData, aN as SubdirectoryMode, aO as SubdirectoryModeValue, aP as TrackedFile, aQ as WLMSCPFS_FATAL_EVENTS, aR as WLMSCPFS_PATTERNS, aS as WlmAssociationAcknowledgedData, aT as WlmAssociationReceivedData, aU as WlmCFindRequestData, aV as WlmCannotStartListenerData, aW as WlmListeningData, aX as Wlmscpfs, aY as WlmscpfsEvent, aZ as WlmscpfsEventMap, a_ as WlmscpfsEventValue, a$ as WlmscpfsOptions } from './index-
|
|
6
|
+
export { A as AssociationAcknowledgedData, a as AssociationCompleteData, b as AssociationContext, c as AssociationReceivedData, d as AssociationSummary, e as AssociationTracker, C as CStoreRequestData, f as CannotStartListenerData, g as ConfigErrorData, D as DCMPRSCP_FATAL_EVENTS, h as DCMPRSCP_PATTERNS, i as DCMPSRCV_FATAL_EVENTS, j as DCMPSRCV_PATTERNS, k as DCMQRSCP_FATAL_EVENTS, l as DCMQRSCP_PATTERNS, m as DCMRECV_FATAL_EVENTS, n as DCMRECV_PATTERNS, o as DatabaseReadyData, p as DcmQRSCP, q as DcmQRSCPEventMap, r as DcmQRSCPOptions, s as DcmprsCP, t as DcmprsCPEventMap, u as DcmprsCPOptions, v as DcmprscpEvent, w as DcmprscpEventValue, x as Dcmpsrcv, y as DcmpsrcvEvent, z as DcmpsrcvEventMap, B as DcmpsrcvEventValue, E as DcmpsrcvOptions, F as DcmqrscpEvent, G as DcmqrscpEventValue, H as Dcmrecv, I as DcmrecvEvent, J as DcmrecvEventMap, K as DcmrecvEventValue, L as DcmrecvOptions, M as DcmtkProcess, N as DcmtkProcessConfig, O as DcmtkProcessEventMap, P as DicomReceiver, Q as DicomReceiverEventMap, R as DicomReceiverOptions, S as EventPattern, T as FileDeletedData, U as FileReceivedData, V as FilenameMode, W as FilenameModeValue, X as LineParser, Y as LineParserEventMap, Z as MultiLineConfig, _ as PoolAssociationReceivedData, $ as PoolCStoreRequestData, a0 as PoolEchoRequestData, a1 as PoolRefusingAssociationData, a2 as PoolStatus, a3 as PreferredTransferSyntax, a4 as PreferredTransferSyntaxValue, a5 as PrintAssociationAcknowledgedData, a6 as PrintAssociationReceivedData, a7 as PrintCannotStartListenerData, a8 as ProcessState, a9 as ProcessStateValue, aa as QRAssociationAcknowledgedData, ab as QRAssociationReceivedData, ac as QRCFindRequestData, ad as QRCGetRequestData, ae as QRCMoveRequestData, af as QRCStoreRequestData, ag as QRCannotStartListenerData, ah as QRListeningData, ai as ReceiverAssociationAcknowledgedData, aj as ReceiverAssociationData, ak as ReceiverAssociationFinalizedData, al as ReceiverAssociationReceivedData, am as ReceiverCStoreRequestData, an as ReceiverCannotStartListenerData, ao as ReceiverConfigErrorData, ap as ReceiverDatabaseReadyData, aq as ReceiverEchoRequestData, ar as ReceiverErrorData, as as ReceiverFileData, at as ReceiverFileReceivedData, au as ReceiverFileStoredData, av as ReceiverInstanceData, aw as ReceiverInstanceErrorData, ax as ReceiverListeningData, ay as RefusingAssociationData, az as STORESCP_FATAL_EVENTS, aA as STORESCP_PATTERNS, aB as StorageMode, aC as StorageModeValue, aD as StoreSCP, aE as StoreSCPEventMap, aF as StoreSCPOptions, aG as StoreSCPPreset, aH as StoreSCPPresetName, aI as StoredFileData, aJ as StorescpEvent, aK as StorescpEventValue, aL as StoringFileData, aM as SubdirectoryCreatedData, aN as SubdirectoryMode, aO as SubdirectoryModeValue, aP as TrackedFile, aQ as WLMSCPFS_FATAL_EVENTS, aR as WLMSCPFS_PATTERNS, aS as WlmAssociationAcknowledgedData, aT as WlmAssociationReceivedData, aU as WlmCFindRequestData, aV as WlmCannotStartListenerData, aW as WlmListeningData, aX as Wlmscpfs, aY as WlmscpfsEvent, aZ as WlmscpfsEventMap, a_ as WlmscpfsEventValue, a$ as WlmscpfsOptions } from './index-CtqMUrjP.cjs';
|
|
7
7
|
import { T as TagModification } from './dcmodify-Cf-RPHF3.cjs';
|
|
8
8
|
export { b as DcmodifyOptions, c as DcmodifyResult, D as DicomJsonElement, a as DicomJsonModel, d as ToolBaseOptions, e as dcmodify, x as xmlToJson } from './dcmodify-Cf-RPHF3.cjs';
|
|
9
|
-
export { DictionaryEntry, SOPClassName, SOP_CLASSES, TagSegment, VR, VRCategoryName, VRMetadata, VRValue, VR_CATEGORY, VR_CATEGORY_NAME, VR_META, getVRCategory, isBinaryVR, isNumericVR, isStringVR, lookupTag, lookupTagByKeyword, lookupTagByName, segmentsToModifyPath, segmentsToString, sopClassNameFromUID, tagPathToSegments } from './dicom.cjs';
|
|
10
9
|
import { ProposedTransferSyntaxValue } from './tools.cjs';
|
|
11
|
-
export { Cda2dcmOptions, Cda2dcmResult, ColorConversion, ColorConversionValue, Dcm2cdaOptions, Dcm2cdaResult, Dcm2jsonOptions, Dcm2jsonResult, Dcm2jsonSource, Dcm2pdfOptions, Dcm2pdfResult, Dcm2pnmOptions, Dcm2pnmOutputFormat, Dcm2pnmOutputFormatValue, Dcm2pnmResult, Dcm2xmlCharset, Dcm2xmlCharsetValue, Dcm2xmlOptions, Dcm2xmlResult, DcmcjpegOptions, DcmcjpegResult, DcmcjplsOptions, DcmcjplsResult, DcmconvOptions, DcmconvResult, DcmcrleOptions, DcmcrleResult, DcmdecapOptions, DcmdecapResult, DcmdjpegOptions, DcmdjpegResult, DcmdjplsOptions, DcmdjplsResult, DcmdrleOptions, DcmdrleResult, DcmdspfnOptions, DcmdspfnResult, DcmdumpFormat, DcmdumpFormatValue, DcmdumpOptions, DcmdumpResult, DcmencapOptions, DcmencapResult, DcmftestOptions, DcmftestResult, DcmgpdirOptions, DcmgpdirResult, Dcmj2pnmOptions, Dcmj2pnmOutputFormat, Dcmj2pnmOutputFormatValue, Dcmj2pnmResult, DcmmkcrvOptions, DcmmkcrvResult, DcmmkdirOptions, DcmmkdirResult, DcmmklutOptions, DcmmklutResult, Dcmp2pgmOptions, Dcmp2pgmResult, DcmprscuOptions, DcmprscuResult, DcmpschkOptions, DcmpschkResult, DcmpsmkOptions, DcmpsmkResult, DcmpsprtOptions, DcmpsprtResult, DcmqridxOptions, DcmqridxResult, DcmquantOptions, DcmquantResult, DcmscaleOptions, DcmscaleResult, DcmsendOptions, DcmsendResult, Dcod2lumOptions, Dcod2lumResult, DconvlumOptions, DconvlumResult, DrtdumpOptions, DrtdumpResult, Dsr2xmlOptions, Dsr2xmlResult, DsrdumpOptions, DsrdumpResult, Dump2dcmOptions, Dump2dcmResult, EchoscuOptions, EchoscuResult, FindscuOptions, FindscuResult, GetQueryModel, GetQueryModelValue, GetscuOptions, GetscuResult, Img2dcmInputFormat, Img2dcmInputFormatValue, Img2dcmOptions, Img2dcmResult, JplsColorConversion, JplsColorConversionValue, Json2dcmOptions, Json2dcmResult, LutType, LutTypeValue, MoveQueryModel, MoveQueryModelValue, MovescuOptions, MovescuResult, Pdf2dcmOptions, Pdf2dcmResult, ProposedTransferSyntax, QueryModel, QueryModelValue, Stl2dcmOptions, Stl2dcmResult, StorescuOptions, StorescuResult, TermscuOptions, TermscuResult, TransferSyntax, TransferSyntaxValue, Xml2dcmOptions, Xml2dcmResult, Xml2dsrOptions, Xml2dsrResult, cda2dcm, dcm2cda, dcm2json, dcm2pdf, dcm2pnm, dcm2xml, dcmcjpeg, dcmcjpls, dcmconv, dcmcrle, dcmdecap, dcmdjpeg, dcmdjpls, dcmdrle, dcmdspfn, dcmdump, dcmencap, dcmftest, dcmgpdir, dcmj2pnm, dcmmkcrv, dcmmkdir, dcmmklut, dcmp2pgm, dcmprscu, dcmpschk, dcmpsmk, dcmpsprt, dcmqridx, dcmquant, dcmscale, dcmsend, dcod2lum, dconvlum, drtdump, dsr2xml, dsrdump, dump2dcm, echoscu, findscu, getscu, img2dcm, json2dcm, movescu, pdf2dcm, stl2dcm, storescu, termscu, xml2dcm, xml2dsr } from './tools.cjs';
|
|
10
|
+
export { Cda2dcmOptions, Cda2dcmResult, ColorConversion, ColorConversionValue, Dcm2cdaOptions, Dcm2cdaResult, Dcm2jsonOptions, Dcm2jsonResult, Dcm2jsonSource, Dcm2pdfOptions, Dcm2pdfResult, Dcm2pnmOptions, Dcm2pnmOutputFormat, Dcm2pnmOutputFormatValue, Dcm2pnmResult, Dcm2xmlCharset, Dcm2xmlCharsetValue, Dcm2xmlOptions, Dcm2xmlResult, DcmcjpegOptions, DcmcjpegResult, DcmcjplsOptions, DcmcjplsResult, DcmconvOptions, DcmconvResult, DcmcrleOptions, DcmcrleResult, DcmdecapOptions, DcmdecapResult, DcmdjpegOptions, DcmdjpegResult, DcmdjplsOptions, DcmdjplsResult, DcmdrleOptions, DcmdrleResult, DcmdspfnOptions, DcmdspfnResult, DcmdumpFormat, DcmdumpFormatValue, DcmdumpOptions, DcmdumpResult, DcmencapOptions, DcmencapResult, DcmftestOptions, DcmftestResult, DcmgpdirOptions, DcmgpdirResult, Dcmj2pnmOptions, Dcmj2pnmOutputFormat, Dcmj2pnmOutputFormatValue, Dcmj2pnmResult, DcmmkcrvOptions, DcmmkcrvResult, DcmmkdirOptions, DcmmkdirResult, DcmmklutOptions, DcmmklutResult, Dcmp2pgmOptions, Dcmp2pgmResult, DcmprscuOptions, DcmprscuResult, DcmpschkOptions, DcmpschkResult, DcmpsmkOptions, DcmpsmkResult, DcmpsprtOptions, DcmpsprtResult, DcmqridxOptions, DcmqridxResult, DcmquantOptions, DcmquantResult, DcmscaleOptions, DcmscaleResult, DcmsendOptions, DcmsendResult, Dcod2lumOptions, Dcod2lumResult, DconvlumOptions, DconvlumResult, DrtdumpOptions, DrtdumpResult, Dsr2xmlOptions, Dsr2xmlResult, DsrdumpOptions, DsrdumpResult, Dump2dcmOptions, Dump2dcmResult, EchoscuOptions, EchoscuResult, FindscuOptions, FindscuResult, GetQueryModel, GetQueryModelValue, GetscuOptions, GetscuResult, Img2dcmInputFormat, Img2dcmInputFormatValue, Img2dcmOptions, Img2dcmResult, JplsColorConversion, JplsColorConversionValue, Json2dcmOptions, Json2dcmResult, LutType, LutTypeValue, MoveQueryModel, MoveQueryModelValue, MovescuOptions, MovescuResult, Pdf2dcmOptions, Pdf2dcmResult, ProposedTransferSyntax, QueryModel, QueryModelValue, Stl2dcmOptions, Stl2dcmResult, StorescuOptions, StorescuResult, TermscuOptions, TermscuResult, ToolExecutionError, TransferSyntax, TransferSyntaxValue, Xml2dcmOptions, Xml2dcmResult, Xml2dsrOptions, Xml2dsrResult, cda2dcm, dcm2cda, dcm2json, dcm2pdf, dcm2pnm, dcm2xml, dcmcjpeg, dcmcjpls, dcmconv, dcmcrle, dcmdecap, dcmdjpeg, dcmdjpls, dcmdrle, dcmdspfn, dcmdump, dcmencap, dcmftest, dcmgpdir, dcmj2pnm, dcmmkcrv, dcmmkdir, dcmmklut, dcmp2pgm, dcmprscu, dcmpschk, dcmpsmk, dcmpsprt, dcmqridx, dcmquant, dcmscale, dcmsend, dcod2lum, dconvlum, drtdump, dsr2xml, dsrdump, dump2dcm, echoscu, findscu, getscu, img2dcm, json2dcm, movescu, pdf2dcm, stl2dcm, storescu, termscu, xml2dcm, xml2dsr } from './tools.cjs';
|
|
11
|
+
export { DictionaryEntry, SOPClassName, SOP_CLASSES, TagSegment, VR, VRCategoryName, VRMetadata, VRValue, VR_CATEGORY, VR_CATEGORY_NAME, VR_META, getVRCategory, isBinaryVR, isNumericVR, isStringVR, lookupTag, lookupTagByKeyword, lookupTagByName, segmentsToModifyPath, segmentsToString, sopClassNameFromUID, tagPathToSegments } from './dicom.cjs';
|
|
12
12
|
import { EventEmitter } from 'node:events';
|
|
13
13
|
export { B as BatchOptions, a as BatchResult, R as RetryOptions, b as batch, r as retry } from './retry-CJ60nZxE.cjs';
|
|
14
14
|
import 'node:net';
|
package/dist/index.d.ts
CHANGED
|
@@ -3,12 +3,12 @@ export { L as LineSource, P as ProcessLine, a as ResultValue, b as assertUnreach
|
|
|
3
3
|
import { A as AETitle, D as DicomTag, a as DicomTagPath, P as Port, S as SOPClassUID, T as TransferSyntaxUID, b as DicomDataset } from './DicomInstance-DGWB2mfD.js';
|
|
4
4
|
export { B as Brand, C as ChangeSet, c as DicomFilePath, d as DicomInstance, e as DicomOpenOptions, W as WalkTagEntry, f as WalkTagsOptions, g as createAETitle, h as createDicomFilePath, i as createDicomTag, j as createDicomTagPath, k as createPort, l as createSOPClassUID, m as createTransferSyntaxUID, t as tag, w as walkTags } from './DicomInstance-DGWB2mfD.js';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
export { A as AssociationAcknowledgedData, a as AssociationCompleteData, b as AssociationContext, c as AssociationReceivedData, d as AssociationSummary, e as AssociationTracker, C as CStoreRequestData, f as CannotStartListenerData, g as ConfigErrorData, D as DCMPRSCP_FATAL_EVENTS, h as DCMPRSCP_PATTERNS, i as DCMPSRCV_FATAL_EVENTS, j as DCMPSRCV_PATTERNS, k as DCMQRSCP_FATAL_EVENTS, l as DCMQRSCP_PATTERNS, m as DCMRECV_FATAL_EVENTS, n as DCMRECV_PATTERNS, o as DatabaseReadyData, p as DcmQRSCP, q as DcmQRSCPEventMap, r as DcmQRSCPOptions, s as DcmprsCP, t as DcmprsCPEventMap, u as DcmprsCPOptions, v as DcmprscpEvent, w as DcmprscpEventValue, x as Dcmpsrcv, y as DcmpsrcvEvent, z as DcmpsrcvEventMap, B as DcmpsrcvEventValue, E as DcmpsrcvOptions, F as DcmqrscpEvent, G as DcmqrscpEventValue, H as Dcmrecv, I as DcmrecvEvent, J as DcmrecvEventMap, K as DcmrecvEventValue, L as DcmrecvOptions, M as DcmtkProcess, N as DcmtkProcessConfig, O as DcmtkProcessEventMap, P as DicomReceiver, Q as DicomReceiverEventMap, R as DicomReceiverOptions, S as EventPattern, T as FileDeletedData, U as FileReceivedData, V as FilenameMode, W as FilenameModeValue, X as LineParser, Y as LineParserEventMap, Z as MultiLineConfig, _ as PoolAssociationReceivedData, $ as PoolCStoreRequestData, a0 as PoolEchoRequestData, a1 as PoolRefusingAssociationData, a2 as PoolStatus, a3 as PreferredTransferSyntax, a4 as PreferredTransferSyntaxValue, a5 as PrintAssociationAcknowledgedData, a6 as PrintAssociationReceivedData, a7 as PrintCannotStartListenerData, a8 as ProcessState, a9 as ProcessStateValue, aa as QRAssociationAcknowledgedData, ab as QRAssociationReceivedData, ac as QRCFindRequestData, ad as QRCGetRequestData, ae as QRCMoveRequestData, af as QRCStoreRequestData, ag as QRCannotStartListenerData, ah as QRListeningData, ai as ReceiverAssociationAcknowledgedData, aj as ReceiverAssociationData, ak as ReceiverAssociationFinalizedData, al as ReceiverAssociationReceivedData, am as ReceiverCStoreRequestData, an as ReceiverCannotStartListenerData, ao as ReceiverConfigErrorData, ap as ReceiverDatabaseReadyData, aq as ReceiverEchoRequestData, ar as ReceiverErrorData, as as ReceiverFileData, at as ReceiverFileReceivedData, au as ReceiverFileStoredData, av as ReceiverInstanceData, aw as ReceiverInstanceErrorData, ax as ReceiverListeningData, ay as RefusingAssociationData, az as STORESCP_FATAL_EVENTS, aA as STORESCP_PATTERNS, aB as StorageMode, aC as StorageModeValue, aD as StoreSCP, aE as StoreSCPEventMap, aF as StoreSCPOptions, aG as StoreSCPPreset, aH as StoreSCPPresetName, aI as StoredFileData, aJ as StorescpEvent, aK as StorescpEventValue, aL as StoringFileData, aM as SubdirectoryCreatedData, aN as SubdirectoryMode, aO as SubdirectoryModeValue, aP as TrackedFile, aQ as WLMSCPFS_FATAL_EVENTS, aR as WLMSCPFS_PATTERNS, aS as WlmAssociationAcknowledgedData, aT as WlmAssociationReceivedData, aU as WlmCFindRequestData, aV as WlmCannotStartListenerData, aW as WlmListeningData, aX as Wlmscpfs, aY as WlmscpfsEvent, aZ as WlmscpfsEventMap, a_ as WlmscpfsEventValue, a$ as WlmscpfsOptions } from './index-
|
|
6
|
+
export { A as AssociationAcknowledgedData, a as AssociationCompleteData, b as AssociationContext, c as AssociationReceivedData, d as AssociationSummary, e as AssociationTracker, C as CStoreRequestData, f as CannotStartListenerData, g as ConfigErrorData, D as DCMPRSCP_FATAL_EVENTS, h as DCMPRSCP_PATTERNS, i as DCMPSRCV_FATAL_EVENTS, j as DCMPSRCV_PATTERNS, k as DCMQRSCP_FATAL_EVENTS, l as DCMQRSCP_PATTERNS, m as DCMRECV_FATAL_EVENTS, n as DCMRECV_PATTERNS, o as DatabaseReadyData, p as DcmQRSCP, q as DcmQRSCPEventMap, r as DcmQRSCPOptions, s as DcmprsCP, t as DcmprsCPEventMap, u as DcmprsCPOptions, v as DcmprscpEvent, w as DcmprscpEventValue, x as Dcmpsrcv, y as DcmpsrcvEvent, z as DcmpsrcvEventMap, B as DcmpsrcvEventValue, E as DcmpsrcvOptions, F as DcmqrscpEvent, G as DcmqrscpEventValue, H as Dcmrecv, I as DcmrecvEvent, J as DcmrecvEventMap, K as DcmrecvEventValue, L as DcmrecvOptions, M as DcmtkProcess, N as DcmtkProcessConfig, O as DcmtkProcessEventMap, P as DicomReceiver, Q as DicomReceiverEventMap, R as DicomReceiverOptions, S as EventPattern, T as FileDeletedData, U as FileReceivedData, V as FilenameMode, W as FilenameModeValue, X as LineParser, Y as LineParserEventMap, Z as MultiLineConfig, _ as PoolAssociationReceivedData, $ as PoolCStoreRequestData, a0 as PoolEchoRequestData, a1 as PoolRefusingAssociationData, a2 as PoolStatus, a3 as PreferredTransferSyntax, a4 as PreferredTransferSyntaxValue, a5 as PrintAssociationAcknowledgedData, a6 as PrintAssociationReceivedData, a7 as PrintCannotStartListenerData, a8 as ProcessState, a9 as ProcessStateValue, aa as QRAssociationAcknowledgedData, ab as QRAssociationReceivedData, ac as QRCFindRequestData, ad as QRCGetRequestData, ae as QRCMoveRequestData, af as QRCStoreRequestData, ag as QRCannotStartListenerData, ah as QRListeningData, ai as ReceiverAssociationAcknowledgedData, aj as ReceiverAssociationData, ak as ReceiverAssociationFinalizedData, al as ReceiverAssociationReceivedData, am as ReceiverCStoreRequestData, an as ReceiverCannotStartListenerData, ao as ReceiverConfigErrorData, ap as ReceiverDatabaseReadyData, aq as ReceiverEchoRequestData, ar as ReceiverErrorData, as as ReceiverFileData, at as ReceiverFileReceivedData, au as ReceiverFileStoredData, av as ReceiverInstanceData, aw as ReceiverInstanceErrorData, ax as ReceiverListeningData, ay as RefusingAssociationData, az as STORESCP_FATAL_EVENTS, aA as STORESCP_PATTERNS, aB as StorageMode, aC as StorageModeValue, aD as StoreSCP, aE as StoreSCPEventMap, aF as StoreSCPOptions, aG as StoreSCPPreset, aH as StoreSCPPresetName, aI as StoredFileData, aJ as StorescpEvent, aK as StorescpEventValue, aL as StoringFileData, aM as SubdirectoryCreatedData, aN as SubdirectoryMode, aO as SubdirectoryModeValue, aP as TrackedFile, aQ as WLMSCPFS_FATAL_EVENTS, aR as WLMSCPFS_PATTERNS, aS as WlmAssociationAcknowledgedData, aT as WlmAssociationReceivedData, aU as WlmCFindRequestData, aV as WlmCannotStartListenerData, aW as WlmListeningData, aX as Wlmscpfs, aY as WlmscpfsEvent, aZ as WlmscpfsEventMap, a_ as WlmscpfsEventValue, a$ as WlmscpfsOptions } from './index-D7nnTY1R.js';
|
|
7
7
|
import { T as TagModification } from './dcmodify-CHvwChFu.js';
|
|
8
8
|
export { b as DcmodifyOptions, c as DcmodifyResult, D as DicomJsonElement, a as DicomJsonModel, d as ToolBaseOptions, e as dcmodify, x as xmlToJson } from './dcmodify-CHvwChFu.js';
|
|
9
|
-
export { DictionaryEntry, SOPClassName, SOP_CLASSES, TagSegment, VR, VRCategoryName, VRMetadata, VRValue, VR_CATEGORY, VR_CATEGORY_NAME, VR_META, getVRCategory, isBinaryVR, isNumericVR, isStringVR, lookupTag, lookupTagByKeyword, lookupTagByName, segmentsToModifyPath, segmentsToString, sopClassNameFromUID, tagPathToSegments } from './dicom.js';
|
|
10
9
|
import { ProposedTransferSyntaxValue } from './tools.js';
|
|
11
|
-
export { Cda2dcmOptions, Cda2dcmResult, ColorConversion, ColorConversionValue, Dcm2cdaOptions, Dcm2cdaResult, Dcm2jsonOptions, Dcm2jsonResult, Dcm2jsonSource, Dcm2pdfOptions, Dcm2pdfResult, Dcm2pnmOptions, Dcm2pnmOutputFormat, Dcm2pnmOutputFormatValue, Dcm2pnmResult, Dcm2xmlCharset, Dcm2xmlCharsetValue, Dcm2xmlOptions, Dcm2xmlResult, DcmcjpegOptions, DcmcjpegResult, DcmcjplsOptions, DcmcjplsResult, DcmconvOptions, DcmconvResult, DcmcrleOptions, DcmcrleResult, DcmdecapOptions, DcmdecapResult, DcmdjpegOptions, DcmdjpegResult, DcmdjplsOptions, DcmdjplsResult, DcmdrleOptions, DcmdrleResult, DcmdspfnOptions, DcmdspfnResult, DcmdumpFormat, DcmdumpFormatValue, DcmdumpOptions, DcmdumpResult, DcmencapOptions, DcmencapResult, DcmftestOptions, DcmftestResult, DcmgpdirOptions, DcmgpdirResult, Dcmj2pnmOptions, Dcmj2pnmOutputFormat, Dcmj2pnmOutputFormatValue, Dcmj2pnmResult, DcmmkcrvOptions, DcmmkcrvResult, DcmmkdirOptions, DcmmkdirResult, DcmmklutOptions, DcmmklutResult, Dcmp2pgmOptions, Dcmp2pgmResult, DcmprscuOptions, DcmprscuResult, DcmpschkOptions, DcmpschkResult, DcmpsmkOptions, DcmpsmkResult, DcmpsprtOptions, DcmpsprtResult, DcmqridxOptions, DcmqridxResult, DcmquantOptions, DcmquantResult, DcmscaleOptions, DcmscaleResult, DcmsendOptions, DcmsendResult, Dcod2lumOptions, Dcod2lumResult, DconvlumOptions, DconvlumResult, DrtdumpOptions, DrtdumpResult, Dsr2xmlOptions, Dsr2xmlResult, DsrdumpOptions, DsrdumpResult, Dump2dcmOptions, Dump2dcmResult, EchoscuOptions, EchoscuResult, FindscuOptions, FindscuResult, GetQueryModel, GetQueryModelValue, GetscuOptions, GetscuResult, Img2dcmInputFormat, Img2dcmInputFormatValue, Img2dcmOptions, Img2dcmResult, JplsColorConversion, JplsColorConversionValue, Json2dcmOptions, Json2dcmResult, LutType, LutTypeValue, MoveQueryModel, MoveQueryModelValue, MovescuOptions, MovescuResult, Pdf2dcmOptions, Pdf2dcmResult, ProposedTransferSyntax, QueryModel, QueryModelValue, Stl2dcmOptions, Stl2dcmResult, StorescuOptions, StorescuResult, TermscuOptions, TermscuResult, TransferSyntax, TransferSyntaxValue, Xml2dcmOptions, Xml2dcmResult, Xml2dsrOptions, Xml2dsrResult, cda2dcm, dcm2cda, dcm2json, dcm2pdf, dcm2pnm, dcm2xml, dcmcjpeg, dcmcjpls, dcmconv, dcmcrle, dcmdecap, dcmdjpeg, dcmdjpls, dcmdrle, dcmdspfn, dcmdump, dcmencap, dcmftest, dcmgpdir, dcmj2pnm, dcmmkcrv, dcmmkdir, dcmmklut, dcmp2pgm, dcmprscu, dcmpschk, dcmpsmk, dcmpsprt, dcmqridx, dcmquant, dcmscale, dcmsend, dcod2lum, dconvlum, drtdump, dsr2xml, dsrdump, dump2dcm, echoscu, findscu, getscu, img2dcm, json2dcm, movescu, pdf2dcm, stl2dcm, storescu, termscu, xml2dcm, xml2dsr } from './tools.js';
|
|
10
|
+
export { Cda2dcmOptions, Cda2dcmResult, ColorConversion, ColorConversionValue, Dcm2cdaOptions, Dcm2cdaResult, Dcm2jsonOptions, Dcm2jsonResult, Dcm2jsonSource, Dcm2pdfOptions, Dcm2pdfResult, Dcm2pnmOptions, Dcm2pnmOutputFormat, Dcm2pnmOutputFormatValue, Dcm2pnmResult, Dcm2xmlCharset, Dcm2xmlCharsetValue, Dcm2xmlOptions, Dcm2xmlResult, DcmcjpegOptions, DcmcjpegResult, DcmcjplsOptions, DcmcjplsResult, DcmconvOptions, DcmconvResult, DcmcrleOptions, DcmcrleResult, DcmdecapOptions, DcmdecapResult, DcmdjpegOptions, DcmdjpegResult, DcmdjplsOptions, DcmdjplsResult, DcmdrleOptions, DcmdrleResult, DcmdspfnOptions, DcmdspfnResult, DcmdumpFormat, DcmdumpFormatValue, DcmdumpOptions, DcmdumpResult, DcmencapOptions, DcmencapResult, DcmftestOptions, DcmftestResult, DcmgpdirOptions, DcmgpdirResult, Dcmj2pnmOptions, Dcmj2pnmOutputFormat, Dcmj2pnmOutputFormatValue, Dcmj2pnmResult, DcmmkcrvOptions, DcmmkcrvResult, DcmmkdirOptions, DcmmkdirResult, DcmmklutOptions, DcmmklutResult, Dcmp2pgmOptions, Dcmp2pgmResult, DcmprscuOptions, DcmprscuResult, DcmpschkOptions, DcmpschkResult, DcmpsmkOptions, DcmpsmkResult, DcmpsprtOptions, DcmpsprtResult, DcmqridxOptions, DcmqridxResult, DcmquantOptions, DcmquantResult, DcmscaleOptions, DcmscaleResult, DcmsendOptions, DcmsendResult, Dcod2lumOptions, Dcod2lumResult, DconvlumOptions, DconvlumResult, DrtdumpOptions, DrtdumpResult, Dsr2xmlOptions, Dsr2xmlResult, DsrdumpOptions, DsrdumpResult, Dump2dcmOptions, Dump2dcmResult, EchoscuOptions, EchoscuResult, FindscuOptions, FindscuResult, GetQueryModel, GetQueryModelValue, GetscuOptions, GetscuResult, Img2dcmInputFormat, Img2dcmInputFormatValue, Img2dcmOptions, Img2dcmResult, JplsColorConversion, JplsColorConversionValue, Json2dcmOptions, Json2dcmResult, LutType, LutTypeValue, MoveQueryModel, MoveQueryModelValue, MovescuOptions, MovescuResult, Pdf2dcmOptions, Pdf2dcmResult, ProposedTransferSyntax, QueryModel, QueryModelValue, Stl2dcmOptions, Stl2dcmResult, StorescuOptions, StorescuResult, TermscuOptions, TermscuResult, ToolExecutionError, TransferSyntax, TransferSyntaxValue, Xml2dcmOptions, Xml2dcmResult, Xml2dsrOptions, Xml2dsrResult, cda2dcm, dcm2cda, dcm2json, dcm2pdf, dcm2pnm, dcm2xml, dcmcjpeg, dcmcjpls, dcmconv, dcmcrle, dcmdecap, dcmdjpeg, dcmdjpls, dcmdrle, dcmdspfn, dcmdump, dcmencap, dcmftest, dcmgpdir, dcmj2pnm, dcmmkcrv, dcmmkdir, dcmmklut, dcmp2pgm, dcmprscu, dcmpschk, dcmpsmk, dcmpsprt, dcmqridx, dcmquant, dcmscale, dcmsend, dcod2lum, dconvlum, drtdump, dsr2xml, dsrdump, dump2dcm, echoscu, findscu, getscu, img2dcm, json2dcm, movescu, pdf2dcm, stl2dcm, storescu, termscu, xml2dcm, xml2dsr } from './tools.js';
|
|
11
|
+
export { DictionaryEntry, SOPClassName, SOP_CLASSES, TagSegment, VR, VRCategoryName, VRMetadata, VRValue, VR_CATEGORY, VR_CATEGORY_NAME, VR_META, getVRCategory, isBinaryVR, isNumericVR, isStringVR, lookupTag, lookupTagByKeyword, lookupTagByName, segmentsToModifyPath, segmentsToString, sopClassNameFromUID, tagPathToSegments } from './dicom.js';
|
|
12
12
|
import { EventEmitter } from 'node:events';
|
|
13
13
|
export { B as BatchOptions, a as BatchResult, R as RetryOptions, b as batch, r as retry } from './retry-Aryrk1uP.js';
|
|
14
14
|
import 'node:net';
|
package/dist/index.js
CHANGED
|
@@ -688,6 +688,51 @@ var LineParser = class extends EventEmitter {
|
|
|
688
688
|
}
|
|
689
689
|
};
|
|
690
690
|
|
|
691
|
+
// src/tools/_toolError.ts
|
|
692
|
+
var MAX_ARGS_LENGTH = 200;
|
|
693
|
+
var MAX_STDERR_LENGTH = 500;
|
|
694
|
+
function truncate(value, maxLength) {
|
|
695
|
+
if (value.length <= maxLength) {
|
|
696
|
+
return value;
|
|
697
|
+
}
|
|
698
|
+
return `${value.substring(0, maxLength)}...`;
|
|
699
|
+
}
|
|
700
|
+
var ToolExecutionError = class extends Error {
|
|
701
|
+
constructor(message, details) {
|
|
702
|
+
super(message);
|
|
703
|
+
__publicField(this, "stdout");
|
|
704
|
+
__publicField(this, "stderr");
|
|
705
|
+
__publicField(this, "exitCode");
|
|
706
|
+
this.name = "ToolExecutionError";
|
|
707
|
+
this.stdout = details.stdout;
|
|
708
|
+
this.stderr = details.stderr;
|
|
709
|
+
this.exitCode = details.exitCode;
|
|
710
|
+
}
|
|
711
|
+
};
|
|
712
|
+
function createToolError(toolName, args, exitCode, stderr8, stdout = "") {
|
|
713
|
+
const argsStr = truncate(args.join(" "), MAX_ARGS_LENGTH);
|
|
714
|
+
const stderrStr = truncate(stderr8.trim(), MAX_STDERR_LENGTH);
|
|
715
|
+
const parts = [`${toolName} failed (exit code ${String(exitCode)})`];
|
|
716
|
+
if (argsStr.length > 0) {
|
|
717
|
+
parts.push(`args: ${argsStr}`);
|
|
718
|
+
}
|
|
719
|
+
if (stderrStr.length > 0) {
|
|
720
|
+
parts.push(`stderr: ${stderrStr}`);
|
|
721
|
+
}
|
|
722
|
+
return new ToolExecutionError(parts.join(" | "), { stdout, stderr: stderr8, exitCode });
|
|
723
|
+
}
|
|
724
|
+
function createValidationError(toolName, zodError) {
|
|
725
|
+
const parts = [];
|
|
726
|
+
for (let i = 0; i < zodError.issues.length; i++) {
|
|
727
|
+
const issue = zodError.issues[i];
|
|
728
|
+
if (issue === void 0) continue;
|
|
729
|
+
const path2 = issue.path.length > 0 ? issue.path.map(String).join(".") : "(root)";
|
|
730
|
+
parts.push(`${path2}: ${issue.message}`);
|
|
731
|
+
}
|
|
732
|
+
const detail = parts.length > 0 ? parts.join("; ") : "unknown validation error";
|
|
733
|
+
return new Error(`${toolName}: invalid options \u2014 ${detail}`);
|
|
734
|
+
}
|
|
735
|
+
|
|
691
736
|
// src/dicom/vr.ts
|
|
692
737
|
var VR = {
|
|
693
738
|
/** Application Entity — 16 bytes max, leading/trailing spaces significant */
|
|
@@ -31111,39 +31156,6 @@ function resolveBinary(toolName) {
|
|
|
31111
31156
|
return ok(join(pathResult.value, binaryName2));
|
|
31112
31157
|
}
|
|
31113
31158
|
|
|
31114
|
-
// src/tools/_toolError.ts
|
|
31115
|
-
var MAX_ARGS_LENGTH = 200;
|
|
31116
|
-
var MAX_STDERR_LENGTH = 500;
|
|
31117
|
-
function truncate(value, maxLength) {
|
|
31118
|
-
if (value.length <= maxLength) {
|
|
31119
|
-
return value;
|
|
31120
|
-
}
|
|
31121
|
-
return `${value.substring(0, maxLength)}...`;
|
|
31122
|
-
}
|
|
31123
|
-
function createToolError(toolName, args, exitCode, stderr8) {
|
|
31124
|
-
const argsStr = truncate(args.join(" "), MAX_ARGS_LENGTH);
|
|
31125
|
-
const stderrStr = truncate(stderr8.trim(), MAX_STDERR_LENGTH);
|
|
31126
|
-
const parts = [`${toolName} failed (exit code ${String(exitCode)})`];
|
|
31127
|
-
if (argsStr.length > 0) {
|
|
31128
|
-
parts.push(`args: ${argsStr}`);
|
|
31129
|
-
}
|
|
31130
|
-
if (stderrStr.length > 0) {
|
|
31131
|
-
parts.push(`stderr: ${stderrStr}`);
|
|
31132
|
-
}
|
|
31133
|
-
return new Error(parts.join(" | "));
|
|
31134
|
-
}
|
|
31135
|
-
function createValidationError(toolName, zodError) {
|
|
31136
|
-
const parts = [];
|
|
31137
|
-
for (let i = 0; i < zodError.issues.length; i++) {
|
|
31138
|
-
const issue = zodError.issues[i];
|
|
31139
|
-
if (issue === void 0) continue;
|
|
31140
|
-
const path2 = issue.path.length > 0 ? issue.path.map(String).join(".") : "(root)";
|
|
31141
|
-
parts.push(`${path2}: ${issue.message}`);
|
|
31142
|
-
}
|
|
31143
|
-
const detail = parts.length > 0 ? parts.join("; ") : "unknown validation error";
|
|
31144
|
-
return new Error(`${toolName}: invalid options \u2014 ${detail}`);
|
|
31145
|
-
}
|
|
31146
|
-
|
|
31147
31159
|
// src/tools/dcm2xml.ts
|
|
31148
31160
|
var Dcm2xmlCharset = {
|
|
31149
31161
|
/** Use UTF-8 encoding (default). */
|
|
@@ -31527,15 +31539,17 @@ async function dcm2json(inputPath, options) {
|
|
|
31527
31539
|
}
|
|
31528
31540
|
const timeoutMs = options?.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
31529
31541
|
const signal = options?.signal;
|
|
31542
|
+
const startTime = Date.now();
|
|
31543
|
+
const remaining = () => Math.max(1e3, timeoutMs - (Date.now() - startTime));
|
|
31530
31544
|
const verbosity = options?.verbosity;
|
|
31531
31545
|
if (options?.directOnly === true) {
|
|
31532
|
-
return tryDirectPath(inputPath,
|
|
31546
|
+
return tryDirectPath(inputPath, remaining(), signal, verbosity);
|
|
31533
31547
|
}
|
|
31534
|
-
const xmlResult = await tryXmlPath(inputPath,
|
|
31548
|
+
const xmlResult = await tryXmlPath(inputPath, remaining(), signal, buildXmlOpts(options));
|
|
31535
31549
|
if (xmlResult.ok) {
|
|
31536
31550
|
return xmlResult;
|
|
31537
31551
|
}
|
|
31538
|
-
return tryDirectPath(inputPath,
|
|
31552
|
+
return tryDirectPath(inputPath, remaining(), signal, verbosity);
|
|
31539
31553
|
}
|
|
31540
31554
|
var DcmdumpFormat = {
|
|
31541
31555
|
/** Print standard DCMTK format. */
|
|
@@ -33263,7 +33277,7 @@ async function dcmsend(options) {
|
|
|
33263
33277
|
return err(result.error);
|
|
33264
33278
|
}
|
|
33265
33279
|
if (result.value.exitCode !== 0) {
|
|
33266
|
-
return err(createToolError("dcmsend", args, result.value.exitCode, result.value.stderr));
|
|
33280
|
+
return err(createToolError("dcmsend", args, result.value.exitCode, result.value.stderr, result.value.stdout));
|
|
33267
33281
|
}
|
|
33268
33282
|
return ok({ success: true, stdout: result.value.stdout, stderr: result.value.stderr });
|
|
33269
33283
|
}
|
|
@@ -33418,10 +33432,10 @@ async function storescu(options) {
|
|
|
33418
33432
|
return err(result.error);
|
|
33419
33433
|
}
|
|
33420
33434
|
if (result.value.exitCode !== 0) {
|
|
33421
|
-
return err(createToolError("storescu", args, result.value.exitCode, result.value.stderr));
|
|
33435
|
+
return err(createToolError("storescu", args, result.value.exitCode, result.value.stderr, result.value.stdout));
|
|
33422
33436
|
}
|
|
33423
33437
|
if (DIMSE_ERROR_PATTERN.test(result.value.stderr)) {
|
|
33424
|
-
return err(createToolError("storescu", args, 0, result.value.stderr));
|
|
33438
|
+
return err(createToolError("storescu", args, 0, result.value.stderr, result.value.stdout));
|
|
33425
33439
|
}
|
|
33426
33440
|
return ok({ success: true, stdout: result.value.stdout, stderr: result.value.stderr });
|
|
33427
33441
|
}
|
|
@@ -36492,7 +36506,7 @@ var Worker = class {
|
|
|
36492
36506
|
this.port = port;
|
|
36493
36507
|
this.tempDir = tempDir;
|
|
36494
36508
|
}
|
|
36495
|
-
/** Current worker state. */
|
|
36509
|
+
/** Current worker state: idle (ready), busy (handling association), finalizing (draining). */
|
|
36496
36510
|
get state() {
|
|
36497
36511
|
return this._state;
|
|
36498
36512
|
}
|
|
@@ -36524,6 +36538,10 @@ var Worker = class {
|
|
|
36524
36538
|
this._instancesReceived = 0;
|
|
36525
36539
|
this._instanceErrors = 0;
|
|
36526
36540
|
}
|
|
36541
|
+
/** Marks the worker as finalizing — still has valid context but cannot accept new connections. */
|
|
36542
|
+
markFinalizing() {
|
|
36543
|
+
this._state = "finalizing";
|
|
36544
|
+
}
|
|
36527
36545
|
/**
|
|
36528
36546
|
* Returns the worker to idle. Context is intentionally preserved so that
|
|
36529
36547
|
* late FILE_RECEIVED events (arriving in a subsequent pipe chunk after
|
|
@@ -36706,6 +36724,7 @@ var DicomReceiver = class _DicomReceiver extends EventEmitter {
|
|
|
36706
36724
|
this.options.signal.removeEventListener("abort", this.abortHandler);
|
|
36707
36725
|
}
|
|
36708
36726
|
await this.closeTcpProxy();
|
|
36727
|
+
await this.drainAllWorkers();
|
|
36709
36728
|
const stopPromises = [];
|
|
36710
36729
|
for (const worker of this.workers.values()) {
|
|
36711
36730
|
stopPromises.push(this.stopWorker(worker));
|
|
@@ -36874,6 +36893,18 @@ var DicomReceiver = class _DicomReceiver extends EventEmitter {
|
|
|
36874
36893
|
this.tcpServer.close(() => resolve());
|
|
36875
36894
|
});
|
|
36876
36895
|
}
|
|
36896
|
+
/** Drains in-flight file and instance work on all non-idle workers, with a 5s safety timeout. */
|
|
36897
|
+
async drainAllWorkers() {
|
|
36898
|
+
const drainPromises = [];
|
|
36899
|
+
for (const worker of this.workers.values()) {
|
|
36900
|
+
if (worker.state !== "idle") {
|
|
36901
|
+
drainPromises.push(worker.drainPendingFiles());
|
|
36902
|
+
drainPromises.push(worker.drainInstancePending());
|
|
36903
|
+
}
|
|
36904
|
+
}
|
|
36905
|
+
if (drainPromises.length === 0) return;
|
|
36906
|
+
await Promise.race([Promise.all(drainPromises), setTimeout$1(5e3)]);
|
|
36907
|
+
}
|
|
36877
36908
|
// -----------------------------------------------------------------------
|
|
36878
36909
|
// Connection routing
|
|
36879
36910
|
// -----------------------------------------------------------------------
|
|
@@ -36902,7 +36933,9 @@ var DicomReceiver = class _DicomReceiver extends EventEmitter {
|
|
|
36902
36933
|
};
|
|
36903
36934
|
worker.beginAssociation(ctx);
|
|
36904
36935
|
this.pipeConnection(worker, remoteSocket);
|
|
36905
|
-
void this.replenishPool()
|
|
36936
|
+
void this.replenishPool().catch((e) => {
|
|
36937
|
+
this.emit("error", { error: e instanceof Error ? e : new Error(String(e)) });
|
|
36938
|
+
});
|
|
36906
36939
|
}
|
|
36907
36940
|
/** Finds an idle worker, retrying up to connectionTimeoutMs. */
|
|
36908
36941
|
async findIdleWorker() {
|
|
@@ -37141,6 +37174,7 @@ var DicomReceiver = class _DicomReceiver extends EventEmitter {
|
|
|
37141
37174
|
/** Returns worker to idle pool on association complete, emits summary. */
|
|
37142
37175
|
wireAssociationComplete(worker) {
|
|
37143
37176
|
worker.dcmrecv.onAssociationComplete((data) => {
|
|
37177
|
+
worker.markFinalizing();
|
|
37144
37178
|
setImmediate(() => {
|
|
37145
37179
|
void this.finalizeAssociation(worker, data);
|
|
37146
37180
|
});
|
|
@@ -37294,8 +37328,14 @@ var SenderEngine = class {
|
|
|
37294
37328
|
// Bucket state (bucket mode only)
|
|
37295
37329
|
__publicField(this, "currentBucket", []);
|
|
37296
37330
|
__publicField(this, "bucketTimer");
|
|
37331
|
+
// Abort wiring: stopController fires on stop(); combinedSignal also fires
|
|
37332
|
+
// when the externally provided config.signal aborts. Passed into the
|
|
37333
|
+
// executor and into delayInterruptible so stop() unblocks promptly.
|
|
37334
|
+
__publicField(this, "stopController", new AbortController());
|
|
37335
|
+
__publicField(this, "combinedSignal");
|
|
37297
37336
|
this.config = config;
|
|
37298
37337
|
this.effectiveMaxAssociations = config.configuredMaxAssociations;
|
|
37338
|
+
this.combinedSignal = combineSignals(this.stopController.signal, config.signal);
|
|
37299
37339
|
}
|
|
37300
37340
|
// -----------------------------------------------------------------------
|
|
37301
37341
|
// Public API
|
|
@@ -37321,6 +37361,7 @@ var SenderEngine = class {
|
|
|
37321
37361
|
async stop() {
|
|
37322
37362
|
if (this.isStopped) return;
|
|
37323
37363
|
this.isStopped = true;
|
|
37364
|
+
this.stopController.abort();
|
|
37324
37365
|
this.clearBucketTimer();
|
|
37325
37366
|
this.rejectBucket(`${this.config.senderName}: sender stopped`);
|
|
37326
37367
|
this.rejectQueue(`${this.config.senderName}: sender stopped`);
|
|
@@ -37437,18 +37478,48 @@ var SenderEngine = class {
|
|
|
37437
37478
|
}
|
|
37438
37479
|
};
|
|
37439
37480
|
}
|
|
37440
|
-
/**
|
|
37481
|
+
/**
|
|
37482
|
+
* Flushes the current bucket. Entries with the same bucketParamsKey merge
|
|
37483
|
+
* into one underlying call; differing keys split into separate calls,
|
|
37484
|
+
* preserving first-occurrence order. Each group emits its own
|
|
37485
|
+
* BUCKET_FLUSHED. If the number of groups exceeds available capacity,
|
|
37486
|
+
* the surplus is queued and drains as capacity frees.
|
|
37487
|
+
*/
|
|
37441
37488
|
flushBucketInternal(reason) {
|
|
37442
37489
|
if (this.currentBucket.length === 0) return;
|
|
37443
37490
|
const entries = [...this.currentBucket];
|
|
37444
37491
|
this.currentBucket = [];
|
|
37445
|
-
const
|
|
37446
|
-
|
|
37447
|
-
|
|
37448
|
-
|
|
37449
|
-
|
|
37450
|
-
|
|
37492
|
+
const groups = this.groupBucketByParams(entries);
|
|
37493
|
+
for (const group of groups) {
|
|
37494
|
+
const bucketEntry = this.mergeBucketEntries(group);
|
|
37495
|
+
this.config.emitters.emitBucketFlushed({ fileCount: bucketEntry.files.length, reason });
|
|
37496
|
+
if (this.activeAssociations < this.effectiveMaxAssociations) {
|
|
37497
|
+
void this.executeEntry(bucketEntry);
|
|
37498
|
+
} else {
|
|
37499
|
+
this.queue.push(bucketEntry);
|
|
37500
|
+
}
|
|
37501
|
+
}
|
|
37502
|
+
}
|
|
37503
|
+
/**
|
|
37504
|
+
* Groups bucket entries by bucketParamsKey while preserving first-occurrence
|
|
37505
|
+
* order. Without a key function, returns a single group containing every
|
|
37506
|
+
* entry (current behavior for callers that don't vary binaryParams).
|
|
37507
|
+
*/
|
|
37508
|
+
groupBucketByParams(entries) {
|
|
37509
|
+
const keyFn = this.config.bucketParamsKey;
|
|
37510
|
+
if (keyFn === void 0) return [entries.slice()];
|
|
37511
|
+
const groups = /* @__PURE__ */ new Map();
|
|
37512
|
+
for (let i = 0; i < entries.length; i++) {
|
|
37513
|
+
const entry = entries[i];
|
|
37514
|
+
const key = keyFn(entry.binaryParams);
|
|
37515
|
+
let group = groups.get(key);
|
|
37516
|
+
if (group === void 0) {
|
|
37517
|
+
group = [];
|
|
37518
|
+
groups.set(key, group);
|
|
37519
|
+
}
|
|
37520
|
+
group.push(entry);
|
|
37451
37521
|
}
|
|
37522
|
+
return Array.from(groups.values());
|
|
37452
37523
|
}
|
|
37453
37524
|
/** Resets the bucket flush timer. */
|
|
37454
37525
|
resetBucketTimer() {
|
|
@@ -37490,25 +37561,33 @@ var SenderEngine = class {
|
|
|
37490
37561
|
/** Attempts the binary call up to maxAttempts times. Returns undefined on success. */
|
|
37491
37562
|
async attemptSend(entry, maxAttempts, startMs) {
|
|
37492
37563
|
let lastError;
|
|
37493
|
-
|
|
37564
|
+
let lastOutput = { stdout: "", stderr: "" };
|
|
37494
37565
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
37495
37566
|
if (this.isStopped) {
|
|
37496
|
-
this.
|
|
37497
|
-
entry.resolve(err(new Error(`${this.config.senderName}: sender stopped`)));
|
|
37498
|
-
return void 0;
|
|
37567
|
+
return this.resolveStopped(entry);
|
|
37499
37568
|
}
|
|
37500
|
-
const
|
|
37501
|
-
|
|
37502
|
-
|
|
37569
|
+
const outcome = await this.config.executor(entry.files, entry.timeoutMs, entry.binaryParams, this.combinedSignal);
|
|
37570
|
+
lastOutput = { stdout: outcome.stdout, stderr: outcome.stderr };
|
|
37571
|
+
if (outcome.error === void 0) {
|
|
37572
|
+
this.handleSendSuccess(entry, startMs, lastOutput);
|
|
37503
37573
|
return void 0;
|
|
37504
37574
|
}
|
|
37505
|
-
|
|
37575
|
+
if (this.isStopped) {
|
|
37576
|
+
return this.resolveStopped(entry);
|
|
37577
|
+
}
|
|
37578
|
+
lastError = outcome.error;
|
|
37506
37579
|
if (attempt < maxAttempts - 1) {
|
|
37507
|
-
await
|
|
37580
|
+
await delayInterruptible(this.config.retryDelayMs * (attempt + 1), this.combinedSignal);
|
|
37508
37581
|
}
|
|
37509
37582
|
}
|
|
37510
37583
|
return { error: lastError ?? new Error(`${this.config.senderName}: send failed`), output: lastOutput };
|
|
37511
37584
|
}
|
|
37585
|
+
/** Resolves the entry as stopped and decrements activeAssociations. Used from attemptSend. */
|
|
37586
|
+
resolveStopped(entry) {
|
|
37587
|
+
this.activeAssociations--;
|
|
37588
|
+
entry.resolve(err(new Error(`${this.config.senderName}: sender stopped`)));
|
|
37589
|
+
return void 0;
|
|
37590
|
+
}
|
|
37512
37591
|
/** Handles a successful send: updates state, emits event, resolves promise. */
|
|
37513
37592
|
handleSendSuccess(entry, startMs, output) {
|
|
37514
37593
|
this.activeAssociations--;
|
|
@@ -37614,11 +37693,41 @@ var SenderEngine = class {
|
|
|
37614
37693
|
});
|
|
37615
37694
|
}
|
|
37616
37695
|
};
|
|
37617
|
-
function
|
|
37696
|
+
function delayInterruptible(ms, signal) {
|
|
37697
|
+
if (signal.aborted) return Promise.resolve();
|
|
37618
37698
|
return new Promise((resolve) => {
|
|
37619
|
-
|
|
37699
|
+
const onAbort = () => {
|
|
37700
|
+
clearTimeout(timer);
|
|
37701
|
+
resolve();
|
|
37702
|
+
};
|
|
37703
|
+
const timer = setTimeout(() => {
|
|
37704
|
+
signal.removeEventListener("abort", onAbort);
|
|
37705
|
+
resolve();
|
|
37706
|
+
}, ms);
|
|
37707
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
37620
37708
|
});
|
|
37621
37709
|
}
|
|
37710
|
+
function combineSignals(primary, external) {
|
|
37711
|
+
if (external === void 0) return primary;
|
|
37712
|
+
if (primary.aborted) return primary;
|
|
37713
|
+
if (external.aborted) {
|
|
37714
|
+
const c = new AbortController();
|
|
37715
|
+
c.abort(external.reason);
|
|
37716
|
+
return c.signal;
|
|
37717
|
+
}
|
|
37718
|
+
const merged = new AbortController();
|
|
37719
|
+
const onPrimary = () => {
|
|
37720
|
+
merged.abort(primary.reason);
|
|
37721
|
+
external.removeEventListener("abort", onExternal);
|
|
37722
|
+
};
|
|
37723
|
+
const onExternal = () => {
|
|
37724
|
+
merged.abort(external.reason);
|
|
37725
|
+
primary.removeEventListener("abort", onPrimary);
|
|
37726
|
+
};
|
|
37727
|
+
primary.addEventListener("abort", onPrimary, { once: true });
|
|
37728
|
+
external.addEventListener("abort", onExternal, { once: true });
|
|
37729
|
+
return merged.signal;
|
|
37730
|
+
}
|
|
37622
37731
|
|
|
37623
37732
|
// src/senders/DicomSender.ts
|
|
37624
37733
|
var DEFAULT_MAX_ASSOCIATIONS = 4;
|
|
@@ -37653,6 +37762,9 @@ var DicomSenderOptionsSchema = z.object({
|
|
|
37653
37762
|
required: z.boolean().optional(),
|
|
37654
37763
|
signal: z.instanceof(AbortSignal).optional()
|
|
37655
37764
|
}).strict();
|
|
37765
|
+
function storescuBucketKey(p) {
|
|
37766
|
+
return JSON.stringify(p);
|
|
37767
|
+
}
|
|
37656
37768
|
function createStorescuExecutor(options) {
|
|
37657
37769
|
return async (files, timeoutMs, params, signal) => {
|
|
37658
37770
|
const result = await storescu({
|
|
@@ -37674,8 +37786,13 @@ function createStorescuExecutor(options) {
|
|
|
37674
37786
|
timeoutMs,
|
|
37675
37787
|
signal
|
|
37676
37788
|
});
|
|
37677
|
-
if (!result.ok)
|
|
37678
|
-
|
|
37789
|
+
if (!result.ok) {
|
|
37790
|
+
const e = result.error;
|
|
37791
|
+
const stdout = e instanceof ToolExecutionError ? e.stdout : "";
|
|
37792
|
+
const stderr8 = e instanceof ToolExecutionError ? e.stderr : "";
|
|
37793
|
+
return { stdout, stderr: stderr8, error: e };
|
|
37794
|
+
}
|
|
37795
|
+
return { stdout: result.value.stdout, stderr: result.value.stderr };
|
|
37679
37796
|
};
|
|
37680
37797
|
}
|
|
37681
37798
|
function resolveConfig2(options) {
|
|
@@ -37732,6 +37849,7 @@ var DicomSender = class _DicomSender extends EventEmitter {
|
|
|
37732
37849
|
executor: createStorescuExecutor(options),
|
|
37733
37850
|
signal: options.signal,
|
|
37734
37851
|
senderName: "DicomSender",
|
|
37852
|
+
bucketParamsKey: storescuBucketKey,
|
|
37735
37853
|
emitters: {
|
|
37736
37854
|
emitSendComplete: (data) => {
|
|
37737
37855
|
senderRef.current.emit("SEND_COMPLETE", data);
|
|
@@ -37900,6 +38018,9 @@ var DicomSendOptionsSchema = z.object({
|
|
|
37900
38018
|
noUidChecks: z.boolean().optional(),
|
|
37901
38019
|
signal: z.instanceof(AbortSignal).optional()
|
|
37902
38020
|
}).strict();
|
|
38021
|
+
function dcmsendBucketKey(p) {
|
|
38022
|
+
return JSON.stringify(p);
|
|
38023
|
+
}
|
|
37903
38024
|
function createDcmsendExecutor(options) {
|
|
37904
38025
|
return async (files, timeoutMs, params, signal) => {
|
|
37905
38026
|
const result = await dcmsend({
|
|
@@ -37923,8 +38044,13 @@ function createDcmsendExecutor(options) {
|
|
|
37923
38044
|
timeoutMs,
|
|
37924
38045
|
signal
|
|
37925
38046
|
});
|
|
37926
|
-
if (!result.ok)
|
|
37927
|
-
|
|
38047
|
+
if (!result.ok) {
|
|
38048
|
+
const e = result.error;
|
|
38049
|
+
const stdout = e instanceof ToolExecutionError ? e.stdout : "";
|
|
38050
|
+
const stderr8 = e instanceof ToolExecutionError ? e.stderr : "";
|
|
38051
|
+
return { stdout, stderr: stderr8, error: e };
|
|
38052
|
+
}
|
|
38053
|
+
return { stdout: result.value.stdout, stderr: result.value.stderr };
|
|
37928
38054
|
};
|
|
37929
38055
|
}
|
|
37930
38056
|
function resolveConfig3(options) {
|
|
@@ -37981,6 +38107,7 @@ var DicomSend = class _DicomSend extends EventEmitter {
|
|
|
37981
38107
|
executor: createDcmsendExecutor(options),
|
|
37982
38108
|
signal: options.signal,
|
|
37983
38109
|
senderName: "DicomSend",
|
|
38110
|
+
bucketParamsKey: dcmsendBucketKey,
|
|
37984
38111
|
emitters: {
|
|
37985
38112
|
emitSendComplete: (data) => {
|
|
37986
38113
|
senderRef.current.emit("SEND_COMPLETE", data);
|
|
@@ -38668,7 +38795,7 @@ function computeThroughput(succeeded, totalBytes, durationMs) {
|
|
|
38668
38795
|
bytesPerSec: durationSec > 0 ? totalBytes / durationSec : 0
|
|
38669
38796
|
};
|
|
38670
38797
|
}
|
|
38671
|
-
function
|
|
38798
|
+
function delay2(ms) {
|
|
38672
38799
|
return new Promise((resolve) => {
|
|
38673
38800
|
setTimeout(resolve, ms);
|
|
38674
38801
|
});
|
|
@@ -38815,7 +38942,7 @@ var DicomHammer = class _DicomHammer extends EventEmitter {
|
|
|
38815
38942
|
/** Sends a single file, with optional delay. */
|
|
38816
38943
|
async sendOneFile(file) {
|
|
38817
38944
|
if (this.opts.delayMs > 0) {
|
|
38818
|
-
await
|
|
38945
|
+
await delay2(this.opts.delayMs);
|
|
38819
38946
|
}
|
|
38820
38947
|
const result = await dcmsend({
|
|
38821
38948
|
host: this.opts.host,
|
|
@@ -38911,6 +39038,6 @@ var DicomHammer = class _DicomHammer extends EventEmitter {
|
|
|
38911
39038
|
}
|
|
38912
39039
|
};
|
|
38913
39040
|
|
|
38914
|
-
export { AETitleSchema, AssociationTracker, ChangeSet, ColorConversion, DCMPRSCP_FATAL_EVENTS, DCMPRSCP_PATTERNS, DCMPSRCV_FATAL_EVENTS, DCMPSRCV_PATTERNS, DCMQRSCP_FATAL_EVENTS, DCMQRSCP_PATTERNS, DCMRECV_FATAL_EVENTS, DCMRECV_PATTERNS, DEFAULT_BLOCK_TIMEOUT_MS, DEFAULT_DICOM_PORT, DEFAULT_DRAIN_TIMEOUT_MS, DEFAULT_PARSE_CONCURRENCY, DEFAULT_START_TIMEOUT_MS, DEFAULT_TIMEOUT_MS, Dcm2pnmOutputFormat, Dcm2xmlCharset, DcmQRSCP, DcmdumpFormat, Dcmj2pnmOutputFormat, DcmprsCP, DcmprscpEvent, Dcmpsrcv, DcmpsrcvEvent, DcmqrscpEvent, Dcmrecv, DcmrecvEvent, DcmtkProcess, DicomDataset, DicomHammer, DicomInstance, DicomReceiver, DicomSend, DicomSender, DicomTagPathSchema, DicomTagSchema, FilenameMode, GetQueryModel, HammerPhase, Img2dcmInputFormat, JplsColorConversion, LineParser, LutType, MAX_BLOCK_LINES, MAX_CHANGESET_OPERATIONS, MAX_EVENT_PATTERNS, MAX_TRAVERSAL_DEPTH, MoveQueryModel, PDU_SIZE, PacsClient, PortSchema, PreferredTransferSyntax, ProcessState, ProposedTransferSyntax, QueryLevel, QueryModel, REQUIRED_BINARIES, RetrieveMode, SOP_CLASSES, STORESCP_FATAL_EVENTS, STORESCP_PATTERNS, SenderHealth, SenderMode, StorageMode, StoreSCP, StoreSCPPreset, StorescpEvent, SubdirectoryMode, TransferSyntax, UIDSchema, UNIX_SEARCH_PATHS, VR, VR_CATEGORY, VR_CATEGORY_NAME, VR_META, WINDOWS_SEARCH_PATHS, WLMSCPFS_FATAL_EVENTS, WLMSCPFS_PATTERNS, Wlmscpfs, WlmscpfsEvent, assertUnreachable, batch, cda2dcm, clearDcmtkPathCache, createAETitle, createDicomFilePath, createDicomTag, createDicomTagPath, createPort, createSOPClassUID, createTransferSyntaxUID, dcm2cda, dcm2json, dcm2pdf, dcm2pnm, dcm2xml, dcmcjpeg, dcmcjpls, dcmconv, dcmcrle, dcmdecap, dcmdjpeg, dcmdjpls, dcmdrle, dcmdspfn, dcmdump, dcmencap, dcmftest, dcmgpdir, dcmj2pnm, dcmmkcrv, dcmmkdir, dcmmklut, dcmodify, dcmp2pgm, dcmprscu, dcmpschk, dcmpsmk, dcmpsprt, dcmqridx, dcmquant, dcmscale, dcmsend, dcod2lum, dconvlum, drtdump, dsr2xml, dsrdump, dump2dcm, echoscu, err, execCommand, findDcmtkPath, findscu, getVRCategory, getscu, img2dcm, isBinaryVR, isNumericVR, isStringVR, json2dcm, lookupTag, lookupTagByKeyword, lookupTagByName, mapResult, movescu, ok, parseAETitle, parseDicomTag, parseDicomTagPath, parsePort, parseSOPClassUID, parseTransferSyntaxUID, pdf2dcm, retry, segmentsToModifyPath, segmentsToString, sopClassNameFromUID, spawnCommand, stl2dcm, storescu, tag, tagPathToSegments, termscu, walkTags, xml2dcm, xml2dsr, xmlToJson };
|
|
39041
|
+
export { AETitleSchema, AssociationTracker, ChangeSet, ColorConversion, DCMPRSCP_FATAL_EVENTS, DCMPRSCP_PATTERNS, DCMPSRCV_FATAL_EVENTS, DCMPSRCV_PATTERNS, DCMQRSCP_FATAL_EVENTS, DCMQRSCP_PATTERNS, DCMRECV_FATAL_EVENTS, DCMRECV_PATTERNS, DEFAULT_BLOCK_TIMEOUT_MS, DEFAULT_DICOM_PORT, DEFAULT_DRAIN_TIMEOUT_MS, DEFAULT_PARSE_CONCURRENCY, DEFAULT_START_TIMEOUT_MS, DEFAULT_TIMEOUT_MS, Dcm2pnmOutputFormat, Dcm2xmlCharset, DcmQRSCP, DcmdumpFormat, Dcmj2pnmOutputFormat, DcmprsCP, DcmprscpEvent, Dcmpsrcv, DcmpsrcvEvent, DcmqrscpEvent, Dcmrecv, DcmrecvEvent, DcmtkProcess, DicomDataset, DicomHammer, DicomInstance, DicomReceiver, DicomSend, DicomSender, DicomTagPathSchema, DicomTagSchema, FilenameMode, GetQueryModel, HammerPhase, Img2dcmInputFormat, JplsColorConversion, LineParser, LutType, MAX_BLOCK_LINES, MAX_CHANGESET_OPERATIONS, MAX_EVENT_PATTERNS, MAX_TRAVERSAL_DEPTH, MoveQueryModel, PDU_SIZE, PacsClient, PortSchema, PreferredTransferSyntax, ProcessState, ProposedTransferSyntax, QueryLevel, QueryModel, REQUIRED_BINARIES, RetrieveMode, SOP_CLASSES, STORESCP_FATAL_EVENTS, STORESCP_PATTERNS, SenderHealth, SenderMode, StorageMode, StoreSCP, StoreSCPPreset, StorescpEvent, SubdirectoryMode, ToolExecutionError, TransferSyntax, UIDSchema, UNIX_SEARCH_PATHS, VR, VR_CATEGORY, VR_CATEGORY_NAME, VR_META, WINDOWS_SEARCH_PATHS, WLMSCPFS_FATAL_EVENTS, WLMSCPFS_PATTERNS, Wlmscpfs, WlmscpfsEvent, assertUnreachable, batch, cda2dcm, clearDcmtkPathCache, createAETitle, createDicomFilePath, createDicomTag, createDicomTagPath, createPort, createSOPClassUID, createTransferSyntaxUID, dcm2cda, dcm2json, dcm2pdf, dcm2pnm, dcm2xml, dcmcjpeg, dcmcjpls, dcmconv, dcmcrle, dcmdecap, dcmdjpeg, dcmdjpls, dcmdrle, dcmdspfn, dcmdump, dcmencap, dcmftest, dcmgpdir, dcmj2pnm, dcmmkcrv, dcmmkdir, dcmmklut, dcmodify, dcmp2pgm, dcmprscu, dcmpschk, dcmpsmk, dcmpsprt, dcmqridx, dcmquant, dcmscale, dcmsend, dcod2lum, dconvlum, drtdump, dsr2xml, dsrdump, dump2dcm, echoscu, err, execCommand, findDcmtkPath, findscu, getVRCategory, getscu, img2dcm, isBinaryVR, isNumericVR, isStringVR, json2dcm, lookupTag, lookupTagByKeyword, lookupTagByName, mapResult, movescu, ok, parseAETitle, parseDicomTag, parseDicomTagPath, parsePort, parseSOPClassUID, parseTransferSyntaxUID, pdf2dcm, retry, segmentsToModifyPath, segmentsToString, sopClassNameFromUID, spawnCommand, stl2dcm, storescu, tag, tagPathToSegments, termscu, walkTags, xml2dcm, xml2dsr, xmlToJson };
|
|
38915
39042
|
//# sourceMappingURL=index.js.map
|
|
38916
39043
|
//# sourceMappingURL=index.js.map
|