diff --git a/.gitignore b/.gitignore index 9bc56fb..b8f9471 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,9 @@ apps/probe-viewer/node_modules/ apps/probe-viewer/dist/ apps/probe-viewer/.vite/ +# Codex +AGENTS.md + # Build cache .cache/ diff --git a/apps/probe-viewer/src/components/Sidebar.tsx b/apps/probe-viewer/src/components/Sidebar.tsx index 36d8d2a..44486cb 100644 --- a/apps/probe-viewer/src/components/Sidebar.tsx +++ b/apps/probe-viewer/src/components/Sidebar.tsx @@ -8,6 +8,7 @@ import type { GroupNode } from "../grouping/types"; const MANUFACTURER_DISPLAY_NAMES: Record = { cambridgeneurotech: "Cambridge NeuroTech", + diagnosticbiochips: "Diagnostic Biochips", imec: "IMEC (Neuropixels)", neuronexus: "NeuroNexus", plexon: "Plexon", diff --git a/diagnosticbiochips/DA128-1/DA128-1.json b/diagnosticbiochips/DA128-1/DA128-1.json new file mode 100644 index 0000000..418a1e6 --- /dev/null +++ b/diagnosticbiochips/DA128-1/DA128-1.json @@ -0,0 +1,2480 @@ +{ + "specification": "probeinterface", + "version": "0.3.2", + "probes": [ + { + "ndim": 2, + "si_units": "um", + "annotations": { + "model_name": "DA128-1", + "manufacturer": "diagnosticbiochips", + "shank_material": "stainless steel" + }, + "contact_annotations": {}, + "contact_positions": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 40.0 + ], + [ + 0.0, + 80.0 + ], + [ + 0.0, + 120.0 + ], + [ + 0.0, + 160.0 + ], + [ + 0.0, + 200.0 + ], + [ + 0.0, + 240.0 + ], + [ + 0.0, + 280.0 + ], + [ + 0.0, + 320.0 + ], + [ + 0.0, + 360.0 + ], + [ + 0.0, + 400.0 + ], + [ + 0.0, + 440.0 + ], + [ + 0.0, + 480.0 + ], + [ + 0.0, + 520.0 + ], + [ + 0.0, + 560.0 + ], + [ + 0.0, + 600.0 + ], + [ + 0.0, + 640.0 + ], + [ + 0.0, + 680.0 + ], + [ + 0.0, + 720.0 + ], + [ + 0.0, + 760.0 + ], + [ + 0.0, + 800.0 + ], + [ + 0.0, + 840.0 + ], + [ + 0.0, + 880.0 + ], + [ + 0.0, + 920.0 + ], + [ + 0.0, + 960.0 + ], + [ + 0.0, + 1000.0 + ], + [ + 0.0, + 1040.0 + ], + [ + 0.0, + 1080.0 + ], + [ + 0.0, + 1120.0 + ], + [ + 0.0, + 1160.0 + ], + [ + 0.0, + 1200.0 + ], + [ + 0.0, + 1240.0 + ], + [ + 0.0, + 1280.0 + ], + [ + 0.0, + 1320.0 + ], + [ + 0.0, + 1360.0 + ], + [ + 0.0, + 1400.0 + ], + [ + 0.0, + 1440.0 + ], + [ + 0.0, + 1480.0 + ], + [ + 0.0, + 1520.0 + ], + [ + 0.0, + 1560.0 + ], + [ + 0.0, + 1600.0 + ], + [ + 0.0, + 1640.0 + ], + [ + 0.0, + 1680.0 + ], + [ + 0.0, + 1720.0 + ], + [ + 0.0, + 1760.0 + ], + [ + 0.0, + 1800.0 + ], + [ + 0.0, + 1840.0 + ], + [ + 0.0, + 1880.0 + ], + [ + 0.0, + 1920.0 + ], + [ + 0.0, + 1960.0 + ], + [ + 0.0, + 2000.0 + ], + [ + 0.0, + 2040.0 + ], + [ + 0.0, + 2080.0 + ], + [ + 0.0, + 2120.0 + ], + [ + 0.0, + 2160.0 + ], + [ + 0.0, + 2200.0 + ], + [ + 0.0, + 2240.0 + ], + [ + 0.0, + 2280.0 + ], + [ + 0.0, + 2320.0 + ], + [ + 0.0, + 2360.0 + ], + [ + 0.0, + 2400.0 + ], + [ + 0.0, + 2440.0 + ], + [ + 0.0, + 2480.0 + ], + [ + 0.0, + 2520.0 + ], + [ + 0.0, + 2560.0 + ], + [ + 0.0, + 2600.0 + ], + [ + 0.0, + 2640.0 + ], + [ + 0.0, + 2680.0 + ], + [ + 0.0, + 2720.0 + ], + [ + 0.0, + 2760.0 + ], + [ + 0.0, + 2800.0 + ], + [ + 0.0, + 2840.0 + ], + [ + 0.0, + 2880.0 + ], + [ + 0.0, + 2920.0 + ], + [ + 0.0, + 2960.0 + ], + [ + 0.0, + 3000.0 + ], + [ + 0.0, + 3040.0 + ], + [ + 0.0, + 3080.0 + ], + [ + 0.0, + 3120.0 + ], + [ + 0.0, + 3160.0 + ], + [ + 0.0, + 3200.0 + ], + [ + 0.0, + 3240.0 + ], + [ + 0.0, + 3280.0 + ], + [ + 0.0, + 3320.0 + ], + [ + 0.0, + 3360.0 + ], + [ + 0.0, + 3400.0 + ], + [ + 0.0, + 3440.0 + ], + [ + 0.0, + 3480.0 + ], + [ + 0.0, + 3520.0 + ], + [ + 0.0, + 3560.0 + ], + [ + 0.0, + 3600.0 + ], + [ + 0.0, + 3640.0 + ], + [ + 0.0, + 3680.0 + ], + [ + 0.0, + 3720.0 + ], + [ + 0.0, + 3760.0 + ], + [ + 0.0, + 3800.0 + ], + [ + 0.0, + 3840.0 + ], + [ + 0.0, + 3880.0 + ], + [ + 0.0, + 3920.0 + ], + [ + 0.0, + 3960.0 + ], + [ + 0.0, + 4000.0 + ], + [ + 0.0, + 4040.0 + ], + [ + 0.0, + 4080.0 + ], + [ + 0.0, + 4120.0 + ], + [ + 0.0, + 4160.0 + ], + [ + 0.0, + 4200.0 + ], + [ + 0.0, + 4240.0 + ], + [ + 0.0, + 4280.0 + ], + [ + 0.0, + 4320.0 + ], + [ + 0.0, + 4360.0 + ], + [ + 0.0, + 4400.0 + ], + [ + 0.0, + 4440.0 + ], + [ + 0.0, + 4480.0 + ], + [ + 0.0, + 4520.0 + ], + [ + 0.0, + 4560.0 + ], + [ + 0.0, + 4600.0 + ], + [ + 0.0, + 4640.0 + ], + [ + 0.0, + 4680.0 + ], + [ + 0.0, + 4720.0 + ], + [ + 0.0, + 4760.0 + ], + [ + 0.0, + 4800.0 + ], + [ + 0.0, + 4840.0 + ], + [ + 0.0, + 4880.0 + ], + [ + 0.0, + 4920.0 + ], + [ + 0.0, + 4960.0 + ], + [ + 0.0, + 5000.0 + ], + [ + 0.0, + 5040.0 + ], + [ + 0.0, + 5080.0 + ] + ], + "contact_plane_axes": [ + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ] + ], + "contact_shapes": [ + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle" + ], + "contact_shape_params": [ + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + } + ], + "probe_planar_contour": [ + [ + -100.0, + 90000.0 + ], + [ + -100.0, + -100.0 + ], + [ + 0.0, + -250.0 + ], + [ + 100.0, + -100.0 + ], + [ + 100.0, + 90000.0 + ] + ], + "contact_ids": [ + "0", + "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" + ] + } + ] +} \ No newline at end of file diff --git a/diagnosticbiochips/DA128-1/DA128-1.png b/diagnosticbiochips/DA128-1/DA128-1.png new file mode 100644 index 0000000..5c1f0b7 Binary files /dev/null and b/diagnosticbiochips/DA128-1/DA128-1.png differ diff --git a/diagnosticbiochips/DA128-2/DA128-2.json b/diagnosticbiochips/DA128-2/DA128-2.json new file mode 100644 index 0000000..14bfb98 --- /dev/null +++ b/diagnosticbiochips/DA128-2/DA128-2.json @@ -0,0 +1,2480 @@ +{ + "specification": "probeinterface", + "version": "0.3.2", + "probes": [ + { + "ndim": 2, + "si_units": "um", + "annotations": { + "model_name": "DA128-2", + "manufacturer": "diagnosticbiochips", + "shank_material": "stainless steel" + }, + "contact_annotations": {}, + "contact_positions": [ + [ + -21.65, + 0.0 + ], + [ + 21.65, + 25.0 + ], + [ + -21.65, + 50.0 + ], + [ + 21.65, + 75.0 + ], + [ + -21.65, + 100.0 + ], + [ + 21.65, + 125.0 + ], + [ + -21.65, + 150.0 + ], + [ + 21.65, + 175.0 + ], + [ + -21.65, + 200.0 + ], + [ + 21.65, + 225.0 + ], + [ + -21.65, + 250.0 + ], + [ + 21.65, + 275.0 + ], + [ + -21.65, + 300.0 + ], + [ + 21.65, + 325.0 + ], + [ + -21.65, + 350.0 + ], + [ + 21.65, + 375.0 + ], + [ + -21.65, + 400.0 + ], + [ + 21.65, + 425.0 + ], + [ + -21.65, + 450.0 + ], + [ + 21.65, + 475.0 + ], + [ + -21.65, + 500.0 + ], + [ + 21.65, + 525.0 + ], + [ + -21.65, + 550.0 + ], + [ + 21.65, + 575.0 + ], + [ + -21.65, + 600.0 + ], + [ + 21.65, + 625.0 + ], + [ + -21.65, + 650.0 + ], + [ + 21.65, + 675.0 + ], + [ + -21.65, + 700.0 + ], + [ + 21.65, + 725.0 + ], + [ + -21.65, + 750.0 + ], + [ + 21.65, + 775.0 + ], + [ + -21.65, + 800.0 + ], + [ + 21.65, + 825.0 + ], + [ + -21.65, + 850.0 + ], + [ + 21.65, + 875.0 + ], + [ + -21.65, + 900.0 + ], + [ + 21.65, + 925.0 + ], + [ + -21.65, + 950.0 + ], + [ + 21.65, + 975.0 + ], + [ + -21.65, + 1000.0 + ], + [ + 21.65, + 1025.0 + ], + [ + -21.65, + 1050.0 + ], + [ + 21.65, + 1075.0 + ], + [ + -21.65, + 1100.0 + ], + [ + 21.65, + 1125.0 + ], + [ + -21.65, + 1150.0 + ], + [ + 21.65, + 1175.0 + ], + [ + -21.65, + 1200.0 + ], + [ + 21.65, + 1225.0 + ], + [ + -21.65, + 1250.0 + ], + [ + 21.65, + 1275.0 + ], + [ + -21.65, + 1300.0 + ], + [ + 21.65, + 1325.0 + ], + [ + -21.65, + 1350.0 + ], + [ + 21.65, + 1375.0 + ], + [ + -21.65, + 1400.0 + ], + [ + 21.65, + 1425.0 + ], + [ + -21.65, + 1450.0 + ], + [ + 21.65, + 1475.0 + ], + [ + -21.65, + 1500.0 + ], + [ + 21.65, + 1525.0 + ], + [ + -21.65, + 1550.0 + ], + [ + 21.65, + 1575.0 + ], + [ + -21.65, + 1600.0 + ], + [ + 21.65, + 1625.0 + ], + [ + -21.65, + 1650.0 + ], + [ + 21.65, + 1675.0 + ], + [ + -21.65, + 1700.0 + ], + [ + 21.65, + 1725.0 + ], + [ + -21.65, + 1750.0 + ], + [ + 21.65, + 1775.0 + ], + [ + -21.65, + 1800.0 + ], + [ + 21.65, + 1825.0 + ], + [ + -21.65, + 1850.0 + ], + [ + 21.65, + 1875.0 + ], + [ + -21.65, + 1900.0 + ], + [ + 21.65, + 1925.0 + ], + [ + -21.65, + 1950.0 + ], + [ + 21.65, + 1975.0 + ], + [ + -21.65, + 2000.0 + ], + [ + 21.65, + 2025.0 + ], + [ + -21.65, + 2050.0 + ], + [ + 21.65, + 2075.0 + ], + [ + -21.65, + 2100.0 + ], + [ + 21.65, + 2125.0 + ], + [ + -21.65, + 2150.0 + ], + [ + 21.65, + 2175.0 + ], + [ + -21.65, + 2200.0 + ], + [ + 21.65, + 2225.0 + ], + [ + -21.65, + 2250.0 + ], + [ + 21.65, + 2275.0 + ], + [ + -21.65, + 2300.0 + ], + [ + 21.65, + 2325.0 + ], + [ + -21.65, + 2350.0 + ], + [ + 21.65, + 2375.0 + ], + [ + -21.65, + 2400.0 + ], + [ + 21.65, + 2425.0 + ], + [ + -21.65, + 2450.0 + ], + [ + 21.65, + 2475.0 + ], + [ + -21.65, + 2500.0 + ], + [ + 21.65, + 2525.0 + ], + [ + -21.65, + 2550.0 + ], + [ + 21.65, + 2575.0 + ], + [ + -21.65, + 2600.0 + ], + [ + 21.65, + 2625.0 + ], + [ + -21.65, + 2650.0 + ], + [ + 21.65, + 2675.0 + ], + [ + -21.65, + 2700.0 + ], + [ + 21.65, + 2725.0 + ], + [ + -21.65, + 2750.0 + ], + [ + 21.65, + 2775.0 + ], + [ + -21.65, + 2800.0 + ], + [ + 21.65, + 2825.0 + ], + [ + -21.65, + 2850.0 + ], + [ + 21.65, + 2875.0 + ], + [ + -21.65, + 2900.0 + ], + [ + 21.65, + 2925.0 + ], + [ + -21.65, + 2950.0 + ], + [ + 21.65, + 2975.0 + ], + [ + -21.65, + 3000.0 + ], + [ + 21.65, + 3025.0 + ], + [ + -21.65, + 3050.0 + ], + [ + 21.65, + 3075.0 + ], + [ + -21.65, + 3100.0 + ], + [ + 21.65, + 3125.0 + ], + [ + -21.65, + 3150.0 + ], + [ + 21.65, + 3175.0 + ] + ], + "contact_plane_axes": [ + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ] + ], + "contact_shapes": [ + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle" + ], + "contact_shape_params": [ + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + } + ], + "probe_planar_contour": [ + [ + -100.0, + 90000.0 + ], + [ + -100.0, + -100.0 + ], + [ + 0.0, + -250.0 + ], + [ + 100.0, + -100.0 + ], + [ + 100.0, + 90000.0 + ] + ], + "contact_ids": [ + "0", + "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" + ] + } + ] +} \ No newline at end of file diff --git a/diagnosticbiochips/DA128-2/DA128-2.png b/diagnosticbiochips/DA128-2/DA128-2.png new file mode 100644 index 0000000..bd26b96 Binary files /dev/null and b/diagnosticbiochips/DA128-2/DA128-2.png differ diff --git a/diagnosticbiochips/DA32-1/DA32-1.json b/diagnosticbiochips/DA32-1/DA32-1.json new file mode 100644 index 0000000..c10d0f3 --- /dev/null +++ b/diagnosticbiochips/DA32-1/DA32-1.json @@ -0,0 +1,656 @@ +{ + "specification": "probeinterface", + "version": "0.3.2", + "probes": [ + { + "ndim": 2, + "si_units": "um", + "annotations": { + "model_name": "DA32-1", + "manufacturer": "diagnosticbiochips", + "shank_material": "stainless steel" + }, + "contact_annotations": {}, + "contact_positions": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 65.0 + ], + [ + 0.0, + 130.0 + ], + [ + 0.0, + 195.0 + ], + [ + 0.0, + 260.0 + ], + [ + 0.0, + 325.0 + ], + [ + 0.0, + 390.0 + ], + [ + 0.0, + 455.0 + ], + [ + 0.0, + 520.0 + ], + [ + 0.0, + 585.0 + ], + [ + 0.0, + 650.0 + ], + [ + 0.0, + 715.0 + ], + [ + 0.0, + 780.0 + ], + [ + 0.0, + 845.0 + ], + [ + 0.0, + 910.0 + ], + [ + 0.0, + 975.0 + ], + [ + 0.0, + 1040.0 + ], + [ + 0.0, + 1105.0 + ], + [ + 0.0, + 1170.0 + ], + [ + 0.0, + 1235.0 + ], + [ + 0.0, + 1300.0 + ], + [ + 0.0, + 1365.0 + ], + [ + 0.0, + 1430.0 + ], + [ + 0.0, + 1495.0 + ], + [ + 0.0, + 1560.0 + ], + [ + 0.0, + 1625.0 + ], + [ + 0.0, + 1690.0 + ], + [ + 0.0, + 1755.0 + ], + [ + 0.0, + 1820.0 + ], + [ + 0.0, + 1885.0 + ], + [ + 0.0, + 1950.0 + ], + [ + 0.0, + 2015.0 + ] + ], + "contact_plane_axes": [ + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ] + ], + "contact_shapes": [ + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle" + ], + "contact_shape_params": [ + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + } + ], + "probe_planar_contour": [ + [ + -100.0, + 90000.0 + ], + [ + -100.0, + -100.0 + ], + [ + 0.0, + -250.0 + ], + [ + 100.0, + -100.0 + ], + [ + 100.0, + 90000.0 + ] + ], + "contact_ids": [ + "0", + "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" + ] + } + ] +} \ No newline at end of file diff --git a/diagnosticbiochips/DA32-1/DA32-1.png b/diagnosticbiochips/DA32-1/DA32-1.png new file mode 100644 index 0000000..39c5c62 Binary files /dev/null and b/diagnosticbiochips/DA32-1/DA32-1.png differ diff --git a/diagnosticbiochips/DA32-2/DA32-2.json b/diagnosticbiochips/DA32-2/DA32-2.json new file mode 100644 index 0000000..db9e7ac --- /dev/null +++ b/diagnosticbiochips/DA32-2/DA32-2.json @@ -0,0 +1,656 @@ +{ + "specification": "probeinterface", + "version": "0.3.2", + "probes": [ + { + "ndim": 2, + "si_units": "um", + "annotations": { + "model_name": "DA32-2", + "manufacturer": "diagnosticbiochips", + "shank_material": "stainless steel" + }, + "contact_annotations": {}, + "contact_positions": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 100.0 + ], + [ + 0.0, + 200.0 + ], + [ + 0.0, + 300.0 + ], + [ + 0.0, + 400.0 + ], + [ + 0.0, + 500.0 + ], + [ + 0.0, + 600.0 + ], + [ + 0.0, + 700.0 + ], + [ + 0.0, + 800.0 + ], + [ + 0.0, + 900.0 + ], + [ + 0.0, + 1000.0 + ], + [ + 0.0, + 1100.0 + ], + [ + 0.0, + 1200.0 + ], + [ + 0.0, + 1300.0 + ], + [ + 0.0, + 1400.0 + ], + [ + 0.0, + 1500.0 + ], + [ + 0.0, + 1600.0 + ], + [ + 0.0, + 1700.0 + ], + [ + 0.0, + 1800.0 + ], + [ + 0.0, + 1900.0 + ], + [ + 0.0, + 2000.0 + ], + [ + 0.0, + 2100.0 + ], + [ + 0.0, + 2200.0 + ], + [ + 0.0, + 2300.0 + ], + [ + 0.0, + 2400.0 + ], + [ + 0.0, + 2500.0 + ], + [ + 0.0, + 2600.0 + ], + [ + 0.0, + 2700.0 + ], + [ + 0.0, + 2800.0 + ], + [ + 0.0, + 2900.0 + ], + [ + 0.0, + 3000.0 + ], + [ + 0.0, + 3100.0 + ] + ], + "contact_plane_axes": [ + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ] + ], + "contact_shapes": [ + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle" + ], + "contact_shape_params": [ + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + } + ], + "probe_planar_contour": [ + [ + -100.0, + 90000.0 + ], + [ + -100.0, + -100.0 + ], + [ + 0.0, + -250.0 + ], + [ + 100.0, + -100.0 + ], + [ + 100.0, + 90000.0 + ] + ], + "contact_ids": [ + "0", + "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" + ] + } + ] +} \ No newline at end of file diff --git a/diagnosticbiochips/DA32-2/DA32-2.png b/diagnosticbiochips/DA32-2/DA32-2.png new file mode 100644 index 0000000..bf2c0db Binary files /dev/null and b/diagnosticbiochips/DA32-2/DA32-2.png differ diff --git a/diagnosticbiochips/DA64-1/DA64-1.json b/diagnosticbiochips/DA64-1/DA64-1.json new file mode 100644 index 0000000..603f137 --- /dev/null +++ b/diagnosticbiochips/DA64-1/DA64-1.json @@ -0,0 +1,1264 @@ +{ + "specification": "probeinterface", + "version": "0.3.2", + "probes": [ + { + "ndim": 2, + "si_units": "um", + "annotations": { + "model_name": "DA64-1", + "manufacturer": "diagnosticbiochips", + "shank_material": "stainless steel" + }, + "contact_annotations": {}, + "contact_positions": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 100.0 + ], + [ + 0.0, + 200.0 + ], + [ + 0.0, + 300.0 + ], + [ + 0.0, + 400.0 + ], + [ + 0.0, + 500.0 + ], + [ + 0.0, + 600.0 + ], + [ + 0.0, + 700.0 + ], + [ + 0.0, + 800.0 + ], + [ + 0.0, + 900.0 + ], + [ + 0.0, + 1000.0 + ], + [ + 0.0, + 1100.0 + ], + [ + 0.0, + 1200.0 + ], + [ + 0.0, + 1300.0 + ], + [ + 0.0, + 1400.0 + ], + [ + 0.0, + 1500.0 + ], + [ + 0.0, + 1600.0 + ], + [ + 0.0, + 1700.0 + ], + [ + 0.0, + 1800.0 + ], + [ + 0.0, + 1900.0 + ], + [ + 0.0, + 2000.0 + ], + [ + 0.0, + 2100.0 + ], + [ + 0.0, + 2200.0 + ], + [ + 0.0, + 2300.0 + ], + [ + 0.0, + 2400.0 + ], + [ + 0.0, + 2500.0 + ], + [ + 0.0, + 2600.0 + ], + [ + 0.0, + 2700.0 + ], + [ + 0.0, + 2800.0 + ], + [ + 0.0, + 2900.0 + ], + [ + 0.0, + 3000.0 + ], + [ + 0.0, + 3100.0 + ], + [ + 0.0, + 3200.0 + ], + [ + 0.0, + 3300.0 + ], + [ + 0.0, + 3400.0 + ], + [ + 0.0, + 3500.0 + ], + [ + 0.0, + 3600.0 + ], + [ + 0.0, + 3700.0 + ], + [ + 0.0, + 3800.0 + ], + [ + 0.0, + 3900.0 + ], + [ + 0.0, + 4000.0 + ], + [ + 0.0, + 4100.0 + ], + [ + 0.0, + 4200.0 + ], + [ + 0.0, + 4300.0 + ], + [ + 0.0, + 4400.0 + ], + [ + 0.0, + 4500.0 + ], + [ + 0.0, + 4600.0 + ], + [ + 0.0, + 4700.0 + ], + [ + 0.0, + 4800.0 + ], + [ + 0.0, + 4900.0 + ], + [ + 0.0, + 5000.0 + ], + [ + 0.0, + 5100.0 + ], + [ + 0.0, + 5200.0 + ], + [ + 0.0, + 5300.0 + ], + [ + 0.0, + 5400.0 + ], + [ + 0.0, + 5500.0 + ], + [ + 0.0, + 5600.0 + ], + [ + 0.0, + 5700.0 + ], + [ + 0.0, + 5800.0 + ], + [ + 0.0, + 5900.0 + ], + [ + 0.0, + 6000.0 + ], + [ + 0.0, + 6100.0 + ], + [ + 0.0, + 6200.0 + ], + [ + 0.0, + 6300.0 + ] + ], + "contact_plane_axes": [ + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ] + ], + "contact_shapes": [ + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle" + ], + "contact_shape_params": [ + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + } + ], + "probe_planar_contour": [ + [ + -100.0, + 90000.0 + ], + [ + -100.0, + -100.0 + ], + [ + 0.0, + -250.0 + ], + [ + 100.0, + -100.0 + ], + [ + 100.0, + 90000.0 + ] + ], + "contact_ids": [ + "0", + "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" + ] + } + ] +} \ No newline at end of file diff --git a/diagnosticbiochips/DA64-1/DA64-1.png b/diagnosticbiochips/DA64-1/DA64-1.png new file mode 100644 index 0000000..b24ef98 Binary files /dev/null and b/diagnosticbiochips/DA64-1/DA64-1.png differ diff --git a/diagnosticbiochips/DA64-2/DA64-2.json b/diagnosticbiochips/DA64-2/DA64-2.json new file mode 100644 index 0000000..5a8b43e --- /dev/null +++ b/diagnosticbiochips/DA64-2/DA64-2.json @@ -0,0 +1,1264 @@ +{ + "specification": "probeinterface", + "version": "0.3.2", + "probes": [ + { + "ndim": 2, + "si_units": "um", + "annotations": { + "model_name": "DA64-2", + "manufacturer": "diagnosticbiochips", + "shank_material": "stainless steel" + }, + "contact_annotations": {}, + "contact_positions": [ + [ + -21.65, + 0.0 + ], + [ + 21.65, + 25.0 + ], + [ + -21.65, + 50.0 + ], + [ + 21.65, + 75.0 + ], + [ + -21.65, + 100.0 + ], + [ + 21.65, + 125.0 + ], + [ + -21.65, + 150.0 + ], + [ + 21.65, + 175.0 + ], + [ + -21.65, + 200.0 + ], + [ + 21.65, + 225.0 + ], + [ + -21.65, + 250.0 + ], + [ + 21.65, + 275.0 + ], + [ + -21.65, + 300.0 + ], + [ + 21.65, + 325.0 + ], + [ + -21.65, + 350.0 + ], + [ + 21.65, + 375.0 + ], + [ + -21.65, + 400.0 + ], + [ + 21.65, + 425.0 + ], + [ + -21.65, + 450.0 + ], + [ + 21.65, + 475.0 + ], + [ + -21.65, + 500.0 + ], + [ + 21.65, + 525.0 + ], + [ + -21.65, + 550.0 + ], + [ + 21.65, + 575.0 + ], + [ + -21.65, + 600.0 + ], + [ + 21.65, + 625.0 + ], + [ + -21.65, + 650.0 + ], + [ + 21.65, + 675.0 + ], + [ + -21.65, + 700.0 + ], + [ + 21.65, + 725.0 + ], + [ + -21.65, + 750.0 + ], + [ + 21.65, + 775.0 + ], + [ + -21.65, + 800.0 + ], + [ + 21.65, + 825.0 + ], + [ + -21.65, + 850.0 + ], + [ + 21.65, + 875.0 + ], + [ + -21.65, + 900.0 + ], + [ + 21.65, + 925.0 + ], + [ + -21.65, + 950.0 + ], + [ + 21.65, + 975.0 + ], + [ + -21.65, + 1000.0 + ], + [ + 21.65, + 1025.0 + ], + [ + -21.65, + 1050.0 + ], + [ + 21.65, + 1075.0 + ], + [ + -21.65, + 1100.0 + ], + [ + 21.65, + 1125.0 + ], + [ + -21.65, + 1150.0 + ], + [ + 21.65, + 1175.0 + ], + [ + -21.65, + 1200.0 + ], + [ + 21.65, + 1225.0 + ], + [ + -21.65, + 1250.0 + ], + [ + 21.65, + 1275.0 + ], + [ + -21.65, + 1300.0 + ], + [ + 21.65, + 1325.0 + ], + [ + -21.65, + 1350.0 + ], + [ + 21.65, + 1375.0 + ], + [ + -21.65, + 1400.0 + ], + [ + 21.65, + 1425.0 + ], + [ + -21.65, + 1450.0 + ], + [ + 21.65, + 1475.0 + ], + [ + -21.65, + 1500.0 + ], + [ + 21.65, + 1525.0 + ], + [ + -21.65, + 1550.0 + ], + [ + 21.65, + 1575.0 + ] + ], + "contact_plane_axes": [ + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ], + [ + [ + 1.0, + 0.0 + ], + [ + 0.0, + 1.0 + ] + ] + ], + "contact_shapes": [ + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle", + "circle" + ], + "contact_shape_params": [ + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + }, + { + "radius": 10.0 + } + ], + "probe_planar_contour": [ + [ + -100.0, + 90000.0 + ], + [ + -100.0, + -100.0 + ], + [ + 0.0, + -250.0 + ], + [ + 100.0, + -100.0 + ], + [ + 100.0, + 90000.0 + ] + ], + "contact_ids": [ + "0", + "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" + ] + } + ] +} \ No newline at end of file diff --git a/diagnosticbiochips/DA64-2/DA64-2.png b/diagnosticbiochips/DA64-2/DA64-2.png new file mode 100644 index 0000000..45b215c Binary files /dev/null and b/diagnosticbiochips/DA64-2/DA64-2.png differ diff --git a/generate_image.py b/generate_image.py index 5868bb9..cfeda42 100644 --- a/generate_image.py +++ b/generate_image.py @@ -24,10 +24,17 @@ def plot_and_save_probegroup( contact_id_fontsize=5, save_figure=False, zoom_on_tip=False, + zoom_on_contacts=False, dpi=300, figsize=(15, 15) ): - """Plot probegroup and optionally save to file.""" + """Plot probegroup and optionally save to file. + + ``zoom_on_contacts`` crops the single-panel view to the recording band + (the contact y-range plus the tip), so probes whose contacts occupy only a + small fraction of a long shank (e.g. a 3 mm band on a 90 mm shaft) still + render the contacts at a useful size instead of as a sliver. + """ probe = probegroup.probes[0] if zoom_on_tip: ncols = 2 @@ -66,6 +73,16 @@ def plot_and_save_probegroup( else: ax_full.set_title(title, fontsize=title_fontsize) ax_full.set_xlabel("X (µm)", fontsize=label_fontsize) + if zoom_on_contacts: + contact_y = probe.contact_positions[:, 1] + band_bottom = np.min(probe.probe_planar_contour[:, 1]) + band_top = np.max(contact_y) + margin = 0.04 * (band_top - np.min(contact_y)) + 60 + shank_left = np.min(probe.probe_planar_contour[:, 0]) + shank_right = np.max(probe.probe_planar_contour[:, 0]) + shank_width = shank_right - shank_left + ax_full.set_xlim(shank_left - 0.5 * shank_width, shank_right + 0.5 * shank_width) + ax_full.set_ylim(band_bottom - 20, band_top + margin) if save_figure: save_dir = Path(__file__).parent / manufacturer / model_name @@ -85,6 +102,7 @@ def main(): parser.add_argument("--with-ids", "-ids", action="store_true", help="Display contact IDs") parser.add_argument("--save-figure", "-s", action="store_true", help="Save the figure to a file") parser.add_argument("--zoom-on-tip", "-z", action="store_true", help="Zoom in on the probe tip") + parser.add_argument("--zoom-on-contacts", "-zc", action="store_true", help="Crop the view to the contact band (for long shanks with a short recording region)") parser.add_argument("--dpi", type=int, default=600, help="DPI for saved figure") parser.add_argument("--title-fontsize", "-t", type=int, default=15, help="Font size for the title") parser.add_argument("--label-fontsize", "-l", type=int, default=10, help="Font size for the labels") @@ -112,6 +130,7 @@ def main(): model_name=model_name, save_figure=args.save_figure, zoom_on_tip=args.zoom_on_tip, + zoom_on_contacts=args.zoom_on_contacts, with_contact_id=args.with_ids, title_fontsize=args.title_fontsize, label_fontsize=args.label_fontsize, diff --git a/scripts/generate_diagnostic_biochips.py b/scripts/generate_diagnostic_biochips.py new file mode 100644 index 0000000..530e8bb --- /dev/null +++ b/scripts/generate_diagnostic_biochips.py @@ -0,0 +1,155 @@ +# /// script +# requires-python = ">=3.10" +# dependencies = ["probeinterface"] +# /// +"""Generator for Diagnostic Biochips Deep Array probes. + +The source of truth is the 2022 Diagnostic Biochips catalog (one datasheet page +per model). Each model's spec table and schematic dimensions are transcribed +verbatim below into a DeepArraySpec, in the exact units printed on the sheet. +Everything written to diagnosticbiochips//.json is derived from +those values; nothing geometric is invented here. + +The probeinterface JSON follows the same convention as the Neuropixels and +Cambridge NeuroTech entries in this library: the geometry is stored +geometrically (contact positions, contact shape, full-shank contour) and the +annotations carry only what the geometry cannot express. For these passive +probes that is just the shank material; site diameter, shank diameter, max +shank length and recording span are all recoverable from the geometry. + +Two layout families appear on the datasheets: + +- Linear (DA128-1, DA64-1, DA32-1, DA32-2): a single column of sites at the + printed vertical pitch. + +- Staggered (DA128-2, DA64-2): a two-column triangular (hexagonal) lattice. + The columns are 43.3 um apart horizontally and sites alternate columns going + up the shank with a 25 um vertical step (so 50 um within a column); the + diagonal nearest-neighbor distance is sqrt(43.3**2 + 25**2) = 50 um. The + schematic is "not drawn to scale", but (n_channels - 1) * 25 um equals the + printed recording span exactly, which fixes the layout to one site per 25 um + level, i.e. exactly two columns. This is checked against the datasheet value + for every model before writing (see _build_probe). + +Dependencies are declared inline (PEP 723), so this runs standalone: + + uv run scripts/generate_diagnostic_biochips.py +""" + +from dataclasses import dataclass +from pathlib import Path + +from probeinterface import Probe, ProbeGroup, write_probeinterface + +MANUFACTURER = "diagnosticbiochips" +TIP_LENGTH_UM = 150.0 # cosmetic pointed tip below the shank base (not on the sheet) + + +@dataclass(frozen=True) +class DeepArraySpec: + """Verbatim transcription of one 2022 Diagnostic Biochips catalog page. + + Spec-table fields keep the units printed on the datasheet; the two layout + fields are read from the schematic dimension callouts. + """ + + model: str + num_channels: int + layout: str # "linear" or "staggered" + # Spec table + site_diameter_um: float + shank_diameter_mm: float + max_shank_length_mm: float + recording_span_mm: float + shank_material: str + # Schematic dimension callouts + vertical_pitch_um: float # linear: column pitch; staggered: step between alternating sites + horizontal_offset_um: float | None = None # staggered only: full column separation + + +# One entry per datasheet page, values exactly as printed on the 2022 catalog. +DATASHEETS = [ + DeepArraySpec("DA128-1", 128, "linear", 20.0, 0.2, 90.0, 5.08, "stainless steel", 40.0), + DeepArraySpec("DA64-1", 64, "linear", 20.0, 0.2, 90.0, 6.3, "stainless steel", 100.0), + DeepArraySpec("DA32-1", 32, "linear", 20.0, 0.2, 90.0, 2.015, "stainless steel", 65.0), + DeepArraySpec("DA32-2", 32, "linear", 20.0, 0.2, 90.0, 3.1, "stainless steel", 100.0), + DeepArraySpec("DA128-2", 128, "staggered", 20.0, 0.2, 90.0, 3.175, "stainless steel", 25.0, 43.3), + DeepArraySpec("DA64-2", 64, "staggered", 20.0, 0.2, 90.0, 1.575, "stainless steel", 25.0, 43.3), +] + + +def _contact_positions(spec: DeepArraySpec) -> list: + # Site 0 sits at the tip (y = 0) and the band grows up the shank. + if spec.layout == "linear": + # Single column centered on the shank. + return [[0.0, index * spec.vertical_pitch_um] for index in range(spec.num_channels)] + if spec.layout == "staggered": + # Two columns +/-(horizontal_offset / 2), alternating every site. + half_offset = spec.horizontal_offset_um / 2.0 + positions = [] + for index in range(spec.num_channels): + x = -half_offset if index % 2 == 0 else half_offset + positions.append([x, index * spec.vertical_pitch_um]) + return positions + raise ValueError(f"unknown layout {spec.layout!r} for {spec.model}") + + +def _shank_contour(spec: DeepArraySpec) -> list: + # Outline of the full physical shaft (tip to body): the printed shank + # diameter sets the width, the printed max shank length sets the height. + half_width = spec.shank_diameter_mm * 1000.0 / 2.0 + length_um = spec.max_shank_length_mm * 1000.0 + return [ + [-half_width, length_um], + [-half_width, -half_width], + [0.0, -half_width - TIP_LENGTH_UM], + [half_width, -half_width], + [half_width, length_um], + ] + + +def _build_probe(spec: DeepArraySpec) -> Probe: + positions = _contact_positions(spec) + + # The contact extent must reproduce the printed recording span. + span_um = positions[-1][1] - positions[0][1] + expected_um = spec.recording_span_mm * 1000.0 + assert abs(span_um - expected_um) < 1e-6, ( + f"{spec.model}: derived span {span_um} um != datasheet {expected_um} um" + ) + + probe = Probe(ndim=2, si_units="um") + probe.set_contacts( + positions=positions, + shapes="circle", + shape_params={"radius": spec.site_diameter_um / 2.0}, + ) + # Geometry encodes site diameter (radius), shank diameter (contour width), + # max shank length (contour height) and recording span (contact extent), so + # shank material is the only spec stored as an annotation. + probe.annotate( + model_name=spec.model, + manufacturer=MANUFACTURER, + shank_material=spec.shank_material, + ) + probe.set_contact_ids([str(index) for index in range(spec.num_channels)]) + probe.set_planar_contour(_shank_contour(spec)) + return probe + + +def main() -> None: + root = Path(__file__).resolve().parent.parent + for spec in DATASHEETS: + probe = _build_probe(spec) + group = ProbeGroup() + group.add_probe(probe) + + out_dir = root / MANUFACTURER / spec.model + out_dir.mkdir(parents=True, exist_ok=True) + out_file = out_dir / f"{spec.model}.json" + write_probeinterface(out_file, group) + print(f"wrote {out_file} ({spec.num_channels}ch, {spec.layout}, {spec.recording_span_mm:g} mm span)") + + +if __name__ == "__main__": + main()