[WIP] Proxy object implementation and new lazy mode implementation.#461
Conversation
|
Hello @samuelgarcia! Thanks for updating the PR.
Comment last updated on January 14, 2019 at 14:56 Hours UTC |
|
@apdavison @JuliaSprenger : the proof of concept for AnalogSignalProxy is almost done. Could you have a very short look ? The easier to anderstand the logic is to read tests : neo/test/iotest/basefromrawio/test_proxyobjects.py When all the proxy will be done I will be able to rewrite enterily the BaseFromRaw with a very simpler code and the new lazy mode system. I known that it is was not in the top priority but the sooner we have this the less we will need to go back to each IO when cleanning. |
|
@JuliaSprenger @apdavison: except my new friend pep8 proxy object themself are done. BaseFromRaw do not use them for the moment. My plan is :
This would mean that proxy object would be in 0.7 alongside with array_annotations. What do you think ? |
|
Technically I don't see any problem in introducing proxy objects and array_annotations at the same time. However, I think in the original plan we wanted to combine the major changes (object model + proxy object) in version 0.8, since then 0.7 would still be (more or less) compatible with 0.6. |
|
Yes it was the original plan we discuss. |
…-neo into lazy_load_with_proxy
* Some doc aoudn this. * Some basic tests around this.
|
@JuliaSprenger @apdavison : I have implemented the new lazy=True. I have put some example in doc. If someone have time for a global comments, you should start with BaseFromRaw class that have been simplified a lot. Note that **magnitude_mode='raw'/'rescale' will be done in a separate PR because it need and extention of rawio API and so modification in all RawIO classes. pep8 will be done!! |
|
@JuliaSprenger @mdenker @bjoern1001001 : BaseFromRaw.read_segment(time_slice=buggy_slice) use to be allowed at least in 0.6 for many IOs (and in 0.5.x for Blackrock). I am not very fan of this feature, I would prefer a clear error. If you still need to support buggy_slice, we can make a hack in BaseFromRaw.read_segment (aka transform the slice if buggy) but I prefer to avoid to do it directly in proxyobjects. In current PR, neo/test/iotest/test_blackrockio.py trig an error in cricle-ci because bugy_slice is supposed to work and it is not the case for now. |
|
@JuliaSprenger : in blackrock I have a new error in circle-ci that has nothing to do with this PR. This occur only for one units and for one version file (2.1). the -8 could be not accurate I am wondering why this do not raise error before ?!!??? If you have time could you check ? |
|
And the most strange test fail is this one: waveform shape is not the same as in matlab version. Could it be a time limit ? EDIT : this is fixed. |
Now explicit np.ndarray case.
…-neo into lazy_load_with_proxy
|
@samuelgarcia: Regarding the |
|
OK I will add this keyword. My favorite is For the default behavior, idealy it would be
What do you think ? |
|
|
|
Done. |
|
I am surprised the tests are not failing due to this:
Locally I need to fix this before I can import eg axonio from an installed version of neo. How is circleci doing this? |
|
Yep. This is strange, I must be lucky. About this, @apdavison mentioned that he would prefer avoid this subdirectory. Do I move back:
What do you think ? |
|
I am happy with both solutions, so we can follow @apdavison. |
|
The |
|
OK. @JuliaSprenger @apdavison @mdenker Then, as we already discuss in codejam, we would work independently on:
|
|
Any preference for "merge" vs "squash-and-merge"? |
|
Hi Andrew. |
|
ok folks, the future is now! |
|
Champagne. |
@JuliaSprenger : Proof of concept for discussion.
Very first comit.