Closed arnaudon closed 9 months ago
Isn't it possible to compute it analytically if we know how Neuron compute the surface?
I let you try it :P
I let you try it :P
Don't push me :stuck_out_tongue_winking_eye: (I will have a quick look :innocent: )
but I think it is really hard, nrn discretizes a contour then makes it a bunch of cylinder, I'm not even sure where the difference come from, I tried to use fine discretisation, and it does not convert to the same surface area... But anyway, this is a niche usecase for ppl wanting to preserve soma surface area for models (as vignan in this case, or for darshan if I remember well).
but I think it is really hard, nrn discretizes a contour then makes it a bunch of cylinder, I'm not even sure where the difference come from, I tried to use fine discretisation, and it does not convert to the same surface area... But anyway, this is a niche usecase for ppl wanting to preserve soma surface area for models (as vignan in this case, or for darshan if I remember well).
It's a niche but I feel like we should actually always ensure this in order to be sure that the morphology can be used with all BBP tools.
its really niche to preserve emodel optimized before curation, etc... In normal bbp 'way', one converts these morph first, then optimize models, so this hack is not needed. It is needed only because vignan uses emodel from external collabs, which used point soma swc files, and after converting to .asc (or h5 I think), it changes the soma area a little bit (see the test for example), and makes the emodel behave differently ( because he also was unlucky to have an emodel quite sensitive to soma surface area, which is not always the case). I would really not try to do this analytically, given the short remaining lifetime of bbp ;)
Ah ok, I see.It's a real niche then :)
Context
For emodel, if we convert swc to asc, neuron does not read the same soma surface area, hence the model behave differently.
Resolution
It is quite hard to find a correction factor from asc loader (swc is just area = 4 pi R^2), hence we do a simple optimisation.