BlueBrain / MorphIO

A python and C++ library for reading and writing neuronal morphologies
https://morphio.readthedocs.io
Apache License 2.0
26 stars 22 forks source link

Abstraction for morphology collection. #444

Closed 1uc closed 1 year ago

1uc commented 1 year ago

Currently, MorphIO requires the file, filename or HDF5 group which contains the morphology. This PR adds an interface for loading morphologies by name from a Collection object.

The first commits improve style, turn off problematic flags, add missing ctors and fix a bug in the HDF5 reader. Furthermore, they add gulrak's implementation of std::filestystem. The last commit adds the proposed feature and its tests.

1uc commented 1 year ago

Please let me know if you want to split certain commits into their own PRs.

1uc commented 1 year ago

This would implement part of #443.

1uc commented 1 year ago

Thank you for the review. I'll change the unaddressed comments as suggested.

Currently, I'm working on integrating this into TouchDetector. We can try this "new" API (it's mostly copied from an internal library) there before merging it. This would check the C++ API and currently missing thread-safety (WIP).

After that we'll also need to prepare SpatialIndex. Which would check that the Python API is fine.

mgeplf commented 1 year ago

I'm basically happy with this. Is there anyone else you'd like to review it?

1uc commented 1 year ago

I've run it through TD and that works. I'm checking SI; but can also be merged already.

1uc commented 1 year ago

I've updated SI and with the fix its unit-tests and examples run. I think now we're ready to merge.

mgeplf commented 1 year ago

I've tried merging this several times, but w/ the github outage, I think it's best I wait until tomorrow.