-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathoutput_schema.json
187 lines (187 loc) · 6.08 KB
/
output_schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
{
"id" :"https://raw.githubusercontent.com/slicerprostate/slicetracker/master/doc/output_schema.json#",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"properties": {
"procedureEvents": {
"type": "object",
"additionalProperties": false,
"properties": {
"caseStarted": { "$ref": "#/definitions/TIMESTAMP" },
"caseClosed": { "$ref": "#/definitions/TIMESTAMP_LOGFILE_LIST" },
"caseResumed": { "$ref": "#/definitions/TIMESTAMP_LIST" },
"caseCompleted": { "$ref": "#/definitions/TIMESTAMP_LOGFILE" }
}, "require": ["caseStarted", "caseClosed"]
},
"usedPreopData": { "type": "boolean" },
"biasCorrected": { "type": "boolean" },
"preop": {
"segmentation": { "$ref": "#/definitions/SEGMENTATION" }
},
"initialVolume": { "type": "string" },
"initialTargets": { "type": "string" },
"zFrameRegistration": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": { "type": "string" },
"startTime": { "$ref": "#/definitions/TIMESTAMP" },
"endTime": { "$ref": "#/definitions/TIMESTAMP" },
"seriesType": {"type": "string" },
"volume": { "$ref": "#/definitions/NRRD_FILE" },
"transform": { "$ref": "#/definitions/TRANSFORM_FILE" }
}, "require": ["name", "startTime", "endTime", "volume", "transform"]
},
"results": { "$ref": "#/definitions/RESULTS" }
},
"required": ["procedureEvents", "usedPreopData", "initialVolume", "initialTargets", "zFrameRegistration", "results"],
"definitions": {
"RESULTS": {
"type": "array",
"items": { "$ref": "#/definitions/RESULT" }
},
"RESULT": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": { "type": "string" },
"seriesType": {"type": "string" },
"receivedTime": { "$ref": "#/definitions/TIMESTAMP" },
"status": {
"type": "object",
"additionalProperties": false,
"properties": {
"state": {"type": "string",
"enum": [ "approved", "skipped", "rejected"]
},
"time": { "$ref": "#/definitions/TIMESTAMP" }
}, "required": ["state", "time"]
},
"segmentation": { "$ref": "#/definitions/SEGMENTATION" },
"registration": { "$ref": "#/definitions/REGISTRATION" },
"registrationType": { "$ref": "#/definitions/REGISTRATION_TYPE" },
"score": { "type": "number" },
"suffix": {
"type": "string",
"pattern": "^_Retry_([0-9])+$"
},
"labels": { "$ref": "#/definitions/VOLUME_TYPES" },
"transforms": { "$ref": "#/definitions/REGISTRATION_TYPES" },
"volumes": {
"allOf": [
{ "$ref": "#/definitions/REGISTRATION_TYPES" },
{ "$ref": "#/definitions/VOLUME_TYPES" }
]
},
"targets": { "$ref": "#/definitions/TARGETS" }
},
"required": ["name", "status", "receivedTime"]
},
"REGISTRATION_TYPE": {
"type": "string",
"enum": ["rigid", "affine", "bSpline"
]
},
"REGISTRATION_TYPES": {
"type": "object",
"properties": {
"rigid": { "type": "string" },
"affine": { "type": "string" },
"bSpline": { "type": "string" }
}
},
"VOLUME_TYPES": {
"type": "object",
"properties": {
"fixed": { "type": "string" },
"moving": { "type": "string" }
}
},
"TARGETS" : {
"allOf": [
{ "$ref": "#/definitions/REGISTRATION_TYPES" },
{
"properties": {
"original": { "type": "string" },
"approved": {
"type": "object",
"additionalProperties": false,
"properties": {
"userModified": {
"type": "array",
"items": {
"type": "boolean"
}
},
"fileName": { "$ref": "#/definitions/FIDUCIALS_FILE" }
}, "required": ["userModified"]
}
}, "required": ["original", "rigid", "affine", "bSpline"]
}
],
"required": ["original"]
},
"TRANSFORM_FILE": {
"type": "string",
"pattern": "^([0-9])+-([a-z,A-Z])+.h5$"
},
"FIDUCIALS_FILE": {
"type": "string",
"pattern": "^([0-9])+-([a-z,A-Z])+-approved.fcsv$"
},
"NRRD_FILE": {
"type": "string",
"pattern": ".nrrd$"
},
"TIMESTAMP": {
"type": "string",
"format": "date-time"
},
"TIMESTAMP_LIST": {
"type": "array",
"items": { "$ref": "#/definitions/TIMESTAMP" }
},
"TIMESTAMP_LOGFILE_LIST": {
"type": "array",
"items": { "$ref": "#/definitions/TIMESTAMP_LOGFILE" }
},
"TIMESTAMP_LOGFILE": {
"type": "object",
"additionalProperties": false,
"properties": {
"time": { "$ref": "#/definitions/TIMESTAMP" },
"logfile": { "type": "string" }
}, "required": ["time", "logfile"]
},
"SEGMENTATION": {
"type": "object",
"additionalProperties": false,
"properties": {
"algorithm": {
"type": "string",
"enum": [ "manual", "automatic"]
},
"startTime": { "$ref": "#/definitions/TIMESTAMP" },
"endTime": { "$ref": "#/definitions/TIMESTAMP" },
"original": { "$ref": "#/definitions/NRRD_FILE" },
"userModified": {
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": { "$ref": "#/definitions/TIMESTAMP" },
"endTime": { "$ref": "#/definitions/TIMESTAMP" },
"fileName": { "$ref": "#/definitions/NRRD_FILE" }
}
}
}, "required": ["algorithm", "startTime", "endTime", "original"]
},
"REGISTRATION": {
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": { "$ref": "#/definitions/TIMESTAMP" },
"endTime": { "$ref": "#/definitions/TIMESTAMP" }
}, "required": ["startTime", "endTime"]
}
}
}