Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start putting together pipeline architecture #54

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

ebrahimebrahim
Copy link
Member

@ebrahimebrahim ebrahimebrahim commented Jul 31, 2024

Close #35

Start putting together pipeline architecture laid out in #44

  • add a placeholder table-accessor method to AbcdEvent
  • implement InMemoryBvalResource and BvalResource
  • implement the other abstract resources and their InMemory subclasses
  • implement the io.py on-disk subclasses of the resources
  • create conversion functions between in-memory and on-disk versions of all the resources
  • use them to create Dwi-level conversion functions between in-memory and on-disk
  • expose those functions as methods of Dwi
  • unit tests

Had to filter out this batch of weird swig warnings because
in our pyproject.toml we configure pytest such that warnings
are treated as errors and this somehow causes a segfault from itk
when any image related functionality is touched. It only happened
on python3.12, not 3.9.

The warnings are things like

```
builtin type SwigPyObject has no __module__ attribute
```
I had factored out the repetitive pattern that connected
on-disk and in-memory implementations, but mypy was very
difficult to please. Now I have removed the decorator
and allowed the repetition.
This makes it easier to read and maintain so meh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cordon off IO operations
1 participant