-
Notifications
You must be signed in to change notification settings - Fork 22
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
Template morphology glialcell #256
base: master
Are you sure you want to change the base?
Template morphology glialcell #256
Conversation
Some tests are passing.
-add src/ttree.cpp cleans code by moving functions that do not relate to Morphology immutable from morphology.cpp to ttree.cpp
and most tests
- All enable tests success
…ection Type: GlialSectionType
4e286b4
to
f300d9f
Compare
include/morphio/mut/morphology.h
Outdated
@@ -152,7 +154,8 @@ class Morphology | |||
|
|||
If recursive == true, all descendent will be appended as well | |||
**/ | |||
std::shared_ptr<Section> appendRootSection(const morphio::Section&, bool recursive = false); | |||
std::shared_ptr<Section> appendRootSection(const morphio::Node<CellFamily::NEURON>&, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
std::shared_ptr<Section> appendRootSection(const morphio::Node<CellFamily::NEURON>&, | |
std::shared_ptr<Section> appendRootSection(const morphio::NeuronalSection&, |
is equivalent.
I think it would be good to take the habit of no longer using the old alias Section
or even Node<CellFamily::NEURON
but the new NeuronalSection
.
This will make MorphIO less neuron centric.
include/morphio/ttree.tpp
Outdated
/* | ||
template <typename Node, typename CRTP, typename Mut> | ||
const CellFamily& TTree<Node, CRTP, Mut>::cellFamily() const { | ||
return _properties->cellFamily(); | ||
} | ||
*/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dead code
struct CellFamily { | ||
struct NEURON { | ||
using Type = SectionType; | ||
static constexpr int value = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those values must correspond to the values of the cell family in the spec.
https://bbpteam.epfl.ch/documentation/projects/Morphology%20Documentation/latest/h5v1.html
Maybe you can add a comment about it in the code.
setup.py
Outdated
cfg = 'Debug' if self.debug else 'Release' | ||
# cfg = 'Debug' if self.debug else 'Release' | ||
cfg = 'Debug' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be removed.
- Remove dead code - Use alias NeuralSection instead of Node<CellFamily::NEURON> - Use alias GlialSection instead of Node<CellFamily::GLIA>
…bp/MorphIO into template_morphology_glialcell
This PR is the first one of a series that will implement Dendritic spine Specifications for morphio h5 format. We (@wizmer and @jacquemi-bbp ) decided to not produce too large PULL REQUEST to facilitate the work of reviewers
This PR templatizes immutable Morphology.
The mutable Morphology will be templatized in a next PR
Spine Class will be only implemented in a next next PR
Immutable Morphology becomes a TTree template class:
Two TTree instantiation are created:
Immutable Section becomes Node template class:
Two Node instantiation are created:
enum CellFamily replaced by struct CellFamily (that contains static constexpr to identify Cell type)