These are chat archives for thunder-project/thunder

23rd
Feb 2016
Jeremy Freeman
@freeman-lab
Feb 23 2016 18:50
@jwittenbach @sofroniew continuing our chat here... i think a function for generating a movie from an images object would great
Jason Wittenbach
@jwittenbach
Feb 23 2016 18:53
Are you thinking something that just does time/space downsampling via reduceByKey (time) and map (space)?
another option would be to make the movie function generic — it takes whatever Images object you has and makes a full-res movie
and then provide some other functions to let the user do the preprocessing necessary to get that Images object down to a size where you can make a reasonable movie out of it
a lot of the Series preprocessing that you might want to do before making a movie (rolling avg for down-sampling, computing ΔF/F\Delta F/F, etc) are best doen of Blocks
so I might be nice to provide some of these as methods on Blocks…but then we get into this problem where a lot of them will be things that we already have on Series
Jeremy Freeman
@freeman-lab
Feb 23 2016 18:57
cool yeah, so i kinda think this should be a standalone thunder-movie module, it's getting very specific and makes assumptions beyond thunder's core objects (e.g. an images object isn't neccessarily temporal)
i'd think of it as a function that takes an images object and returns a numpy array, with a few options to control different kinds of downsampling
Jason Wittenbach
@jwittenbach
Feb 23 2016 18:59
makes sense; that’s nice and contained and easily defined
Jeremy Freeman
@freeman-lab
Feb 23 2016 19:00
yeah eaxctly
Jason Wittenbach
@jwittenbach
Feb 23 2016 19:00
any fancy would just have to be done elsewhere
the downside is that, the representation that you need to do some of those preprocessing steps is perfect for doing things like temporal downsampling
so you loose a little efficiency by needing to come back to Images each time
well, maybe more than a little
Jeremy Freeman
@freeman-lab
Feb 23 2016 19:02
i thought you would do it all in blobks
Jason Wittenbach
@jwittenbach
Feb 23 2016 19:03
right
Jeremy Freeman
@freeman-lab
Feb 23 2016 19:03
so thunder-movie would take an images object, go to blocks, do suff, then go to images
Jason Wittenbach
@jwittenbach
Feb 23 2016 19:03
but what if I want to do ΔF/F\Delta F/F too?
and not just downsample
Jeremy Freeman
@freeman-lab
Feb 23 2016 19:03
well, can either just write those methods to work on blocks within thunder-movie
Jason Wittenbach
@jwittenbach
Feb 23 2016 19:04
true
Jeremy Freeman
@freeman-lab
Feb 23 2016 19:04
or factor their implementation in thunder.series to be exportable
like from thunder.series import detrend
and then use that in the movie code
Jason Wittenbach
@jwittenbach
Feb 23 2016 19:04
it might be nice to have thunder-movie allow you pass in an optional function that will be applied across all time series within each block
Jeremy Freeman
@freeman-lab
Feb 23 2016 19:05
yeah definitely
Jason Wittenbach
@jwittenbach
Feb 23 2016 19:05
and yeah, if we could get some of the Series methods exported, those would be great candidates for it
Jeremy Freeman
@freeman-lab
Feb 23 2016 19:05
yup
not exactly sure the best way to do that though
want to create a repo for thunder-movie and sketch out the API in a readme?
Jason Wittenbach
@jwittenbach
Feb 23 2016 19:06
yeah, will do
Jeremy Freeman
@freeman-lab
Feb 23 2016 19:06
sweet!
Jason Wittenbach
@jwittenbach
Feb 23 2016 19:07
I have some notebooks that do a lot of this in a disjointed way already, so I’ll throw one of those in there for reference
Jason Wittenbach
@jwittenbach
Feb 23 2016 19:46
@freeman-lab would it be possible to up my permissions in thunder-project so that I’m able to create the repo? or you could create it and then I’ll commit to it. whichever works best.
Jeremy Freeman
@freeman-lab
Feb 23 2016 20:14
oh totally, on it
done
Jason Wittenbach
@jwittenbach
Feb 23 2016 21:44
sweet, thanks!
Davis Bennett
@d-v-b
Feb 23 2016 21:50
this sounds great