Skip to content

Commit 3164190

Browse files
Update documentation
1 parent f0ddacf commit 3164190

File tree

4 files changed

+305
-28
lines changed

4 files changed

+305
-28
lines changed

README.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ A Neurodata Without Borders (NWB) extension for storing microscopy data and asso
1818
- Imaging space definitions:
1919
- `PlanarImagingSpace`
2020
- `VolumetricImagingSpace`
21+
- Illumination pattern classes:
22+
- `IlluminationPattern`
23+
- `LineScan`
24+
- `PlaneAcquisition`
25+
- `RandomAccessScan`
2126
- Support for 2D and 3D imaging:
2227
- `PlanarMicroscopySeries`
2328
- `VolumetricMicroscopySeries`
@@ -192,6 +197,78 @@ classDiagram
192197
EmissionLightPath *-- Indicator : contains
193198
```
194199

200+
#### Illumination Pattern Components
201+
202+
```mermaid
203+
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#ffffff', 'primaryBorderColor': '#144E73', 'lineColor': '#D96F32'}}}%%
204+
205+
classDiagram
206+
direction TB
207+
208+
class IlluminationPattern {
209+
<<NWBContainer>>
210+
--------------------------------------
211+
attributes
212+
--------------------------------------
213+
description : text, optional
214+
}
215+
216+
class LineScan {
217+
<<IlluminationPattern>>
218+
--------------------------------------
219+
attributes
220+
--------------------------------------
221+
scan_direction : text, optional
222+
line_rate_in_Hz : float64, optional
223+
dwell_time_in_s : float64, optional
224+
}
225+
226+
class PlaneAcquisition {
227+
<<IlluminationPattern>>
228+
--------------------------------------
229+
attributes
230+
--------------------------------------
231+
plane_thickness_in_um : float64, optional
232+
illumination_angle_in_degrees : float64, optional
233+
plane_rate_in_Hz : float64, optional
234+
}
235+
236+
class RandomAccessScan {
237+
<<IlluminationPattern>>
238+
--------------------------------------
239+
attributes
240+
--------------------------------------
241+
max_scan_points : numeric, optional
242+
dwell_time_in_s : float64, optional
243+
scanning_pattern : text, optional
244+
}
245+
246+
class ImagingSpace {
247+
<<NWBContainer>>
248+
--------------------------------------
249+
datasets
250+
--------------------------------------
251+
**description** : text
252+
origin_coordinates : float64[3], optional
253+
unit : text = "micrometers"
254+
--------------------------------------
255+
attributes
256+
--------------------------------------
257+
location : text, optional
258+
reference_frame : text, optional
259+
orientation : text, optional
260+
--------------------------------------
261+
groups
262+
--------------------------------------
263+
**illumination_pattern** : IlluminationPattern
264+
}
265+
266+
IlluminationPattern <|-- LineScan : extends
267+
IlluminationPattern <|-- PlaneAcquisition : extends
268+
IlluminationPattern <|-- RandomAccessScan : extends
269+
ImagingSpace *-- IlluminationPattern : contains
270+
```
271+
195272
#### Microscopy Series and Imaging Space Components
196273

197274
```mermaid
@@ -256,6 +333,10 @@ classDiagram
256333
location : text, optional
257334
reference_frame : text, optional
258335
orientation : text, optional
336+
--------------------------------------
337+
groups
338+
--------------------------------------
339+
**illumination_pattern** : IlluminationPattern
259340
}
260341
261342
class PlanarImagingSpace {
@@ -280,6 +361,7 @@ classDiagram
280361
attributes
281362
--------------------------------------
282363
model : text, optional
364+
technique : text, optional
283365
}
284366
285367
MicroscopySeries <|-- PlanarMicroscopySeries : extends

docs/source/description.rst

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,6 @@ Overview
55

66
The ndx-microscopy extension for NWB provides a standardized way to store and organize microscopy data in neuroscience research. This extension integrates with `ndx-ophys-devices <https://github.com/catalystneuro/ndx-ophys-devices>`_ to provide comprehensive optical component specifications and supports various microscopy techniques while maintaining detailed metadata about the imaging setup, experimental conditions, and acquired data.
77

8-
Supported Microscopy Techniques
9-
-----------------------------
10-
11-
1. One-photon Microscopy (Widefield)
12-
2. Two-photon Microscopy
13-
3. Three-photon Microscopy
14-
4. Light Sheet Microscopy
15-
16-
For support of additional techniques, please open an issue on `GitHub <https://github.com/catalystneuro/ndx-microscopy/issues>`_.
17-
188
Key Features
199
----------
2010

@@ -35,13 +25,22 @@ Light Path Configuration
3525
- Comprehensive optical component specifications
3626
- Wavelength and power specifications
3727

28+
Illumination Pattern Support
29+
^^^^^^^^^^^^^^^^^^^^^
30+
- Base illumination pattern class for general use cases
31+
- Line scanning for high-speed XY raster scanning acquisition
32+
- Plane acquisition for light sheet and widefield techniques
33+
- Random access scanning for targeted region imaging
34+
- Detailed scanning parameters (rates, directions, dwell times)
35+
3836
Imaging Space Management
3937
^^^^^^^^^^^^^^^^^^^^^
4038
- 2D planar imaging spaces
4139
- 3D volumetric imaging spaces
4240
- Precise coordinate system handling
4341
- Reference frame management
4442
- Grid spacing and resolution tracking
43+
- Integration with illumination patterns
4544

4645
Data Organization
4746
^^^^^^^^^^^^^

docs/source/release_notes.rst

Lines changed: 40 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,39 @@
44
Release Notes
55
*************
66

7+
Version 0.2.0 (Upcoming)
8+
============
9+
10+
Added support for different microscopy scanning methods and improved metadata.
11+
12+
Added
13+
--------
14+
15+
* New illumination pattern classes to represent different microscopy scanning methods:
16+
17+
* ``IlluminationPattern``: Base class for describing the illumination pattern used to acquire images
18+
* ``LineScan``: Line scanning method commonly used in two-photon microscopy
19+
* ``PlaneAcquisition``: Whole plane acquisition method, common for light sheet and one-photon techniques
20+
* ``RandomAccessScan``: Random access method for targeted, high-speed imaging of specific regions
21+
22+
* Added ``technique`` attribute to the ``Microscope`` class to describe the imaging technique used
23+
* Updated ``ImagingSpace`` classes to include an ``illumination_pattern`` parameter, creating a direct link between the imaging space and the acquisition method
24+
* Added mock implementations for all new classes in ``_mock.py`` for testing purposes
25+
* Updated example notebooks to demonstrate the use of different scanning methods
26+
27+
Changed
28+
-------
29+
30+
* Modified the YAML specification to include new neurodata type definitions and relationships
31+
* Updated Python implementation files to expose the new classes in the API
32+
* Enhanced test files to verify the new classes work correctly
33+
34+
Notes
35+
-----
36+
37+
* These changes are backward compatible and add new functionality without removing existing features
38+
* The ``illumination_pattern`` parameter is now required when creating ``ImagingSpace`` objects
39+
740
Version 0.1.0
841
============
942

@@ -12,13 +45,13 @@ Initial release of ndx-microscopy extension.
1245
Features
1346
--------
1447

15-
* Microscope metadata: `Microscope`
16-
* Integration with ndx-ophys-devices for optical component specifications: `ExcitationSource`/`PulsedExcitationSource`,`BandOpticalFilter`/`EdgeOpticalFilter`,`DichroicMirror`,`Photodetector`,`Indicator`
17-
* Advanced light path configurations: `ExcitationLightPath`,`EmissionLightPath`
18-
* Imaging space definitions: `PlanarImagingSpace`,`VolumetricImagingSpace`
19-
* Support for 2D and 3D imaging: `PlanarMicroscopySeries`,`VolumetricMicroscopySeries`,`MultiPlaneMicroscopyContainer`
20-
* ROI/segmentation storage: `SummaryImages`,`Segmentation2D`,`Segmentation3D`,`SegmentationContainer`,`MicroscopyResponseSeries`,`MicroscopyResponseSeriesContainer`
21-
* Abstract Neurodata types: `ImagingSpace`, `MicroscopySeries`,`Segmentation`
48+
* Microscope metadata: ``Microscope``
49+
* Integration with ndx-ophys-devices for optical component specifications: ``ExcitationSource``/``PulsedExcitationSource``, ``BandOpticalFilter``/``EdgeOpticalFilter``, ``DichroicMirror``, ``Photodetector``, ``Indicator``
50+
* Advanced light path configurations: ``ExcitationLightPath``, ``EmissionLightPath``
51+
* Imaging space definitions: ``PlanarImagingSpace``, ``VolumetricImagingSpace``
52+
* Support for 2D and 3D imaging: ``PlanarMicroscopySeries``, ``VolumetricMicroscopySeries``, ``MultiPlaneMicroscopyContainer``
53+
* ROI/segmentation storage: ``SummaryImages``, ``Segmentation2D``, ``Segmentation3D``, ``SegmentationContainer``, ``MicroscopyResponseSeries``, ``MicroscopyResponseSeriesContainer``
54+
* Abstract Neurodata types: ``ImagingSpace``, ``MicroscopySeries``, ``Segmentation``
2255

2356
Changes
2457
-------

0 commit comments

Comments
 (0)