Skip to content

Commit 0ad1a6d

Browse files
Disambiguate the device model from device instance (#5)
* remove DeviceModel * update changelog * Introduce DeviceModel and DeviceInstance * Refactor DeviceInstance and DeviceModel documentation and attributes; add FiberInsertion and LensPositioning definitions * Rename ObjectiveLens and ObjectiveLensModel to OpticalLens and OpticalLensModel; update related mock functions and tests * Refactor DeviceInstance and DeviceModel references to use Device as the parent type; update mock functions and tests accordingly * Update changelog, release notes, and namespace for version 0.2.0; * Refactor README to categorize neurodata types and update device model and instance descriptions * Refactor code structure for improved readability and maintainability * ruff fixes * Add ExcitationSource and PulsedExcitationSource classes to device instance definitions * Remove unused code and improve notebook structure for clarity * ignore ruff check on print statements in the example notebook * Enhance documentation by marking attributes as optional in README and YAML files * Update docs/source/description.rst Co-authored-by: Ryan Ly <[email protected]> * update __all__ * Update device model addition in documentation * Update DeviceModel class diagram to reflect correct inheritance from Device --------- Co-authored-by: Ryan Ly <[email protected]>
1 parent 0a3c12e commit 0ad1a6d

15 files changed

+1771
-1026
lines changed

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
1+
# v0.2.0 (Upcoming)
2+
3+
## Deprecations and Changes
4+
### Major Refactoring:
5+
- Implemented a clear distinction between device models and device instances:
6+
- Added ``DeviceModel`` as a base class for all device model classes
7+
- Added ``DeviceInstance`` as a base class for all device instance classes
8+
- Refactored all device classes into model and instance pairs (e.g., ``OpticalFiberModel`` and ``OpticalFiber``)
9+
- Renamed ``ObjectiveLens`` to ``OpticalLens`` for consistency
10+
11+
### New Features:
12+
- Added new neurodata types:
13+
- ``LensPositioning``: Extends ``NWBContainer`` to hold metadata on the positioning of a lens relative to the brain.
14+
- ``FiberInsertion``: Extends ``NWBContainer`` to hold metadata on the insertion of a fiber into the brain.
15+
16+
### Changes:
17+
- Changed ``illumination_type`` to ``source_type`` in ``ExcitationSourceModel`` for better clarity.
18+
- Removed ``excitation_wavelength_in_nm`` from ``ExcitationSourceModel`` as it's often redundant with filter specifications.
19+
- Removed ``detected_wavelength_in_nm`` from ``PhotodetectorModel`` as it's often redundant with filter specifications.
20+
- Added ``wavelength_range_in_nm`` to ``ExcitationSourceModel`` and ``PhotodetectorModel`` to specify the range of wavelengths.
21+
22+
## Bug Fixes
23+
24+
## Features
25+
26+
## Improvements
27+
128
# v0.1.1 (Feb 25, 2025)
229

330
## Deprecations and Changes

0 commit comments

Comments
 (0)