[pymvpa] question about the use of channeldataset

Yaroslav Halchenko debian at onerussian.com
Wed Oct 28 01:40:19 UTC 2009


Hi Sander, Welcome! ;)

First of all I just want to say that in the next major release things
should look better for any dataset/mapper's tandem and that would
include

 - mappers should be able to accept datasets in forward/reverse
 - MaskMapper would be split into two, so there would be no need
   to actually transform data whenever you request dataset.O whenever
   it would just need reshaping

and now seeing that our toy-application of PyMVPA to EEG/MEG data to get
paper published found its users, we would keep those usecases in mind

> calculates the variance in sliding windows of the data. My problem is
> that Mapper.forward() only operates on the raw 1D-data, not a Dataset
> and there is no way there to get the original data samples (organized
> into trials*channels*samples).
Well, technically speaking base Mapper class does not even have forward
implemented, so it does not impose any dimensionality requirement over
the shape of data.  That is how MaskMapper can acquire ND data as input
(and then spits out 2D: samples x features).

> next, which is what would happen if I took the sliding windows from
> the 1D vector.
sure thing ;) 

> I can imagine many other cases where I would need the original channel
> data in mappers (I'll be implementing the Common Spatial Patterns
> algorithm next for instance). What's the correct way (if any) of
> dealing with this ?
indeed at this point mappers are mostly dataset unaware... Basic idea
was for transformation of the data PRIOR furnishing features into the
dataset.  But as we saw so far, it limits their range of applications.

I wonder, for you, what other attributes of dataset would you need to
access besides .samples?  If you just need .samples in original (samples
x trials x channels or whatever ;)) space (i.e. dataset.O), why not
simply to operate on ND data in forward?

> Related to this I noted that this is also a bit of a problem when
> using the ICA or PCA mappers (Which optimally would also operate on
> separate channels).
rright... but for those I guess you want to operate on original
timepoints x channels data (not samples x trials x channels), ie 2D
array, and only then apply some other mapper (Boxcar?) to get your
samples x trials x components ... or am I missing smth?

> Thanks in advance for any help,
sorry if my reply is not very constructive at this point ;)

-- 
                                  .-.
=------------------------------   /v\  ----------------------------=
Keep in touch                    // \\     (yoh@|www.)onerussian.com
Yaroslav Halchenko              /(   )\               ICQ#: 60653192
                   Linux User    ^^-^^    [175555]





More information about the Pkg-ExpPsy-PyMVPA mailing list