Skip to content

Commit 27476b5

Browse files
update documentation
1 parent b637226 commit 27476b5

File tree

4 files changed

+354
-28
lines changed

4 files changed

+354
-28
lines changed

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
# v0.4.0 (Upcoming)
2+
3+
## Deprecations and Changes
4+
- **Breaking Change**: `OpticalLens`changed in `ObjectiveLens`
5+
- **Breaking Change**: `MicroscopyChannel.indicator` changed from a nested group to a link reference
6+
- **Breaking Change**: `MicroscopySeries.microscopy_rig` changed from a nested group to a link reference
7+
- Updated `ndx-ophys-devices` dependency from v0.2.0 to v0.4.0
8+
9+
## Features
10+
- Added `MicroscopyExperimentMetadata` (extends `LabMetaData`) as a centralized container for experiment metadata, including:
11+
- `MicroscopyRig` objects
12+
- `ViralVector` objects (from ndx-ophys-devices)
13+
- `ViralVectorInjection` objects (from ndx-ophys-devices)
14+
- `Indicator` objects (from ndx-ophys-devices)
15+
- Added support for `ViralVector` and `ViralVectorInjection` imports from ndx-ophys-devices
16+
17+
## Notes
18+
- These changes improve metadata organization by centralizing all experiment-related objects in `MicroscopyExperimentMetadata`
19+
- The use of links instead of nested groups provides better data reusability and reduces duplication
20+
- Users should add `MicroscopyExperimentMetadata` to NWBFile using `nwbfile.add_lab_meta_data()`
21+
122
# v0.3.0 (Jun 3, 2025)
223
## Bug Fixes
324

README.md

Lines changed: 97 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ A Neurodata Without Borders (NWB) extension for storing microscopy data and asso
55
## Features
66

77
**Comprehensive Neurodata Types**
8+
- Experiment metadata container:
9+
- `MicroscopyExperimentMetadata`
810
- Microscope and optical component metadata (integration with [ndx-ophys-devices](https://github.com/catalystneuro/ndx-ophys-devices)):
911
- `MicroscopeModel`
1012
- `Microscope`
@@ -14,6 +16,8 @@ A Neurodata Without Borders (NWB) extension for storing microscopy data and asso
1416
- `DichroicMirror`
1517
- `Photodetector`
1618
- `Indicator`
19+
- `ViralVector`
20+
- `ViralVectorInjection`
1721
- Microscopy channel configurations:
1822
- `MicroscopyChannel`
1923
- Imaging space definitions:
@@ -266,6 +270,90 @@ classDiagram
266270
ImagingSpace *-- IlluminationPattern : contains
267271
```
268272

273+
#### Experiment Metadata Components
274+
275+
```mermaid
276+
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#ffffff', 'primaryBorderColor': '#144E73', 'lineColor': '#D96F32'}}}%%
277+
278+
classDiagram
279+
direction TB
280+
281+
class MicroscopyExperimentMetadata {
282+
<<LabMetaData>>
283+
--------------------------------------
284+
groups
285+
--------------------------------------
286+
**microscopy_rigs** : MicroscopyRig[0..*]
287+
**viral_vectors** : ViralVector[0..*]
288+
**viral_vector_injections** : ViralVectorInjection[0..*]
289+
**indicators** : Indicator[0..*]
290+
}
291+
292+
class MicroscopyRig {
293+
<<NWBContainer>>
294+
--------------------------------------
295+
attributes
296+
--------------------------------------
297+
description : text
298+
--------------------------------------
299+
links
300+
--------------------------------------
301+
microscope : Microscope
302+
excitation_source : ExcitationSource, optional
303+
excitation_filter : OpticalFilter, optional
304+
dichroic_mirror : DichroicMirror, optional
305+
photodetector : Photodetector, optional
306+
emission_filter : OpticalFilter, optional
307+
}
308+
309+
class ViralVector {
310+
<<NWBContainer>>
311+
--------------------------------------
312+
attributes
313+
--------------------------------------
314+
**construct_name** : text
315+
titer_in_vg_per_ml : numeric, optional
316+
manufacturer : text, optional
317+
description : text, optional
318+
}
319+
class ViralVectorInjection {
320+
<<NWBContainer>>
321+
--------------------------------------
322+
attributes
323+
--------------------------------------
324+
location : text, optional
325+
hemisphere : text, optional
326+
ap_in_mm : numeric, optional
327+
ml_in_mm : numeric, optional
328+
dv_in_mm : numeric, optional
329+
pitch_in_deg : numeric, optional
330+
yaw_in_deg : numeric, optional
331+
roll_in_deg : numeric, optional
332+
stereotactic_rotation_in_deg : numeric, optional
333+
stereotactic_tilt_in_deg : numeric, optional
334+
volume_in_uL : numeric, optional
335+
injection_date : text, optional
336+
**viral_vector** : ViralVector
337+
}
338+
class Indicator {
339+
<<NWBContainer>>
340+
--------------------------------------
341+
attributes
342+
--------------------------------------
343+
**label** : text
344+
description : text, optional
345+
manufacturer : text, optional
346+
**viral_vector_injection** : ViralVectorInjection, optional
347+
}
348+
349+
MicroscopyExperimentMetadata *-- MicroscopyRig : contains
350+
MicroscopyExperimentMetadata *-- ViralVector : contains
351+
MicroscopyExperimentMetadata *-- ViralVectorInjection : contains
352+
MicroscopyExperimentMetadata *-- Indicator : contains
353+
ViralVectorInjection o--> ViralVector : links
354+
Indicator o--> ViralVectorInjection : links
355+
```
356+
269357
#### Microscopy Series and Imaging Space Components
270358

271359
```mermaid
@@ -284,17 +372,20 @@ classDiagram
284372
**excitation_wavelength_in_nm** : float
285373
**emission_wavelength_in_nm** : float
286374
--------------------------------------
287-
groups
375+
links
288376
--------------------------------------
289-
indicator
377+
**indicator** : Indicator
290378
}
291379
292380
class MicroscopySeries {
293381
<<TimeSeries>>
294382
--------------------------------------
295-
groups
383+
links
296384
--------------------------------------
297385
**microscopy_rig** : MicroscopyRig
386+
--------------------------------------
387+
groups
388+
--------------------------------------
298389
**microscopy_channel** : MicroscopyChannel
299390
300391
}
@@ -412,9 +503,9 @@ classDiagram
412503
VolumetricMicroscopySeries *-- VolumetricImagingSpace : contains
413504
MultiPlaneMicroscopyContainer *-- PlanarMicroscopySeries : contains
414505
MultiChannelMicroscopyContainer *-- MicroscopySeries : contains
415-
MicroscopySeries *-- MicroscopyRig : contains
416-
MicroscopyChannel *-- MicroscopySeries : contains
417-
MicroscopyChannel --* Indicator : contains
506+
MicroscopySeries o--> MicroscopyRig : links
507+
MicroscopySeries *-- MicroscopyChannel : contains
508+
MicroscopyChannel o--> Indicator : links
418509
```
419510

420511
#### Segmentation Components

docs/source/format.rst

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,36 @@ Represents a channel in a microscope with metadata about the indicator and wavel
100100
- name: emission_wavelength_in_nm
101101
dtype: float64
102102
doc: Wavelength of the emission light in nanometers.
103+
links:
104+
- name: indicator
105+
target_type: Indicator
106+
doc: Link to Indicator object which contains metadata about the indicator used in this light path.
107+
quantity: 1
108+
109+
MicroscopyExperimentMetadata
110+
^^^^^^^^^^^^^^^^^^^^^^^^^^
111+
Container for centralizing all microscopy experiment metadata.
112+
113+
.. code-block:: yaml
114+
115+
groups:
116+
- neurodata_type_def: MicroscopyExperimentMetadata
117+
neurodata_type_inc: LabMetaData
118+
doc: Metadata about the microscopy experiment.
119+
name: microscopy_experiment_metadata
103120
groups:
121+
- neurodata_type_inc: MicroscopyRig
122+
doc: Group containing of one or more MicroscopyRig objects.
123+
quantity: "*"
124+
- neurodata_type_inc: ViralVector
125+
doc: Group containing of one or more ViralVector objects.
126+
quantity: "*"
127+
- neurodata_type_inc: ViralVectorInjection
128+
doc: Group containing one or more ViralVectorInjection objects.
129+
quantity: "*"
104130
- neurodata_type_inc: Indicator
105-
doc: Indicator object which contains metadata about the indicator used in this light path.
106-
quantity: 1
131+
doc: Group containing one or more Indicator objects.
132+
quantity: "*"
107133
108134
Microscopy Series Components
109135
------------------------
@@ -119,10 +145,11 @@ Base type for microscopy time series data.
119145
neurodata_type_inc: TimeSeries
120146
doc: Imaging data acquired over time from an optical channel in a microscope while a light source illuminates the
121147
imaging space.
148+
links:
149+
- name: microscopy_rig
150+
doc: Link to a MicroscopyRig object containing metadata about the microscopy rig used to acquire this imaging data.
151+
target_type: MicroscopyRig
122152
groups:
123-
- neurodata_type_inc: MicroscopyRig
124-
doc: MicroscopyRig object containing metadata about the microscopy rig used to acquire this imaging data.
125-
quantity: 1
126153
- neurodata_type_inc: MicroscopyChannel
127154
doc: MicroscopyChannel object containing metadata about the channel used to acquire this imaging data.
128155
quantity: 1

0 commit comments

Comments
 (0)