77by_body = json .loads (
88"""
99{
10- "results": [
11- {
12- "id": "2945073143148142603",
13- "type": "EMImage",
14- "libraryName": "FlyEM_Hemibrain_v1.2.1",
15- "publishedName": "1734696429",
16- "alignmentSpace": "JRC2018_Unisex_20x_HR",
17- "anatomicalArea": "Brain",
18- "gender": "f",
19- "store": "fl:hemibrain:v1.2.1",
20- "files": {
21- "CDM": "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/1734696429-JRC2018_Unisex_20x_HR-CDM.png",
22- "CDMThumbnail": "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/1734696429-JRC2018_Unisex_20x_HR-CDM.jpg",
23- "AlignedBodySWC": "FlyEM_Hemibrain_v1.2.1/1734696429.swc",
24- "AlignedBodyOBJ": "FlyEM_Hemibrain_v1.2.1/1734696429.obj",
25- "CDSResults": "2945073143148142603.json",
26- "PPPMResults": "1734696429.json"
27- },
28- "neuronType": "ORN_DA1",
29- "neuronInstance": "ORN_DA1_L"
30- }
31- ]
10+ "results" : [ {
11+ "libraryName" : "FlyEM_Hemibrain_v1.2.1",
12+ "alignmentSpace" : "JRC2018_Unisex_20x_HR",
13+ "anatomicalArea" : "Brain",
14+ "gender" : "f",
15+ "neuronType" : "ORN_DA1",
16+ "neuronInstance" : "ORN_DA1_L",
17+ "id" : "2945073143148142603",
18+ "publishedName" : "hemibrain:v1.2.1:1734696429",
19+ "files" : {
20+ "AlignedBodyOBJ" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/OBJ/1734696429.obj",
21+ "CDM" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/1734696429-JRC2018_Unisex_20x_HR-CDM.png",
22+ "store" : "fl:open_data:brain",
23+ "CDMThumbnail" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/1734696429-JRC2018_Unisex_20x_HR-CDM.jpg",
24+ "CDSResults" : "2945073143148142603.json",
25+ "AlignedBodySWC" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/SWC/1734696429.swc",
26+ "PPPMResults" : "2941779068174991906.json"
27+ },
28+ "type" : "EMImage"
29+ } ]
3230}
3331""" )
3432
@@ -39,146 +37,90 @@ def test_EMImageLookup():
3937 assert isinstance (img , EMImage )
4038 assert img .id == "2945073143148142603"
4139 assert img .libraryName == "FlyEM_Hemibrain_v1.2.1"
42- assert img .publishedName == "1734696429"
40+ assert img .publishedName == "hemibrain:v1.2.1: 1734696429"
4341 assert img .alignmentSpace == "JRC2018_Unisex_20x_HR"
4442 assert img .gender == Gender .female
4543 assert img .files .CDM == "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/1734696429-JRC2018_Unisex_20x_HR-CDM.png"
4644 assert img .files .CDMThumbnail == "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/1734696429-JRC2018_Unisex_20x_HR-CDM.jpg"
47- assert img .files .AlignedBodySWC == "FlyEM_Hemibrain_v1.2.1/1734696429.swc"
48- assert img .files .AlignedBodyOBJ == "FlyEM_Hemibrain_v1.2.1/1734696429.obj"
45+ assert img .files .AlignedBodySWC == "JRC2018_Unisex_20x_HR/ FlyEM_Hemibrain_v1.2.1/SWC /1734696429.swc"
46+ assert img .files .AlignedBodyOBJ == "JRC2018_Unisex_20x_HR/ FlyEM_Hemibrain_v1.2.1/OBJ /1734696429.obj"
4947 assert img .files .CDSResults == "2945073143148142603.json"
50- assert img .files .PPPMResults == "1734696429 .json"
48+ assert img .files .PPPMResults == "2941779068174991906 .json"
5149
5250 assert img .neuronType == "ORN_DA1"
5351 assert img .neuronInstance == "ORN_DA1_L"
5452
5553ppp_results = json .loads (
5654"""
5755{
58- "inputImage": {
59- "id": "2945073144457764875",
60- "type": "EMImage",
61- "libraryName": "FlyEM_Hemibrain_v1.2.1",
62- "publishedName": "2384750665",
63- "anatomicalArea": "Brain",
64- "alignmentSpace": "JRC2018_Unisex_20x_HR",
65- "gender": "f",
66- "store": "fl:hemibrain:v1.2.1",
67- "files": {
68- "CDM": "$img/JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/2384750665-JRC2018_Unisex_20x_HR-CDM.png",
69- "CDMThumbnail": "$thm/JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/2384750665-JRC2018_Unisex_20x_HR-CDM.jpg",
70- "AlignedBodySWC": "$swc/FlyEM_Hemibrain_v1.2.1/2384750665.swc"
71- },
72- "neuronType": null,
73- "neuronInstance": null
74- },
75- "results": [
76- {
77- "type": "PPPMatch",
78- "image": {
79- "id": "2588090337243168866",
80- "type": "LMImage",
81- "libraryName": "FlyLight_Gen1_MCFO",
82- "publishedName": "R20H11",
83- "alignmentSpace": "JRC2018_Unisex_20x_HR",
84- "gender": "f",
85- "store": "fl:hemibrain:v1.2.1",
86- "files": {
87- "VisuallyLosslessStack": "https://s3.amazonaws.com/janelia-flylight-imagery/Gen1+MCFO/R20H11/R20H11-20180918_62_A5-f-40x-central-GAL4-JRC2018_Unisex_20x_HR-aligned_stack.h5j"
88- },
89- "slideCode": "20180918_62_A5",
90- "objective": "40x",
91- "anatomicalArea": "Brain",
92- "mountingProtocol": "DPX PBS Mounting"
93- },
94- "files": {
95- "CDM": "23/2384750665/2384750665-R20H11-20180918_62_A5-40x-JRC2018_Unisex_20x_HR-ch.png",
96- "CDMSkel": "23/2384750665/2384750665-R20H11-20180918_62_A5-40x-JRC2018_Unisex_20x_HR-ch_skel.png",
97- "SignalMip": "23/2384750665/2384750665-R20H11-20180918_62_A5-40x-JRC2018_Unisex_20x_HR-raw.png",
98- "SignalMipMasked": "23/2384750665/2384750665-R20H11-20180918_62_A5-40x-JRC2018_Unisex_20x_HR-masked_raw.png",
99- "SignalMipMaskedSkel": "23/2384750665/2384750665-R20H11-20180918_62_A5-40x-JRC2018_Unisex_20x_HR-skel.png"
100- },
101- "mirrored": true,
102- "pppRank": 0.0,
103- "pppScore": 144
104- }
105- ]}
106- """
107- )
108-
109- def test_PPPMatches ():
110- matches = PrecomputedMatches (** ppp_results )
111- img = matches .inputImage
112- assert isinstance (img , EMImage )
113- assert img .id == "2945073144457764875"
114- assert len (matches .results ) == 1
115- match = matches .results [0 ]
116- assert isinstance (match , PPPMatch )
117- assert isinstance (match .image , LMImage )
118- assert match .image .id == "2588090337243168866"
119- assert match .image .gender == Gender .female
120- assert match .mirrored == True
121- assert match .files .CDM == "23/2384750665/2384750665-R20H11-20180918_62_A5-40x-JRC2018_Unisex_20x_HR-ch.png"
122-
123- new_results = json .loads (
124- """{
12556 "inputImage" : {
126- "id" : "2945073147357655051",
127- "type": "EMImage",
12857 "libraryName" : "FlyEM_Hemibrain_v1.2.1",
129- "publishedName" : "1253394541",
13058 "alignmentSpace" : "JRC2018_Unisex_20x_HR",
131- "anatomicalArea": "Brain",
132- "gender": "f",
133- "neuronType" : "MC62",
134- "neuronInstance" : "MC62(LWF5)_R",
135- "store": "fl:hemibrain:v1.2.1",
59+ "anatomicalArea" : "Brain",
60+ "gender" : "f",
61+ "neuronType" : "ORN_DA1",
62+ "neuronInstance" : "ORN_DA1_L",
63+ "id" : "2945073143148142603",
64+ "publishedName" : "hemibrain:v1.2.1:1734696429",
13665 "files" : {
137- "CDMThumbnail" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/1253394541-JRC2018_Unisex_20x_HR-CDM.jpg",
138- "CDM" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/1253394541-JRC2018_Unisex_20x_HR-CDM.png",
139- "AlignedBodySWC" : "FlyEM_Hemibrain_v1.2.1/1253394541.swc"
140- }
66+ "CDM" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/1734696429-JRC2018_Unisex_20x_HR-CDM.png",
67+ "AlignedBodySWC" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/SWC/1734696429.swc",
68+ "store" : "fl:open_data:brain",
69+ "AlignedBodyOBJ" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/OBJ/1734696429.obj",
70+ "CDSResults" : "2945073143148142603.json",
71+ "CDMThumbnail" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/1734696429-JRC2018_Unisex_20x_HR-CDM.jpg",
72+ "PPPMResults" : "2941779068174991906.json"
73+ },
74+ "type" : "EMImage"
14175 },
14276 "results" : [ {
143- "type": "CDSMatch",
14477 "mirrored" : false,
145- "normalizedScore" : 34433.96,
146- "matchingPixels" : 73,
14778 "image" : {
148- "id" : "2775341446398476299",
149- "type": "LMImage",
15079 "libraryName" : "FlyLight Gen1 MCFO",
151- "publishedName" : "VT040712",
15280 "alignmentSpace" : "JRC2018_Unisex_20x_HR",
15381 "anatomicalArea" : "Brain",
15482 "gender" : "m",
155- "slideCode" : "20200221_64_H4 ",
83+ "slideCode" : "20200124_63_B4 ",
15684 "objective" : "40x",
15785 "mountingProtocol" : "DPX PBS Mounting",
158- "channel" : 2,
159- "store": "fl:hemibrain:v1.2.1",
86+ "publishedName" : "VT023750",
16087 "files" : {
161- "CDMThumbnail " : "JRC2018_Unisex_20x_HR/FlyLight_Gen1_MCFO/VT040712-20200221_64_H4-GAL4- m-40x-brain- JRC2018_Unisex_20x_HR-CDM_2.jpg ",
162- "CDM " : "JRC2018_Unisex_20x_HR/FlyLight_Gen1_MCFO/VT040712-20200221_64_H4-GAL4-m-40x- brain-JRC2018_Unisex_20x_HR-CDM_2.png",
163- "VisuallyLosslessStack" : "Gen1+MCFO/VT040712/VT040712-20200221_64_H4-m-40x-central-GAL4-JRC2018_Unisex_20x_HR-aligned_stack.h5j" ,
164- "Gal4Expression " : "Gen1/CDM/VT040712/VT040712-sample_003501-f-20x-brain-JRC2018_Unisex_20x_HR-CDM_1.png"
165- }
88+ "VisuallyLosslessStack " : "Gen1+MCFO/VT023750/VT023750-20200124_63_B4- m-40x-central-GAL4- JRC2018_Unisex_20x_HR-aligned_stack.h5j ",
89+ "store " : "fl:open_data: brain"
90+ } ,
91+ "id " : "2765069201377853538",
92+ "type" : "LMImage"
16693 },
16794 "files" : {
168- "CDMMatch" : "VT040712-20200221_64_H4-GAL4-m-40x-brain-JRC2018_Unisex_20x_HR-CDM_2-04.png",
169- "CDMInput" : "1253394541-JRC2018_Unisex_20x_HR-CDM.png"
170- }
171- }]
172- }
95+ "SignalMip" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/17/1734696429/1734696429-VT023750-20200124_63_B4-40x-JRC2018_Unisex_20x_HR-raw.png",
96+ "store" : "fl:open_data:brain",
97+ "CDMBest" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/17/1734696429/1734696429-VT023750-20200124_63_B4-40x-JRC2018_Unisex_20x_HR-ch.png",
98+ "CDMBestThumbnail" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/17/1734696429/1734696429-VT023750-20200124_63_B4-40x-JRC2018_Unisex_20x_HR-ch.jpg",
99+ "SignalMipMaskedSkel" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/17/1734696429/1734696429-VT023750-20200124_63_B4-40x-JRC2018_Unisex_20x_HR-skel.png",
100+ "SignalMipMasked" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/17/1734696429/1734696429-VT023750-20200124_63_B4-40x-JRC2018_Unisex_20x_HR-masked_raw.png",
101+ "CDMSkel" : "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/17/1734696429/1734696429-VT023750-20200124_63_B4-40x-JRC2018_Unisex_20x_HR-ch_skel.png"
102+ },
103+ "pppmRank" : 0.0,
104+ "pppmScore" : 129,
105+ "type" : "PPPMatch"
106+ }
107+ ]}
173108"""
174109)
175110
176- def test_NewMatches ():
177- matches = PrecomputedMatches (** new_results )
178- assert isinstance (matches .inputImage , EMImage )
111+ def test_PPPMatches ():
112+ matches = PrecomputedMatches (** ppp_results )
113+ img = matches .inputImage
114+ assert isinstance (img , EMImage )
115+ assert img .id == "2945073143148142603"
116+ assert len (matches .results ) == 1
179117 match = matches .results [0 ]
180- assert isinstance (match , CDSMatch )
118+ assert isinstance (match , PPPMatch )
181119 assert isinstance (match .image , LMImage )
120+ assert match .image .id == "2765069201377853538"
121+ assert match .image .gender == Gender .male
122+ assert match .mirrored == False
123+ assert match .files .CDMBest == "JRC2018_Unisex_20x_HR/FlyEM_Hemibrain_v1.2.1/17/1734696429/1734696429-VT023750-20200124_63_B4-40x-JRC2018_Unisex_20x_HR-ch.png"
182124
183125
184126config = json .loads (
@@ -195,8 +137,8 @@ def test_NewMatches():
195137 }
196138 },
197139 "stores": {
198- "fl:hemibrain:v1.2.1 ": {
199- "label": "FlyLight vs Hemibrain ",
140+ "fl:open_data:brain ": {
141+ "label": "FlyLight Brain Open Data Store ",
200142 "anatomicalArea": "Brain",
201143 "prefixes": {
202144 "CDM": "https://s3.amazonaws.com/janelia-flylight-color-depth/",
@@ -210,55 +152,71 @@ def test_NewMatches():
210152 "SignalMipMasked": "https://s3.amazonaws.com/janelia-ppp-match-prod/",
211153 "SignalMipMaskedSkel": "https://s3.amazonaws.com/janelia-ppp-match-prod/",
212154 "SignalMipExpression": "https://s3.amazonaws.com/janelia-ppp-match-prod/",
213- "AlignedBodySWC": "https://s3.amazonaws.com/janelia-flylight-color-depth/SWC/",
214- "AlignedBodyOBJ": "https://s3.amazonaws.com/janelia-flylight-color-depth/OBJ/",
215- "CDSResults": "https://s3.amazonaws.com/janelia-neuronbridge-data-prod/v3.0.0-alpha/metadata/cdsresults/",
216- "PPPMResults": "https://s3.amazonaws.com/janelia-neuronbridge-data-prod/v3.0.0-alpha/metadata/pppresults/",
217- "VisuallyLosslessStack": "https://s3.amazonaws.com/janelia-flylight-imagery/"
155+ "AlignedBodySWC": "https://s3.amazonaws.com/janelia-flylight-color-depth/",
156+ "AlignedBodyOBJ": "https://s3.amazonaws.com/janelia-flylight-color-depth/",
157+ "CDSResults": "https://s3.amazonaws.com/janelia-neuronbridge-data-devpre/v3.0.0/metadata/cdsresults/",
158+ "PPPMResults": "https://s3.amazonaws.com/janelia-neuronbridge-data-devpre/v3.0.0/metadata/pppresults/",
159+ "VisuallyLosslessStack": "https://s3.amazonaws.com/janelia-flylight-imagery/",
160+ "Gal4Expression": "https://s3.amazonaws.com/janelia-flylight-imagery/"
218161 },
219162 "customSearch": {
220- "alignmentSpace": "JRC2018_Unisex_20x_HR",
221163 "searchFolder": "searchable_neurons",
222164 "lmLibraries": [
223- "FlyLight_Split-GAL4_Drivers",
224- "FlyLight_Gen1_MCFO",
225- "FlyLight_Annotator_Gen1_MCFO"
165+ {
166+ "name": "FlyLight_Split-GAL4_Drivers"
167+ },
168+ {
169+ "name": "FlyLight_Gen1_MCFO"
170+ },
171+ {
172+ "name": "FlyLight_Annotator_Gen1_MCFO"
173+ }
226174 ],
227175 "emLibraries": [
228- "FlyEM_Hemibrain_v1.2.1"
176+ {
177+ "name": "FlyEM_Hemibrain_v1.2.1",
178+ "publishedNamePrefix": "hemibrain:v1.2.1"
179+ }
229180 ]
230181 }
231182 },
232- "fl:vnc:latest ": {
233- "label": "FlyLight vs VNC",
183+ "fl:pre_release:vnc ": {
184+ "label": "FlyLight VNC Pre-Release Store ",
234185 "anatomicalArea": "VNC",
235186 "prefixes": {
236- "CDM": "https://s3.amazonaws.com/janelia-flylight-color-depth/",
237- "CDMThumbnail": "https://s3.amazonaws.com/janelia-flylight-color-depth-thumbnails/",
238- "CDMInput": "https://s3.amazonaws.com/janelia-flylight-color-depth/",
239- "CDMMatch": "https://s3.amazonaws.com/janelia-flylight-color-depth/",
240- "CDMBest": "https://s3.amazonaws.com/janelia-ppp-match-prod/",
241- "CDMBestThumbnail": "https://s3.amazonaws.com/janelia-ppp-match-prod/",
242- "CDMSkel": "https://s3.amazonaws.com/janelia-ppp-match-prod/",
243- "SignalMip": "https://s3.amazonaws.com/janelia-ppp-match-prod/",
244- "SignalMipMasked": "https://s3.amazonaws.com/janelia-ppp-match-prod/",
245- "SignalMipMaskedSkel": "https://s3.amazonaws.com/janelia-ppp-match-prod/",
246- "SignalMipExpression": "https://s3.amazonaws.com/janelia-ppp-match-prod/",
247- "AlignedBodySWC": "https://s3.amazonaws.com/janelia-flylight-color-depth/SWC/",
248- "AlignedBodyOBJ": "https://s3.amazonaws.com/janelia-flylight-color-depth/OBJ/",
249- "CDSResults": "https://s3.amazonaws.com/janelia-neuronbridge-data-prod/v3.0.0-alpha/metadata/cdsresults/",
250- "PPPMResults": "https://s3.amazonaws.com/janelia-neuronbridge-data-prod/v3.0.0-alpha/metadata/pppresults/",
251- "VisuallyLosslessStack": "https://s3.amazonaws.com/janelia-flylight-imagery/"
187+ "CDM": "https://s3.amazonaws.com/janelia-flylight-color-depth-devpre/",
188+ "CDMThumbnail": "https://s3.amazonaws.com/janelia-flylight-color-depth-thumbnails-devpre/",
189+ "CDMInput": "https://s3.amazonaws.com/janelia-flylight-color-depth-devpre/",
190+ "CDMMatch": "https://s3.amazonaws.com/janelia-flylight-color-depth-devpre/",
191+ "CDMBest": "https://s3.amazonaws.com/janelia-ppp-match-devpre/",
192+ "CDMBestThumbnail": "https://s3.amazonaws.com/janelia-ppp-match-devpre/",
193+ "CDMSkel": "https://s3.amazonaws.com/janelia-ppp-match-devpre/",
194+ "SignalMip": "https://s3.amazonaws.com/janelia-ppp-match-devpre/",
195+ "SignalMipMasked": "https://s3.amazonaws.com/janelia-ppp-match-devpre/",
196+ "SignalMipMaskedSkel": "https://s3.amazonaws.com/janelia-ppp-match-devpre/",
197+ "SignalMipExpression": "https://s3.amazonaws.com/janelia-ppp-match-devpre/",
198+ "AlignedBodySWC": "https://s3.amazonaws.com/janelia-flylight-color-depth-devpre/",
199+ "AlignedBodyOBJ": "https://s3.amazonaws.com/janelia-flylight-color-depth-devpre/",
200+ "CDSResults": "https://s3.amazonaws.com/janelia-neuronbridge-data-devpre/v3.0.0/metadata/cdsresults/",
201+ "PPPMResults": "https://s3.amazonaws.com/janelia-neuronbridge-data-devpre/v3.0.0/metadata/pppresults/",
202+ "VisuallyLosslessStack": "https://s3.amazonaws.com/janelia-flylight-imagery/",
203+ "Gal4Expression": "https://s3.amazonaws.com/janelia-flylight-imagery/"
252204 },
253205 "customSearch": {
254- "alignmentSpace": "JRC2018_VNC_Unisex_40x_DS",
255206 "searchFolder": "searchable_neurons",
256207 "lmLibraries": [
257- "FlyLight_Split-GAL4_Drivers",
258- "FlyLight_Gen1_MCFO"
208+ {
209+ "name": "FlyLight_Split-GAL4_Drivers"
210+ },
211+ {
212+ "name": "FlyLight_Gen1_MCFO"
213+ }
259214 ],
260215 "emLibraries": [
261- "FlyEM_VNC_v0.6"
216+ {
217+ "name": "FlyEM_VNC_v0.6",
218+ "publishedNamePrefix": "vnc:v0.6"
219+ }
262220 ]
263221 }
264222 }
@@ -278,4 +236,3 @@ def test_DataConfig():
278236 for dataSetName in data_config .stores :
279237 store = data_config .stores [dataSetName ]
280238 assert store .anatomicalArea in data_config .anatomicalAreas
281- assert store .customSearch .alignmentSpace in alignmentSpaces
0 commit comments