@fnndsc/salsa 3.18.2 → 3.20.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/dag/feedData.d.ts +127 -0
- package/dist/dag/feedData.js +402 -0
- package/dist/dag/feedData.js.map +1 -0
- package/dist/dicom/series.d.ts +11 -0
- package/dist/dicom/series.js +40 -1
- package/dist/dicom/series.js.map +1 -1
- package/dist/dicom/tags.d.ts +5 -2
- package/dist/dicom/tags.js +10 -3
- package/dist/dicom/tags.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/vfs/providers/native.d.ts +20 -0
- package/dist/vfs/providers/native.js +32 -22
- package/dist/vfs/providers/native.js.map +1 -1
- package/dist/vfs/providers/proc.d.ts +8 -0
- package/dist/vfs/providers/proc.js +24 -0
- package/dist/vfs/providers/proc.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file What a feed's data is, read once from the first file its root made.
|
|
3
|
+
*
|
|
4
|
+
* A feed begins from data — a DICOM series pulled from a PACS, a NIfTI
|
|
5
|
+
* volume, a folder of JPEGs — and a space arranged by data needs to know
|
|
6
|
+
* which, and for DICOM the modality and the series description. The index
|
|
7
|
+
* learns it once per feed, after the topology sweep, from the root job's
|
|
8
|
+
* output: the first file there, by name, descending into a folder when the
|
|
9
|
+
* output is one; its extension names the format, and for DICOM one header
|
|
10
|
+
* read gives the modality and description. The facts are persisted with the
|
|
11
|
+
* feed's checkpoint shard, so a feed is read once, ever — never at view time.
|
|
12
|
+
*
|
|
13
|
+
* What cannot be known yet (a root still running, a read that failed) is
|
|
14
|
+
* left unset and tried again on the next sweep; what is known to be absent
|
|
15
|
+
* (no output, a root that failed) is recorded as `unknown`, with the reason.
|
|
16
|
+
*
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
import { type ProcCache, type ProcFeedDataFacts } from '@fnndsc/cumin';
|
|
20
|
+
import type { VFSItem } from '../vfs/provider.js';
|
|
21
|
+
import { type DicomTagSet } from '../dicom/tags.js';
|
|
22
|
+
/**
|
|
23
|
+
* This reader's version, written into every record it makes: facts from an
|
|
24
|
+
* older reader are read again, so a better reading reaches feeds read before
|
|
25
|
+
* it. Raise it whenever what is read, or how, changes.
|
|
26
|
+
*/
|
|
27
|
+
export declare const DATA_FACTS_READER: number;
|
|
28
|
+
/** Feeds read at once by a sweep: a feed costs a few CUBE round trips, and one at a time took three seconds each. */
|
|
29
|
+
export declare const DATA_FACTS_IN_FLIGHT: number;
|
|
30
|
+
/**
|
|
31
|
+
* How long one feed may take: a read that never answers (a link to a file
|
|
32
|
+
* that went away, a stalled download) must not hold a worker for good —
|
|
33
|
+
* four such hangs once stopped a whole sweep. The feed is tried again later.
|
|
34
|
+
*/
|
|
35
|
+
export declare const DATA_FACTS_FEED_MS: number;
|
|
36
|
+
/**
|
|
37
|
+
* The pause between a sweep's rounds. A sweep once ran a single round, and
|
|
38
|
+
* every feed it could not answer yet — a header that failed once, a read
|
|
39
|
+
* that ran out of time — stayed unread for as long as the daemon lived:
|
|
40
|
+
* 199 of 709 feeds, found by watching the count stop.
|
|
41
|
+
*/
|
|
42
|
+
export declare const DATA_FACTS_ROUND_PAUSE_MS: number;
|
|
43
|
+
/**
|
|
44
|
+
* Settles when the facts sweep under way ends, at once when none is: what
|
|
45
|
+
* is laid out by the data (DATA's hubs) waits for the facts it hangs on.
|
|
46
|
+
*
|
|
47
|
+
* @returns A promise settled with how many feeds the sweep read.
|
|
48
|
+
*/
|
|
49
|
+
export declare function procDataFacts_settled(): Promise<number>;
|
|
50
|
+
/**
|
|
51
|
+
* How the sweep reads: injected, so it is testable without a daemon, and so
|
|
52
|
+
* the provider that owns output paths can hand its reader in.
|
|
53
|
+
*
|
|
54
|
+
* @property outputPath - A job's output folder, or null when it has none.
|
|
55
|
+
* @property list - A folder's first entries; null when it is not there,
|
|
56
|
+
* `refused` when the store will not show it to this identity (a shared
|
|
57
|
+
* feed's data in someone else's uploads).
|
|
58
|
+
* @property header - A DICOM file's tags, or null when it is not one.
|
|
59
|
+
* @property series - What CUBE's own series record says of a series in its
|
|
60
|
+
* PACS store (modality, description), or null: asked before a header is
|
|
61
|
+
* read, since a record costs no file.
|
|
62
|
+
*/
|
|
63
|
+
export interface DataFactsIO {
|
|
64
|
+
outputPath(instanceID: number): Promise<string | null>;
|
|
65
|
+
list(path: string): Promise<VFSItem[] | null | 'refused'>;
|
|
66
|
+
header(path: string): Promise<DicomTagSet | null>;
|
|
67
|
+
series?(path: string): Promise<{
|
|
68
|
+
modality?: string;
|
|
69
|
+
seriesDescription?: string;
|
|
70
|
+
} | null>;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The feed a data path lies in, when it is another feed's output: the
|
|
74
|
+
* feed's lineage. A feed's own output is not its source.
|
|
75
|
+
*
|
|
76
|
+
* @param path - Where the feed's data is.
|
|
77
|
+
* @param self - The feed.
|
|
78
|
+
* @returns The source feed, or undefined.
|
|
79
|
+
*/
|
|
80
|
+
export declare function sourceFeed_of(path: string, self: number): number | undefined;
|
|
81
|
+
/**
|
|
82
|
+
* The reader the daemon uses, given the provider's output-path reader.
|
|
83
|
+
*
|
|
84
|
+
* @param outputPath - Reads a job's output folder.
|
|
85
|
+
* @returns The IO.
|
|
86
|
+
*/
|
|
87
|
+
export declare function dataFactsIO_of(outputPath: (instanceID: number) => Promise<string | null>): DataFactsIO;
|
|
88
|
+
/**
|
|
89
|
+
* The format a file's name says, or null when its name says nothing.
|
|
90
|
+
*
|
|
91
|
+
* @param name - The file's name.
|
|
92
|
+
* @returns The format, or null.
|
|
93
|
+
*/
|
|
94
|
+
export declare function dataFormat_ofName(name: string): Exclude<ProcFeedDataFacts['format'], 'other' | 'unknown'> | null;
|
|
95
|
+
/**
|
|
96
|
+
* Reads what one feed's data is.
|
|
97
|
+
*
|
|
98
|
+
* @param feedID - The feed.
|
|
99
|
+
* @param io - How to read.
|
|
100
|
+
* @param cache - The index.
|
|
101
|
+
* @returns The facts; null when they cannot be known yet (the topology not
|
|
102
|
+
* loaded, the root still running, a read that failed) — try again later.
|
|
103
|
+
*/
|
|
104
|
+
export declare function feedDataFacts_read(feedID: number, io: DataFactsIO, cache?: ProcCache): Promise<ProcFeedDataFacts | null>;
|
|
105
|
+
/**
|
|
106
|
+
* Reads the data facts of every feed that has none yet — the index's quiet
|
|
107
|
+
* tail after the topology sweep. A few feeds are read at once
|
|
108
|
+
* ({@link DATA_FACTS_IN_FLIGHT}), which is the throttle. What cannot be
|
|
109
|
+
* known yet is tried again in the next round, after a pause: rounds go on
|
|
110
|
+
* while one records something, and at least until a failing header has had
|
|
111
|
+
* all its tries, so a feed is left unread only while it truly cannot be read.
|
|
112
|
+
*
|
|
113
|
+
* @param io - How to read.
|
|
114
|
+
* @param pauseMs - The pause between rounds.
|
|
115
|
+
* @returns How many feeds were read.
|
|
116
|
+
*/
|
|
117
|
+
export declare function procDataFacts_sweep(io: DataFactsIO, pauseMs?: number): Promise<number>;
|
|
118
|
+
/**
|
|
119
|
+
* Reads one feed's data facts, if it has none yet: a feed whose topology
|
|
120
|
+
* just loaded need not wait for the next sweep.
|
|
121
|
+
*
|
|
122
|
+
* @param feedID - The feed.
|
|
123
|
+
* @param io - How to read.
|
|
124
|
+
* @param cache - The index.
|
|
125
|
+
* @returns Whether facts were recorded.
|
|
126
|
+
*/
|
|
127
|
+
export declare function procDataFacts_feed(feedID: number, io: DataFactsIO, cache?: ProcCache): Promise<boolean>;
|
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DATA_FACTS_ROUND_PAUSE_MS = exports.DATA_FACTS_FEED_MS = exports.DATA_FACTS_IN_FLIGHT = exports.DATA_FACTS_READER = void 0;
|
|
4
|
+
exports.procDataFacts_settled = procDataFacts_settled;
|
|
5
|
+
exports.sourceFeed_of = sourceFeed_of;
|
|
6
|
+
exports.dataFactsIO_of = dataFactsIO_of;
|
|
7
|
+
exports.dataFormat_ofName = dataFormat_ofName;
|
|
8
|
+
exports.feedDataFacts_read = feedDataFacts_read;
|
|
9
|
+
exports.procDataFacts_sweep = procDataFacts_sweep;
|
|
10
|
+
exports.procDataFacts_feed = procDataFacts_feed;
|
|
11
|
+
/**
|
|
12
|
+
* @file What a feed's data is, read once from the first file its root made.
|
|
13
|
+
*
|
|
14
|
+
* A feed begins from data — a DICOM series pulled from a PACS, a NIfTI
|
|
15
|
+
* volume, a folder of JPEGs — and a space arranged by data needs to know
|
|
16
|
+
* which, and for DICOM the modality and the series description. The index
|
|
17
|
+
* learns it once per feed, after the topology sweep, from the root job's
|
|
18
|
+
* output: the first file there, by name, descending into a folder when the
|
|
19
|
+
* output is one; its extension names the format, and for DICOM one header
|
|
20
|
+
* read gives the modality and description. The facts are persisted with the
|
|
21
|
+
* feed's checkpoint shard, so a feed is read once, ever — never at view time.
|
|
22
|
+
*
|
|
23
|
+
* What cannot be known yet (a root still running, a read that failed) is
|
|
24
|
+
* left unset and tried again on the next sweep; what is known to be absent
|
|
25
|
+
* (no output, a root that failed) is recorded as `unknown`, with the reason.
|
|
26
|
+
*
|
|
27
|
+
* @module
|
|
28
|
+
*/
|
|
29
|
+
const cumin_1 = require("@fnndsc/cumin");
|
|
30
|
+
const tags_js_1 = require("../dicom/tags.js");
|
|
31
|
+
/**
|
|
32
|
+
* How many entries of each kind (folders, files, links) a level is read to:
|
|
33
|
+
* the first data file is all that is wanted, and a full listing of a
|
|
34
|
+
* five-thousand-file upload cost five pages before it was looked at.
|
|
35
|
+
*/
|
|
36
|
+
const DATA_LIST_LIMIT = 50;
|
|
37
|
+
/** How deep into nested folders the first file is looked for. */
|
|
38
|
+
const DATA_DEPTH_MAX = 3;
|
|
39
|
+
/**
|
|
40
|
+
* This reader's version, written into every record it makes: facts from an
|
|
41
|
+
* older reader are read again, so a better reading reaches feeds read before
|
|
42
|
+
* it. Raise it whenever what is read, or how, changes.
|
|
43
|
+
*/
|
|
44
|
+
exports.DATA_FACTS_READER = 2;
|
|
45
|
+
/** Unnamed files tried as DICOM before a feed's data is called other. */
|
|
46
|
+
const UNNAMED_TRIES = 3;
|
|
47
|
+
/** Reads of a DICOM-named file that fail before its feed is recorded without a header. */
|
|
48
|
+
const HEADER_TRIES_MAX = 3;
|
|
49
|
+
/** Failed header reads so far, by feed. */
|
|
50
|
+
const headerTries = new Map();
|
|
51
|
+
/** Feeds read at once by a sweep: a feed costs a few CUBE round trips, and one at a time took three seconds each. */
|
|
52
|
+
exports.DATA_FACTS_IN_FLIGHT = 4;
|
|
53
|
+
/**
|
|
54
|
+
* How long one feed may take: a read that never answers (a link to a file
|
|
55
|
+
* that went away, a stalled download) must not hold a worker for good —
|
|
56
|
+
* four such hangs once stopped a whole sweep. The feed is tried again later.
|
|
57
|
+
*/
|
|
58
|
+
exports.DATA_FACTS_FEED_MS = 45_000;
|
|
59
|
+
/**
|
|
60
|
+
* The pause between a sweep's rounds. A sweep once ran a single round, and
|
|
61
|
+
* every feed it could not answer yet — a header that failed once, a read
|
|
62
|
+
* that ran out of time — stayed unread for as long as the daemon lived:
|
|
63
|
+
* 199 of 709 feeds, found by watching the count stop.
|
|
64
|
+
*/
|
|
65
|
+
exports.DATA_FACTS_ROUND_PAUSE_MS = 30_000;
|
|
66
|
+
/** Whether a sweep is under way: one at a time. */
|
|
67
|
+
let sweeping = false;
|
|
68
|
+
/** The sweep under way, for whoever must wait for every feed's facts. */
|
|
69
|
+
let sweepDone = Promise.resolve(0);
|
|
70
|
+
/**
|
|
71
|
+
* Settles when the facts sweep under way ends, at once when none is: what
|
|
72
|
+
* is laid out by the data (DATA's hubs) waits for the facts it hangs on.
|
|
73
|
+
*
|
|
74
|
+
* @returns A promise settled with how many feeds the sweep read.
|
|
75
|
+
*/
|
|
76
|
+
function procDataFacts_settled() {
|
|
77
|
+
return sweepDone;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* The feed a data path lies in, when it is another feed's output: the
|
|
81
|
+
* feed's lineage. A feed's own output is not its source.
|
|
82
|
+
*
|
|
83
|
+
* @param path - Where the feed's data is.
|
|
84
|
+
* @param self - The feed.
|
|
85
|
+
* @returns The source feed, or undefined.
|
|
86
|
+
*/
|
|
87
|
+
function sourceFeed_of(path, self) {
|
|
88
|
+
const found = path.match(/(?:^|\/)feeds\/feed_(\d+)(?:\/|$)/);
|
|
89
|
+
const id = found === null ? Number.NaN : Number(found[1]);
|
|
90
|
+
return Number.isInteger(id) && id !== self ? id : undefined;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The reader the daemon uses, given the provider's output-path reader.
|
|
94
|
+
*
|
|
95
|
+
* @param outputPath - Reads a job's output folder.
|
|
96
|
+
* @returns The IO.
|
|
97
|
+
*/
|
|
98
|
+
function dataFactsIO_of(outputPath) {
|
|
99
|
+
// The dispatcher and the DICOM reader are reached at call time: the /proc
|
|
100
|
+
// provider that hands this reader in is itself one of the dispatcher's
|
|
101
|
+
// providers, and a module-level import would close that circle.
|
|
102
|
+
return {
|
|
103
|
+
outputPath,
|
|
104
|
+
list: async (path) => {
|
|
105
|
+
const { vfsDispatcher } = await import('../vfs/dispatcher.js');
|
|
106
|
+
// A projected folder (the PACS store, /proc) is its provider's to list.
|
|
107
|
+
if (vfsDispatcher.path_isVirtual(path)) {
|
|
108
|
+
const listed = await vfsDispatcher.list(path);
|
|
109
|
+
return listed.ok ? listed.value : null;
|
|
110
|
+
}
|
|
111
|
+
return cfsFirstPage_list(path);
|
|
112
|
+
},
|
|
113
|
+
series: async (path) => {
|
|
114
|
+
try {
|
|
115
|
+
return await (0, cumin_1.pacsSeriesFacts_ofPath)(path);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
header: async (path) => {
|
|
122
|
+
// The start of the file, not all of it: a cine loop is hundreds of megabytes.
|
|
123
|
+
const { dicomHeaderPrefix_get } = await import('../dicom/series.js');
|
|
124
|
+
const read = await dicomHeaderPrefix_get(path);
|
|
125
|
+
return read.ok ? read.value : null;
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The first page of a CFS folder's folders, files and links. A folder that
|
|
131
|
+
* answers nothing is asked once, typed, whether it is empty, missing or
|
|
132
|
+
* refused — only a refusal is worth saying so for.
|
|
133
|
+
*
|
|
134
|
+
* @param path - The folder.
|
|
135
|
+
* @returns Its first entries, null when missing, or `refused`.
|
|
136
|
+
*/
|
|
137
|
+
async function cfsFirstPage_list(path) {
|
|
138
|
+
const { files_list, files_listOutcome } = await import('../files/index.js');
|
|
139
|
+
const { chrisRow_toItem } = await import('../vfs/providers/native.js');
|
|
140
|
+
const bounded = { limit: DATA_LIST_LIMIT, offset: 0 };
|
|
141
|
+
const kinds = ['dirs', 'files', 'links'];
|
|
142
|
+
let pages;
|
|
143
|
+
try {
|
|
144
|
+
pages = await Promise.all(kinds.map((kind) => files_list(bounded, kind, path)));
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
return 'refused';
|
|
148
|
+
}
|
|
149
|
+
const items = [];
|
|
150
|
+
pages.forEach((page, index) => {
|
|
151
|
+
const type = kinds[index] === 'dirs' ? 'dir' : kinds[index] === 'files' ? 'file' : 'link';
|
|
152
|
+
for (const row of page?.tableData ?? [])
|
|
153
|
+
items.push(chrisRow_toItem(row, type));
|
|
154
|
+
});
|
|
155
|
+
if (items.length > 0)
|
|
156
|
+
return items;
|
|
157
|
+
const outcome = await files_listOutcome(bounded, 'dirs', path);
|
|
158
|
+
return outcome.kind === 'refused' ? 'refused' : outcome.kind === 'missing' ? null : [];
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* The format a file's name says, or null when its name says nothing.
|
|
162
|
+
*
|
|
163
|
+
* @param name - The file's name.
|
|
164
|
+
* @returns The format, or null.
|
|
165
|
+
*/
|
|
166
|
+
function dataFormat_ofName(name) {
|
|
167
|
+
const lower = name.toLowerCase();
|
|
168
|
+
if (/\.(dcm|dicom|ima)$/.test(lower))
|
|
169
|
+
return 'dicom';
|
|
170
|
+
if (/\.nii(\.gz)?$/.test(lower))
|
|
171
|
+
return 'nifti';
|
|
172
|
+
if (/\.mgz$/.test(lower))
|
|
173
|
+
return 'mgz';
|
|
174
|
+
if (/\.jpe?g$/.test(lower))
|
|
175
|
+
return 'jpeg';
|
|
176
|
+
if (/\.png$/.test(lower))
|
|
177
|
+
return 'png';
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
/** A name that is not data: a hidden file, or the sidecars a job leaves beside its output. */
|
|
181
|
+
function name_isSidecar(name) {
|
|
182
|
+
return name.startsWith('.') || /\.(json|txt|log|csv|md|xml)$/i.test(name);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* The first data file under a folder: by name, a file whose name says its
|
|
186
|
+
* format first, else the first file at all, descending into the first
|
|
187
|
+
* folder when a level holds no file.
|
|
188
|
+
*
|
|
189
|
+
* @returns The file's path and name, or a reason when there is none.
|
|
190
|
+
*/
|
|
191
|
+
async function dataFile_find(folder, io) {
|
|
192
|
+
// A copy job's output is often links to what it copied — a file, or a
|
|
193
|
+
// whole folder: a link is data too, named by its own name and read, or
|
|
194
|
+
// descended into, through its target.
|
|
195
|
+
const isData = (item) => (item.type === 'file' || item.type === 'link') && !name_isSidecar(item.name);
|
|
196
|
+
const byName = (a, b) => a.name.localeCompare(b.name, undefined, { numeric: true });
|
|
197
|
+
const pathOf = (at, item) => (item.type === 'link' && item.target !== undefined ? item.target : `${at}/${item.name}`);
|
|
198
|
+
let at = folder.replace(/\/$/, '');
|
|
199
|
+
for (let depth = 0; depth <= DATA_DEPTH_MAX; depth++) {
|
|
200
|
+
const items = await io.list(at);
|
|
201
|
+
if (items === null)
|
|
202
|
+
return null;
|
|
203
|
+
if (items === 'refused')
|
|
204
|
+
return { reason: `its data is in ${at}, which this identity may not read`, path: at };
|
|
205
|
+
const data = items.filter(isData).sort(byName);
|
|
206
|
+
// A file whose name says its format, plain or linked.
|
|
207
|
+
const named = data.find((item) => dataFormat_ofName(item.name) !== null);
|
|
208
|
+
if (named !== undefined)
|
|
209
|
+
return { files: [{ path: pathOf(at, named), name: named.name, linked: named.type === 'link' }] };
|
|
210
|
+
// Plain files whose names say nothing (DICOM named by UID, no extension): a few are tried.
|
|
211
|
+
const plain = data.filter((item) => item.type === 'file').slice(0, UNNAMED_TRIES);
|
|
212
|
+
if (plain.length > 0)
|
|
213
|
+
return { files: plain.map((item) => ({ path: pathOf(at, item), name: item.name, linked: false })) };
|
|
214
|
+
// A link whose name says nothing: a folder when its target lists, else a file.
|
|
215
|
+
const link = data.find((item) => item.type === 'link');
|
|
216
|
+
if (link !== undefined) {
|
|
217
|
+
const target = pathOf(at, link);
|
|
218
|
+
const inside = await io.list(target);
|
|
219
|
+
if (inside === 'refused')
|
|
220
|
+
return { reason: `its data is linked from ${target}, which this identity may not read`, path: target };
|
|
221
|
+
if (inside === null)
|
|
222
|
+
return { files: [{ path: target, name: link.name, linked: true }] };
|
|
223
|
+
at = target.replace(/\/$/, '');
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
const folders = items.filter((item) => item.type === 'dir' && !item.name.startsWith('.')).sort(byName);
|
|
227
|
+
const next = folders[0];
|
|
228
|
+
if (next === undefined)
|
|
229
|
+
return { reason: 'its first job left no data files' };
|
|
230
|
+
at = `${at}/${next.name}`;
|
|
231
|
+
}
|
|
232
|
+
return { reason: `no data file within ${DATA_DEPTH_MAX} folders of its first job's output` };
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Reads what one feed's data is.
|
|
236
|
+
*
|
|
237
|
+
* @param feedID - The feed.
|
|
238
|
+
* @param io - How to read.
|
|
239
|
+
* @param cache - The index.
|
|
240
|
+
* @returns The facts; null when they cannot be known yet (the topology not
|
|
241
|
+
* loaded, the root still running, a read that failed) — try again later.
|
|
242
|
+
*/
|
|
243
|
+
async function feedDataFacts_read(feedID, io, cache = (0, cumin_1.procCache_get)()) {
|
|
244
|
+
if (!cache.topologyLoaded_has(feedID))
|
|
245
|
+
return null;
|
|
246
|
+
const roots = cache.feedInstanceIDs_get(feedID)
|
|
247
|
+
.map((id) => cache.instance_get(id))
|
|
248
|
+
.filter((inst) => inst !== undefined && inst.parentID === null)
|
|
249
|
+
.sort((a, b) => a.id - b.id);
|
|
250
|
+
const root = roots[0];
|
|
251
|
+
if (root === undefined)
|
|
252
|
+
return { format: 'unknown', reason: 'the feed has no jobs' };
|
|
253
|
+
if (root.status !== 'finishedSuccessfully') {
|
|
254
|
+
return (0, cumin_1.status_isTerminal)(root.status ?? '') ? { format: 'unknown', reason: 'its first job did not finish well' } : null;
|
|
255
|
+
}
|
|
256
|
+
const output = await io.outputPath(root.id);
|
|
257
|
+
if (output === null)
|
|
258
|
+
return null;
|
|
259
|
+
const found = await dataFile_find(output, io);
|
|
260
|
+
if (found === null)
|
|
261
|
+
return null;
|
|
262
|
+
// Where the data lies says whose work it began from.
|
|
263
|
+
const lineage = (path) => {
|
|
264
|
+
const source = path === undefined ? undefined : sourceFeed_of(path, feedID);
|
|
265
|
+
return source === undefined ? {} : { sourceFeed: source };
|
|
266
|
+
};
|
|
267
|
+
if ('reason' in found)
|
|
268
|
+
return { format: 'unknown', reason: found.reason, ...lineage(found.path) };
|
|
269
|
+
const first = found.files[0];
|
|
270
|
+
const from = lineage(first.path);
|
|
271
|
+
const named = dataFormat_ofName(first.name);
|
|
272
|
+
if (named !== null && named !== 'dicom')
|
|
273
|
+
return { format: named, ...from };
|
|
274
|
+
// A series in CUBE's PACS store is described by CUBE's own record: no file read.
|
|
275
|
+
const recorded = io.series === undefined ? null : await io.series(first.path);
|
|
276
|
+
if (recorded !== null)
|
|
277
|
+
return { format: 'dicom', ...recorded, ...from };
|
|
278
|
+
// A DICOM file often carries no extension: names that say nothing are
|
|
279
|
+
// tried as DICOM, a few of them, before the data is called other.
|
|
280
|
+
let header = null;
|
|
281
|
+
for (const file of found.files) {
|
|
282
|
+
header = await io.header(file.path);
|
|
283
|
+
if (header !== null)
|
|
284
|
+
break;
|
|
285
|
+
}
|
|
286
|
+
if (header === null) {
|
|
287
|
+
if (named !== 'dicom') {
|
|
288
|
+
return first.linked
|
|
289
|
+
? { format: 'unknown', reason: `its data is linked from ${first.path}, which cannot be read here`, ...from }
|
|
290
|
+
: { format: 'other', reason: `its first file, ${first.name}, is not a format the index names`, ...from };
|
|
291
|
+
}
|
|
292
|
+
const tries = (headerTries.get(feedID) ?? 0) + 1;
|
|
293
|
+
headerTries.set(feedID, tries);
|
|
294
|
+
// Its name already says DICOM: record that, and why there is no modality.
|
|
295
|
+
return tries < HEADER_TRIES_MAX ? null : { format: 'dicom', reason: `the header of its first file, ${first.name}, could not be read`, ...from };
|
|
296
|
+
}
|
|
297
|
+
headerTries.delete(feedID);
|
|
298
|
+
const facts = { format: 'dicom', ...from };
|
|
299
|
+
const modality = (0, tags_js_1.dicomTag_find)(header.tags, 'Modality')?.value.trim();
|
|
300
|
+
const description = (0, tags_js_1.dicomTag_find)(header.tags, 'SeriesDescription')?.value.trim();
|
|
301
|
+
if (modality !== undefined && modality.length > 0)
|
|
302
|
+
facts.modality = modality;
|
|
303
|
+
if (description !== undefined && description.length > 0)
|
|
304
|
+
facts.seriesDescription = description;
|
|
305
|
+
return facts;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Reads the data facts of every feed that has none yet — the index's quiet
|
|
309
|
+
* tail after the topology sweep. A few feeds are read at once
|
|
310
|
+
* ({@link DATA_FACTS_IN_FLIGHT}), which is the throttle. What cannot be
|
|
311
|
+
* known yet is tried again in the next round, after a pause: rounds go on
|
|
312
|
+
* while one records something, and at least until a failing header has had
|
|
313
|
+
* all its tries, so a feed is left unread only while it truly cannot be read.
|
|
314
|
+
*
|
|
315
|
+
* @param io - How to read.
|
|
316
|
+
* @param pauseMs - The pause between rounds.
|
|
317
|
+
* @returns How many feeds were read.
|
|
318
|
+
*/
|
|
319
|
+
async function procDataFacts_sweep(io, pauseMs = exports.DATA_FACTS_ROUND_PAUSE_MS) {
|
|
320
|
+
if (sweeping)
|
|
321
|
+
return 0;
|
|
322
|
+
sweeping = true;
|
|
323
|
+
const run = dataFactsRounds_run(io, pauseMs);
|
|
324
|
+
sweepDone = run.catch(() => 0);
|
|
325
|
+
return run;
|
|
326
|
+
}
|
|
327
|
+
/** Every round of one sweep, until a round records nothing and every header has had its tries. */
|
|
328
|
+
async function dataFactsRounds_run(io, pauseMs) {
|
|
329
|
+
const cache = (0, cumin_1.procCache_get)();
|
|
330
|
+
let read = 0;
|
|
331
|
+
try {
|
|
332
|
+
for (let round = 1;; round += 1) {
|
|
333
|
+
const recorded = await dataFactsRound_run(io, cache);
|
|
334
|
+
read += recorded;
|
|
335
|
+
const unread = cache.feedIDs_get().some((feedID) => !dataFacts_current(cache, feedID));
|
|
336
|
+
if (!unread || (recorded === 0 && round >= HEADER_TRIES_MAX))
|
|
337
|
+
break;
|
|
338
|
+
await new Promise((resolve) => { setTimeout(resolve, pauseMs); });
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
finally {
|
|
342
|
+
sweeping = false;
|
|
343
|
+
}
|
|
344
|
+
return read;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* One round of a sweep: every feed without facts, newest first.
|
|
348
|
+
*
|
|
349
|
+
* @param io - How to read.
|
|
350
|
+
* @param cache - The index.
|
|
351
|
+
* @returns How many feeds were read.
|
|
352
|
+
*/
|
|
353
|
+
async function dataFactsRound_run(io, cache) {
|
|
354
|
+
let read = 0;
|
|
355
|
+
// Newest first: the work an operator is looking at now is read first.
|
|
356
|
+
const queue = cache.feedIDs_get().filter((feedID) => !dataFacts_current(cache, feedID)).sort((a, b) => b - a);
|
|
357
|
+
const worker = async () => {
|
|
358
|
+
for (let feedID = queue.shift(); feedID !== undefined; feedID = queue.shift()) {
|
|
359
|
+
if (await procDataFacts_feed(feedID, io, cache))
|
|
360
|
+
read += 1;
|
|
361
|
+
}
|
|
362
|
+
};
|
|
363
|
+
await Promise.all(Array.from({ length: exports.DATA_FACTS_IN_FLIGHT }, worker));
|
|
364
|
+
return read;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Reads one feed's data facts, if it has none yet: a feed whose topology
|
|
368
|
+
* just loaded need not wait for the next sweep.
|
|
369
|
+
*
|
|
370
|
+
* @param feedID - The feed.
|
|
371
|
+
* @param io - How to read.
|
|
372
|
+
* @param cache - The index.
|
|
373
|
+
* @returns Whether facts were recorded.
|
|
374
|
+
*/
|
|
375
|
+
async function procDataFacts_feed(feedID, io, cache = (0, cumin_1.procCache_get)()) {
|
|
376
|
+
if (dataFacts_current(cache, feedID))
|
|
377
|
+
return false;
|
|
378
|
+
let timer;
|
|
379
|
+
try {
|
|
380
|
+
const late = new Promise((resolve) => {
|
|
381
|
+
timer = setTimeout(() => resolve(null), exports.DATA_FACTS_FEED_MS);
|
|
382
|
+
});
|
|
383
|
+
const facts = await Promise.race([feedDataFacts_read(feedID, io, cache), late]);
|
|
384
|
+
if (facts === null)
|
|
385
|
+
return false;
|
|
386
|
+
cache.dataFacts_set(feedID, { ...facts, reader: exports.DATA_FACTS_READER });
|
|
387
|
+
return true;
|
|
388
|
+
}
|
|
389
|
+
catch {
|
|
390
|
+
// A read that throws is a read that failed: the next round tries again.
|
|
391
|
+
return false;
|
|
392
|
+
}
|
|
393
|
+
finally {
|
|
394
|
+
if (timer !== undefined)
|
|
395
|
+
clearTimeout(timer);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
/** Whether a feed's facts were written by this reader: none, or an older reader's, are read again. */
|
|
399
|
+
function dataFacts_current(cache, feedID) {
|
|
400
|
+
return cache.dataFacts_of(feedID)?.reader === exports.DATA_FACTS_READER;
|
|
401
|
+
}
|
|
402
|
+
//# sourceMappingURL=feedData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedData.js","sourceRoot":"","sources":["../../src/dag/feedData.ts"],"names":[],"mappings":";;;AAqEA,sDAEC;AA8BD,sCAIC;AAQD,wCA6BC;AAqCD,8CAQC;AAiED,gDAqDC;AAcD,kDAMC;AAiDD,gDAiBC;AAvYD;;;;;;;;;;;;;;;;;GAiBG;AACH,yCAAoJ;AAGpJ,8CAAmE;AAEnE;;;;GAIG;AACH,MAAM,eAAe,GAAW,EAAE,CAAC;AACnC,iEAAiE;AACjE,MAAM,cAAc,GAAW,CAAC,CAAC;AACjC;;;;GAIG;AACU,QAAA,iBAAiB,GAAW,CAAC,CAAC;AAC3C,yEAAyE;AACzE,MAAM,aAAa,GAAW,CAAC,CAAC;AAChC,0FAA0F;AAC1F,MAAM,gBAAgB,GAAW,CAAC,CAAC;AACnC,2CAA2C;AAC3C,MAAM,WAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;AACnD,qHAAqH;AACxG,QAAA,oBAAoB,GAAW,CAAC,CAAC;AAC9C;;;;GAIG;AACU,QAAA,kBAAkB,GAAW,MAAM,CAAC;AACjD;;;;;GAKG;AACU,QAAA,yBAAyB,GAAW,MAAM,CAAC;AACxD,mDAAmD;AACnD,IAAI,QAAQ,GAAY,KAAK,CAAC;AAC9B,yEAAyE;AACzE,IAAI,SAAS,GAAoB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,SAAgB,qBAAqB;IACnC,OAAO,SAAS,CAAC;AACnB,CAAC;AAsBD;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,IAAY,EAAE,IAAY;IACtD,MAAM,KAAK,GAA4B,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvF,MAAM,EAAE,GAAW,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,UAA0D;IACvF,0EAA0E;IAC1E,uEAAuE;IACvE,gEAAgE;IAChE,OAAO;QACL,UAAU;QACV,IAAI,EAAE,KAAK,EAAE,IAAY,EAAyC,EAAE;YAClE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAC/D,wEAAwE;YACxE,IAAI,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAsB,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACzC,CAAC;YACD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,IAAY,EAAqE,EAAE;YAChG,IAAI,CAAC;gBACH,OAAO,MAAM,IAAA,8BAAsB,EAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,IAAY,EAA+B,EAAE;YAC1D,8EAA8E;YAC9E,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACrE,MAAM,IAAI,GAAwB,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAC3C,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC5E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtD,MAAM,KAAK,GAAsC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5E,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAa,EAAQ,EAAE;QAC1C,MAAM,IAAI,GAA4B,KAAK,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACnH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,SAAS,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAA4C,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3H,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/D,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAW,IAAI,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACrD,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1C,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8FAA8F;AAC9F,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAOD;;;;;;GAMG;AACH,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,EAAe;IAC1D,sEAAsE;IACtE,uEAAuE;IACvE,sCAAsC;IACtC,MAAM,MAAM,GAAG,CAAC,IAAa,EAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxH,MAAM,MAAM,GAAG,CAAC,CAAU,EAAE,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9G,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,IAAa,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/I,IAAI,EAAE,GAAW,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,KAAK,GAAiC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,oCAAoC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/G,MAAM,IAAI,GAAc,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,sDAAsD;QACtD,MAAM,KAAK,GAAwB,IAAI,CAAC,IAAI,CAAC,CAAC,IAAa,EAAW,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAChH,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC;QAC1H,2FAA2F;QAC3F,MAAM,KAAK,GAAc,IAAI,CAAC,MAAM,CAAC,CAAC,IAAa,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QAC/G,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;QACnI,+EAA+E;QAC/E,MAAM,IAAI,GAAwB,IAAI,CAAC,IAAI,CAAC,CAAC,IAAa,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC9F,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,MAAM,GAAW,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,MAAM,GAAiC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnE,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,EAAE,MAAM,EAAE,2BAA2B,MAAM,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACjI,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACzF,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAc,KAAK,CAAC,MAAM,CAAC,CAAC,IAAa,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpI,MAAM,IAAI,GAAwB,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;QAC9E,EAAE,GAAG,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,uBAAuB,cAAc,oCAAoC,EAAE,CAAC;AAC/F,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,kBAAkB,CAAC,MAAc,EAAE,EAAe,EAAE,QAAmB,IAAA,qBAAa,GAAE;IAC1G,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,KAAK,GAAmB,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC;SAC5D,GAAG,CAAC,CAAC,EAAU,EAA4B,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SACrE,MAAM,CAAC,CAAC,IAA8B,EAAwB,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;SAC9G,IAAI,CAAC,CAAC,CAAe,EAAE,CAAe,EAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,MAAM,IAAI,GAA6B,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACrF,IAAI,IAAI,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;QAC3C,OAAO,IAAA,yBAAiB,EAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1H,CAAC;IACD,MAAM,MAAM,GAAkB,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,qDAAqD;IACrD,MAAM,OAAO,GAAG,CAAC,IAAwB,EAA2B,EAAE;QACpE,MAAM,MAAM,GAAuB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChG,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAC5D,CAAC,CAAC;IACF,IAAI,QAAQ,IAAI,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IAClG,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAoD,CAAC;IAChF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3E,iFAAiF;IACjF,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9E,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IACxE,sEAAsE;IACtE,kEAAkE;IAClE,IAAI,MAAM,GAAuB,IAAI,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM;IAC7B,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,MAAM;gBACjB,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,2BAA2B,KAAK,CAAC,IAAI,6BAA6B,EAAE,GAAG,IAAI,EAAE;gBAC5G,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,KAAK,CAAC,IAAI,mCAAmC,EAAE,GAAG,IAAI,EAAE,CAAC;QAC7G,CAAC;QACD,MAAM,KAAK,GAAW,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/B,0EAA0E;QAC1E,OAAO,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iCAAiC,KAAK,CAAC,IAAI,qBAAqB,EAAE,GAAG,IAAI,EAAE,CAAC;IAClJ,CAAC;IACD,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAsB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAC9D,MAAM,QAAQ,GAAuB,IAAA,uBAAa,EAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1F,MAAM,WAAW,GAAuB,IAAA,uBAAa,EAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IACtG,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7E,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,iBAAiB,GAAG,WAAW,CAAC;IAC/F,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,mBAAmB,CAAC,EAAe,EAAE,UAAkB,iCAAyB;IACpG,IAAI,QAAQ;QAAE,OAAO,CAAC,CAAC;IACvB,QAAQ,GAAG,IAAI,CAAC;IAChB,MAAM,GAAG,GAAoB,mBAAmB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9D,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kGAAkG;AAClG,KAAK,UAAU,mBAAmB,CAAC,EAAe,EAAE,OAAe;IACjE,MAAM,KAAK,GAAc,IAAA,qBAAa,GAAE,CAAC;IACzC,IAAI,IAAI,GAAW,CAAC,CAAC;IACrB,IAAI,CAAC;QACH,KAAK,IAAI,KAAK,GAAG,CAAC,GAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAW,MAAM,kBAAkB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC7D,IAAI,IAAI,QAAQ,CAAC;YACjB,MAAM,MAAM,GAAY,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAc,EAAW,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACjH,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,IAAI,gBAAgB,CAAC;gBAAE,MAAM;YACpE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAmB,EAAQ,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;YAAS,CAAC;QACT,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAAC,EAAe,EAAE,KAAgB;IACjE,IAAI,IAAI,GAAW,CAAC,CAAC;IACrB,sEAAsE;IACtE,MAAM,KAAK,GAAa,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,MAAc,EAAW,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjK,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,KAAK,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,KAAK,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAC9E,IAAI,MAAM,kBAAkB,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC;gBAAE,IAAI,IAAI,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,4BAAoB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,kBAAkB,CAAC,MAAc,EAAE,EAAe,EAAE,QAAmB,IAAA,qBAAa,GAAE;IAC1G,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAkB,IAAI,OAAO,CAAO,CAAC,OAA8B,EAAQ,EAAE;YACrF,KAAK,GAAG,UAAU,CAAC,GAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,0BAAkB,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAA6B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1G,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACjC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,yBAAiB,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,sGAAsG;AACtG,SAAS,iBAAiB,CAAC,KAAgB,EAAE,MAAc;IACzD,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,yBAAiB,CAAC;AAClE,CAAC"}
|
package/dist/dicom/series.d.ts
CHANGED
|
@@ -83,6 +83,17 @@ export interface DicomFolderListing {
|
|
|
83
83
|
* @returns The tag set, or an error when the file could not be read or parsed.
|
|
84
84
|
*/
|
|
85
85
|
export declare function dicomHeader_get(path: string, io?: DicomFolderIO): Promise<Result<DicomTagSet>>;
|
|
86
|
+
/** How much of a file's start is read for its header alone: every tag before the pixels, in any file seen so far. */
|
|
87
|
+
export declare const DICOM_HEADER_PREFIX_BYTES: number;
|
|
88
|
+
/**
|
|
89
|
+
* Reads a DICOM file's header from the start of the file alone: the
|
|
90
|
+
* download stops after {@link DICOM_HEADER_PREFIX_BYTES} and the parse at
|
|
91
|
+
* the pixel data. A cine loop of hundreds of megabytes costs two.
|
|
92
|
+
*
|
|
93
|
+
* @param path - The file.
|
|
94
|
+
* @returns The tags before the pixels, or an error when the prefix is not DICOM.
|
|
95
|
+
*/
|
|
96
|
+
export declare function dicomHeaderPrefix_get(path: string): Promise<Result<DicomTagSet>>;
|
|
86
97
|
/**
|
|
87
98
|
* Forgets every cached header.
|
|
88
99
|
*/
|
package/dist/dicom/series.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.dicomFolderIO_default = void 0;
|
|
3
|
+
exports.DICOM_HEADER_PREFIX_BYTES = exports.dicomFolderIO_default = void 0;
|
|
4
4
|
exports.dicomHeader_get = dicomHeader_get;
|
|
5
|
+
exports.dicomHeaderPrefix_get = dicomHeaderPrefix_get;
|
|
5
6
|
exports.dicomHeaderCache_clear = dicomHeaderCache_clear;
|
|
6
7
|
exports.dicomFolder_list = dicomFolder_list;
|
|
7
8
|
exports.dicomFiles_sample = dicomFiles_sample;
|
|
@@ -60,6 +61,44 @@ async function dicomHeader_get(path, io = exports.dicomFolderIO_default) {
|
|
|
60
61
|
headerCache.set(path, parsed.value);
|
|
61
62
|
return parsed;
|
|
62
63
|
}
|
|
64
|
+
/** How much of a file's start is read for its header alone: every tag before the pixels, in any file seen so far. */
|
|
65
|
+
exports.DICOM_HEADER_PREFIX_BYTES = 2 * 1024 * 1024;
|
|
66
|
+
/**
|
|
67
|
+
* Reads a DICOM file's header from the start of the file alone: the
|
|
68
|
+
* download stops after {@link DICOM_HEADER_PREFIX_BYTES} and the parse at
|
|
69
|
+
* the pixel data. A cine loop of hundreds of megabytes costs two.
|
|
70
|
+
*
|
|
71
|
+
* @param path - The file.
|
|
72
|
+
* @returns The tags before the pixels, or an error when the prefix is not DICOM.
|
|
73
|
+
*/
|
|
74
|
+
async function dicomHeaderPrefix_get(path) {
|
|
75
|
+
const opened = await (0, index_js_1.fileContent_getBinaryStream)(path);
|
|
76
|
+
if (!opened.ok)
|
|
77
|
+
return (0, cumin_1.Err)();
|
|
78
|
+
const stream = opened.value.stream;
|
|
79
|
+
let prefix;
|
|
80
|
+
if (Buffer.isBuffer(stream)) {
|
|
81
|
+
prefix = stream.subarray(0, exports.DICOM_HEADER_PREFIX_BYTES);
|
|
82
|
+
}
|
|
83
|
+
else if (stream !== null && typeof stream === 'object' && Symbol.asyncIterator in stream) {
|
|
84
|
+
const chunks = [];
|
|
85
|
+
let read = 0;
|
|
86
|
+
for await (const chunk of stream) {
|
|
87
|
+
const piece = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
88
|
+
chunks.push(piece);
|
|
89
|
+
read += piece.length;
|
|
90
|
+
if (read >= exports.DICOM_HEADER_PREFIX_BYTES)
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
// Leaving the loop early ends the download; say so to a stream that asks.
|
|
94
|
+
stream.destroy?.();
|
|
95
|
+
prefix = Buffer.concat(chunks).subarray(0, exports.DICOM_HEADER_PREFIX_BYTES);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return (0, cumin_1.Err)();
|
|
99
|
+
}
|
|
100
|
+
return (0, tags_js_1.dicomTags_read)(prefix, true);
|
|
101
|
+
}
|
|
63
102
|
/**
|
|
64
103
|
* Forgets every cached header.
|
|
65
104
|
*/
|
package/dist/dicom/series.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"series.js","sourceRoot":"","sources":["../../src/dicom/series.ts"],"names":[],"mappings":";;;AAgGA,0CAaC;AAKD,wDAEC;AAaD,4CAeC;AAUD,8CAQC;AAWD,sDAwDC;
|
|
1
|
+
{"version":3,"file":"series.js","sourceRoot":"","sources":["../../src/dicom/series.ts"],"names":[],"mappings":"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"}
|
package/dist/dicom/tags.d.ts
CHANGED
|
@@ -50,10 +50,13 @@ export interface DicomTagsSummary {
|
|
|
50
50
|
/**
|
|
51
51
|
* Reads the elements of a DICOM file.
|
|
52
52
|
*
|
|
53
|
-
* @param bytes - The whole file, Part 10 header included
|
|
53
|
+
* @param bytes - The whole file, Part 10 header included — or, with
|
|
54
|
+
* `headerOnly`, as much of its start as holds everything before the pixels.
|
|
55
|
+
* @param headerOnly - Stop at the pixel data (7FE0,0010): a prefix of a large
|
|
56
|
+
* file is enough, and the pixels are neither read nor needed.
|
|
54
57
|
* @returns The tag set, or an error when the bytes are not a DICOM file.
|
|
55
58
|
*/
|
|
56
|
-
export declare function dicomTags_read(bytes: Buffer): Result<DicomTagSet>;
|
|
59
|
+
export declare function dicomTags_read(bytes: Buffer, headerOnly?: boolean): Result<DicomTagSet>;
|
|
57
60
|
/**
|
|
58
61
|
* Finds one tag by name in a tag set's top level.
|
|
59
62
|
*
|
package/dist/dicom/tags.js
CHANGED
|
@@ -32,13 +32,20 @@ const STRUCTURAL_TAGS = new Set(['FFFEE000', 'FFFEE00D', 'FFFEE0DD']);
|
|
|
32
32
|
/**
|
|
33
33
|
* Reads the elements of a DICOM file.
|
|
34
34
|
*
|
|
35
|
-
* @param bytes - The whole file, Part 10 header included
|
|
35
|
+
* @param bytes - The whole file, Part 10 header included — or, with
|
|
36
|
+
* `headerOnly`, as much of its start as holds everything before the pixels.
|
|
37
|
+
* @param headerOnly - Stop at the pixel data (7FE0,0010): a prefix of a large
|
|
38
|
+
* file is enough, and the pixels are neither read nor needed.
|
|
36
39
|
* @returns The tag set, or an error when the bytes are not a DICOM file.
|
|
37
40
|
*/
|
|
38
|
-
function dicomTags_read(bytes) {
|
|
41
|
+
function dicomTags_read(bytes, headerOnly = false) {
|
|
39
42
|
const buffer = new Uint8Array(bytes).slice().buffer;
|
|
40
43
|
try {
|
|
41
|
-
const message = dcmjs_1.default.data.DicomMessage.readFile(buffer, { ignoreErrors: true });
|
|
44
|
+
const message = dcmjs_1.default.data.DicomMessage.readFile(buffer, headerOnly ? { ignoreErrors: true, untilTag: '7FE00010', includeUntilTagValue: false } : { ignoreErrors: true });
|
|
45
|
+
// Stopped at the pixels, the pixel element stands with no value: it is
|
|
46
|
+
// not a tag the header has.
|
|
47
|
+
if (headerOnly)
|
|
48
|
+
delete message.dict['7FE00010'];
|
|
42
49
|
const meta = dict_flatten(message.meta);
|
|
43
50
|
const body = dict_flatten(message.dict);
|
|
44
51
|
const syntax = meta.find((tag) => tag.name === 'TransferSyntaxUID');
|
package/dist/dicom/tags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/dicom/tags.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/dicom/tags.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -21,9 +21,10 @@ export * from './workflows/index.js';
|
|
|
21
21
|
export * from './compute/index.js';
|
|
22
22
|
export * from './jobs/index.js';
|
|
23
23
|
export * from './users/index.js';
|
|
24
|
-
export { procCache_refresh, procTopology_warmup, procTopology_reconcileFeeds, procTopology_retry, procTopology_status, procTopology_await, procFeed_ensureLoaded, feedInstances_ensureLoaded, feedInstances_ensureStarted, procFeed_refreshStart, type FeedTopologyReadiness, feedMeta_ensure, feedStatus_refresh, feedVisit_sync, feedCached_isSettled, procRoster_sync, procRoster_syncStart, procRoster_bootSync, procVisitState_reset, FEED_RECHECK_MS, ROSTER_FULL_WALK_MS, FEED_VISIT_COALESCE_MS } from './vfs/providers/proc.js';
|
|
24
|
+
export { procCache_refresh, procTopology_warmup, procTopology_reconcileFeeds, procTopology_retry, procTopology_status, procTopology_await, procFeed_ensureLoaded, feedInstances_ensureLoaded, feedInstances_ensureStarted, procFeed_refreshStart, type FeedTopologyReadiness, feedMeta_ensure, feedStatus_refresh, feedVisit_sync, feedCached_isSettled, procRoster_sync, procRoster_syncStart, procRoster_bootSync, procVisitState_reset, procDataFacts_start, FEED_RECHECK_MS, ROSTER_FULL_WALK_MS, FEED_VISIT_COALESCE_MS } from './vfs/providers/proc.js';
|
|
25
25
|
export type { ProcTopologyState, ProcTopologyStatus } from './vfs/providers/proc.js';
|
|
26
26
|
export { feedGraph_build, signature_compute } from './dag/feedGraph.js';
|
|
27
27
|
export type { FeedGraph, FeedNode } from './dag/feedGraph.js';
|
|
28
28
|
export { feedJoins_ensure, nodeJoins_resolve } from './dag/feedJoins.js';
|
|
29
29
|
export { feedGraphData_ensure } from './dag/feedLoad.js';
|
|
30
|
+
export { feedDataFacts_read, procDataFacts_sweep, procDataFacts_feed, procDataFacts_settled, sourceFeed_of, dataFactsIO_of, dataFormat_ofName, DATA_FACTS_READER, type DataFactsIO } from './dag/feedData.js';
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.feedGraphData_ensure = exports.nodeJoins_resolve = exports.feedJoins_ensure = exports.signature_compute = exports.feedGraph_build = exports.FEED_VISIT_COALESCE_MS = exports.ROSTER_FULL_WALK_MS = exports.FEED_RECHECK_MS = exports.procVisitState_reset = exports.procRoster_bootSync = exports.procRoster_syncStart = exports.procRoster_sync = exports.feedCached_isSettled = exports.feedVisit_sync = exports.feedStatus_refresh = exports.feedMeta_ensure = exports.procFeed_refreshStart = exports.feedInstances_ensureStarted = exports.feedInstances_ensureLoaded = exports.procFeed_ensureLoaded = exports.procTopology_await = exports.procTopology_status = exports.procTopology_retry = exports.procTopology_reconcileFeeds = exports.procTopology_warmup = exports.procCache_refresh = void 0;
|
|
21
|
+
exports.DATA_FACTS_READER = exports.dataFormat_ofName = exports.dataFactsIO_of = exports.sourceFeed_of = exports.procDataFacts_settled = exports.procDataFacts_feed = exports.procDataFacts_sweep = exports.feedDataFacts_read = exports.feedGraphData_ensure = exports.nodeJoins_resolve = exports.feedJoins_ensure = exports.signature_compute = exports.feedGraph_build = exports.FEED_VISIT_COALESCE_MS = exports.ROSTER_FULL_WALK_MS = exports.FEED_RECHECK_MS = exports.procDataFacts_start = exports.procVisitState_reset = exports.procRoster_bootSync = exports.procRoster_syncStart = exports.procRoster_sync = exports.feedCached_isSettled = exports.feedVisit_sync = exports.feedStatus_refresh = exports.feedMeta_ensure = exports.procFeed_refreshStart = exports.feedInstances_ensureStarted = exports.feedInstances_ensureLoaded = exports.procFeed_ensureLoaded = exports.procTopology_await = exports.procTopology_status = exports.procTopology_retry = exports.procTopology_reconcileFeeds = exports.procTopology_warmup = exports.procCache_refresh = void 0;
|
|
22
22
|
__exportStar(require("./feeds/index.js"), exports);
|
|
23
23
|
__exportStar(require("./plugins/index.js"), exports);
|
|
24
24
|
__exportStar(require("./files/index.js"), exports);
|
|
@@ -57,6 +57,7 @@ Object.defineProperty(exports, "procRoster_sync", { enumerable: true, get: funct
|
|
|
57
57
|
Object.defineProperty(exports, "procRoster_syncStart", { enumerable: true, get: function () { return proc_js_1.procRoster_syncStart; } });
|
|
58
58
|
Object.defineProperty(exports, "procRoster_bootSync", { enumerable: true, get: function () { return proc_js_1.procRoster_bootSync; } });
|
|
59
59
|
Object.defineProperty(exports, "procVisitState_reset", { enumerable: true, get: function () { return proc_js_1.procVisitState_reset; } });
|
|
60
|
+
Object.defineProperty(exports, "procDataFacts_start", { enumerable: true, get: function () { return proc_js_1.procDataFacts_start; } });
|
|
60
61
|
Object.defineProperty(exports, "FEED_RECHECK_MS", { enumerable: true, get: function () { return proc_js_1.FEED_RECHECK_MS; } });
|
|
61
62
|
Object.defineProperty(exports, "ROSTER_FULL_WALK_MS", { enumerable: true, get: function () { return proc_js_1.ROSTER_FULL_WALK_MS; } });
|
|
62
63
|
Object.defineProperty(exports, "FEED_VISIT_COALESCE_MS", { enumerable: true, get: function () { return proc_js_1.FEED_VISIT_COALESCE_MS; } });
|
|
@@ -68,4 +69,13 @@ Object.defineProperty(exports, "feedJoins_ensure", { enumerable: true, get: func
|
|
|
68
69
|
Object.defineProperty(exports, "nodeJoins_resolve", { enumerable: true, get: function () { return feedJoins_js_1.nodeJoins_resolve; } });
|
|
69
70
|
var feedLoad_js_1 = require("./dag/feedLoad.js");
|
|
70
71
|
Object.defineProperty(exports, "feedGraphData_ensure", { enumerable: true, get: function () { return feedLoad_js_1.feedGraphData_ensure; } });
|
|
72
|
+
var feedData_js_1 = require("./dag/feedData.js");
|
|
73
|
+
Object.defineProperty(exports, "feedDataFacts_read", { enumerable: true, get: function () { return feedData_js_1.feedDataFacts_read; } });
|
|
74
|
+
Object.defineProperty(exports, "procDataFacts_sweep", { enumerable: true, get: function () { return feedData_js_1.procDataFacts_sweep; } });
|
|
75
|
+
Object.defineProperty(exports, "procDataFacts_feed", { enumerable: true, get: function () { return feedData_js_1.procDataFacts_feed; } });
|
|
76
|
+
Object.defineProperty(exports, "procDataFacts_settled", { enumerable: true, get: function () { return feedData_js_1.procDataFacts_settled; } });
|
|
77
|
+
Object.defineProperty(exports, "sourceFeed_of", { enumerable: true, get: function () { return feedData_js_1.sourceFeed_of; } });
|
|
78
|
+
Object.defineProperty(exports, "dataFactsIO_of", { enumerable: true, get: function () { return feedData_js_1.dataFactsIO_of; } });
|
|
79
|
+
Object.defineProperty(exports, "dataFormat_ofName", { enumerable: true, get: function () { return feedData_js_1.dataFormat_ofName; } });
|
|
80
|
+
Object.defineProperty(exports, "DATA_FACTS_READER", { enumerable: true, get: function () { return feedData_js_1.DATA_FACTS_READER; } });
|
|
71
81
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,qDAAmC;AACnC,mDAAiC;AACjC,uDAAqC;AACrC,kDAAgC;AAChC,mDAAiC;AACjC,sDAAoC;AACpC,iDAA+B;AAC/B,kDAAgC;AAChC,oDAAkC;AAClC,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,qDAAmC;AACnC,mDAAiC;AACjC,uDAAqC;AACrC,kDAAgC;AAChC,mDAAiC;AACjC,sDAAoC;AACpC,iDAA+B;AAC/B,kDAAgC;AAChC,oDAAkC;AAClC,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,mDAA8hB;AAArhB,4GAAA,iBAAiB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,sHAAA,2BAA2B,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,gHAAA,qBAAqB,OAAA;AAAE,qHAAA,0BAA0B,OAAA;AAAE,sHAAA,2BAA2B,OAAA;AAAE,gHAAA,qBAAqB,OAAA;AAA8B,0GAAA,eAAe,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAE5f,mDAAwE;AAA/D,+GAAA,eAAe,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAE3C,mDAAyE;AAAhE,gHAAA,gBAAgB,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAC5C,iDAAyD;AAAhD,mHAAA,oBAAoB,OAAA;AAC7B,iDAA8M;AAArM,iHAAA,kBAAkB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAAE,oHAAA,qBAAqB,OAAA;AAAE,4GAAA,aAAa,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AAAE,gHAAA,iBAAiB,OAAA"}
|
|
@@ -7,6 +7,25 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { Result } from "@fnndsc/cumin";
|
|
9
9
|
import { VFSProvider, VFSItem, CpOptions } from "../provider.js";
|
|
10
|
+
/**
|
|
11
|
+
* Shape of raw file browser items returned by the ChRIS API.
|
|
12
|
+
*/
|
|
13
|
+
interface ChrisFileOrDirRaw {
|
|
14
|
+
path?: string;
|
|
15
|
+
fname?: string;
|
|
16
|
+
fsize?: number;
|
|
17
|
+
owner_username?: string;
|
|
18
|
+
creation_date?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* One CUBE files/dirs/links row as a listing item: its name (the last path
|
|
22
|
+
* segment, a link's `.chrislink` dropped) and, for a link, where it points.
|
|
23
|
+
*
|
|
24
|
+
* @param raw - The row.
|
|
25
|
+
* @param type - What kind of row it is.
|
|
26
|
+
* @returns The item.
|
|
27
|
+
*/
|
|
28
|
+
export declare function chrisRow_toItem(raw: ChrisFileOrDirRaw, type: "dir" | "file" | "link" | "vfs"): VFSItem;
|
|
10
29
|
/**
|
|
11
30
|
* Native ChRIS filesystem provider operating on absolute CUBE folders.
|
|
12
31
|
*/
|
|
@@ -32,3 +51,4 @@ export declare class NativeVfsProvider implements VFSProvider {
|
|
|
32
51
|
*/
|
|
33
52
|
cp(src: string, dest: string, options: CpOptions): Promise<boolean>;
|
|
34
53
|
}
|
|
54
|
+
export {};
|
|
@@ -11,10 +11,41 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.NativeVfsProvider = void 0;
|
|
14
|
+
exports.chrisRow_toItem = chrisRow_toItem;
|
|
14
15
|
const cumin_1 = require("@fnndsc/cumin");
|
|
15
16
|
const sort_js_1 = require("../sort.js");
|
|
16
17
|
const index_js_1 = require("../../files/index.js");
|
|
17
18
|
const path_1 = __importDefault(require("path"));
|
|
19
|
+
/**
|
|
20
|
+
* One CUBE files/dirs/links row as a listing item: its name (the last path
|
|
21
|
+
* segment, a link's `.chrislink` dropped) and, for a link, where it points.
|
|
22
|
+
*
|
|
23
|
+
* @param raw - The row.
|
|
24
|
+
* @param type - What kind of row it is.
|
|
25
|
+
* @returns The item.
|
|
26
|
+
*/
|
|
27
|
+
function chrisRow_toItem(raw, type) {
|
|
28
|
+
let name = raw.fname || raw.path || "";
|
|
29
|
+
if (name.includes("/")) {
|
|
30
|
+
name = name.split("/").pop() || name;
|
|
31
|
+
}
|
|
32
|
+
if (type === "link" && name.endsWith(".chrislink")) {
|
|
33
|
+
name = name.slice(0, -10);
|
|
34
|
+
}
|
|
35
|
+
const targetPath = raw.path
|
|
36
|
+
? raw.path.startsWith("/")
|
|
37
|
+
? raw.path
|
|
38
|
+
: "/" + raw.path
|
|
39
|
+
: undefined;
|
|
40
|
+
return {
|
|
41
|
+
name,
|
|
42
|
+
type,
|
|
43
|
+
size: raw.fsize || 0,
|
|
44
|
+
owner: raw.owner_username || "unknown",
|
|
45
|
+
date: raw.creation_date || "",
|
|
46
|
+
target: targetPath,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
18
49
|
/**
|
|
19
50
|
* Native ChRIS filesystem provider operating on absolute CUBE folders.
|
|
20
51
|
*/
|
|
@@ -87,28 +118,7 @@ class NativeVfsProvider {
|
|
|
87
118
|
}
|
|
88
119
|
}
|
|
89
120
|
const items = [];
|
|
90
|
-
const mapToItem =
|
|
91
|
-
let name = raw.fname || raw.path || "";
|
|
92
|
-
if (name.includes("/")) {
|
|
93
|
-
name = name.split("/").pop() || name;
|
|
94
|
-
}
|
|
95
|
-
if (type === "link" && name.endsWith(".chrislink")) {
|
|
96
|
-
name = name.slice(0, -10);
|
|
97
|
-
}
|
|
98
|
-
const targetPath = raw.path
|
|
99
|
-
? raw.path.startsWith("/")
|
|
100
|
-
? raw.path
|
|
101
|
-
: "/" + raw.path
|
|
102
|
-
: undefined;
|
|
103
|
-
return {
|
|
104
|
-
name,
|
|
105
|
-
type,
|
|
106
|
-
size: raw.fsize || 0,
|
|
107
|
-
owner: raw.owner_username || "unknown",
|
|
108
|
-
date: raw.creation_date || "",
|
|
109
|
-
target: targetPath,
|
|
110
|
-
};
|
|
111
|
-
};
|
|
121
|
+
const mapToItem = chrisRow_toItem;
|
|
112
122
|
if (dirsResult.status === "fulfilled" && dirsResult.value?.tableData) {
|
|
113
123
|
dirsResult.value.tableData.forEach((d) => items.push(mapToItem(d, "dir")));
|
|
114
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../../src/vfs/providers/native.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../../src/vfs/providers/native.ts"],"names":[],"mappings":"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"}
|
|
@@ -221,6 +221,14 @@ export declare function procRoster_bootSync(): Promise<number[]>;
|
|
|
221
221
|
* Forgets all visit bookkeeping (tests, and a cache cleared underneath us).
|
|
222
222
|
*/
|
|
223
223
|
export declare function procVisitState_reset(): void;
|
|
224
|
+
/**
|
|
225
|
+
* Reads the data facts of every feed that has none yet (see
|
|
226
|
+
* `dag/feedData.ts`): the index's tail after a sweep, and the one a daemon
|
|
227
|
+
* that restored its checkpoint starts itself, since no sweep runs then.
|
|
228
|
+
*
|
|
229
|
+
* @returns How many feeds were read; zero when a sweep is already under way.
|
|
230
|
+
*/
|
|
231
|
+
export declare function procDataFacts_start(): Promise<number>;
|
|
224
232
|
/**
|
|
225
233
|
* Starts or joins the session's global plugin-instance topology sweep.
|
|
226
234
|
*
|
|
@@ -39,6 +39,7 @@ exports.procRoster_sync = procRoster_sync;
|
|
|
39
39
|
exports.procRoster_syncStart = procRoster_syncStart;
|
|
40
40
|
exports.procRoster_bootSync = procRoster_bootSync;
|
|
41
41
|
exports.procVisitState_reset = procVisitState_reset;
|
|
42
|
+
exports.procDataFacts_start = procDataFacts_start;
|
|
42
43
|
exports.procTopology_warmup = procTopology_warmup;
|
|
43
44
|
exports.procTopology_reconcileFeeds = procTopology_reconcileFeeds;
|
|
44
45
|
exports.procTopology_retry = procTopology_retry;
|
|
@@ -48,6 +49,7 @@ exports.procCache_refresh = procCache_refresh;
|
|
|
48
49
|
const cumin_1 = require("@fnndsc/cumin");
|
|
49
50
|
const index_js_1 = require("../../jobs/index.js");
|
|
50
51
|
const feedJoins_js_1 = require("../../dag/feedJoins.js");
|
|
52
|
+
const feedData_js_1 = require("../../dag/feedData.js");
|
|
51
53
|
const packages_js_1 = require("../../pipelines/packages.js");
|
|
52
54
|
/** Virtual filenames inside each instance directory. */
|
|
53
55
|
const INSTANCE_FILES = new Set(['status', 'params', 'log', 'data']);
|
|
@@ -237,6 +239,8 @@ async function feedInstances_load(feedID) {
|
|
|
237
239
|
cache.instance_add(procInstance_fromRow(inst));
|
|
238
240
|
cache.topologyLoaded_mark(feedID);
|
|
239
241
|
cache.feedLoad_clear(feedID);
|
|
242
|
+
// What the feed's data is: read once, now its root is known.
|
|
243
|
+
void (0, feedData_js_1.procDataFacts_feed)(feedID, dataFactsIO_get());
|
|
240
244
|
}
|
|
241
245
|
catch (error) {
|
|
242
246
|
// A walk that stops names where it stopped and stays annunciated for a
|
|
@@ -1149,6 +1153,25 @@ function procTopology_start(state) {
|
|
|
1149
1153
|
});
|
|
1150
1154
|
return sweep;
|
|
1151
1155
|
}
|
|
1156
|
+
/** The data-facts reader, with this provider's output paths. */
|
|
1157
|
+
function dataFactsIO_get() {
|
|
1158
|
+
return (0, feedData_js_1.dataFactsIO_of)(instanceOutputPath_ensure);
|
|
1159
|
+
}
|
|
1160
|
+
/**
|
|
1161
|
+
* Reads the data facts of every feed that has none yet (see
|
|
1162
|
+
* `dag/feedData.ts`): the index's tail after a sweep, and the one a daemon
|
|
1163
|
+
* that restored its checkpoint starts itself, since no sweep runs then.
|
|
1164
|
+
*
|
|
1165
|
+
* @returns How many feeds were read; zero when a sweep is already under way.
|
|
1166
|
+
*/
|
|
1167
|
+
async function procDataFacts_start() {
|
|
1168
|
+
try {
|
|
1169
|
+
return await (0, feedData_js_1.procDataFacts_sweep)(dataFactsIO_get());
|
|
1170
|
+
}
|
|
1171
|
+
catch {
|
|
1172
|
+
return 0;
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1152
1175
|
/**
|
|
1153
1176
|
* Kicks the quiet settlement tails once the topology index is complete:
|
|
1154
1177
|
* every unresolved `ts` join resolves in the background (so first diagrams
|
|
@@ -1158,6 +1181,7 @@ function procTopology_start(state) {
|
|
|
1158
1181
|
*/
|
|
1159
1182
|
function procSettlementTails_run() {
|
|
1160
1183
|
void (0, feedJoins_js_1.procJoins_sweep)().catch(() => { });
|
|
1184
|
+
void procDataFacts_start();
|
|
1161
1185
|
void (0, packages_js_1.pipelinePackages_sweep)().catch(() => { });
|
|
1162
1186
|
}
|
|
1163
1187
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proc.js","sourceRoot":"","sources":["../../../src/vfs/providers/proc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proc.js","sourceRoot":"","sources":["../../../src/vfs/providers/proc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fnndsc/salsa",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.20.0",
|
|
4
4
|
"description": "Shared Application Logic and Service Assets for ChRIS",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"adm-zip": "npm:empty-npm-package@1.0.0"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@fnndsc/cumin": "^3.
|
|
63
|
+
"@fnndsc/cumin": "^3.25.0",
|
|
64
64
|
"axios": "^1.6.8",
|
|
65
65
|
"dcmjs": "^0.52.0",
|
|
66
66
|
"ws": "^8.21.0"
|