[pymvpa] How to train a SurfaceQueryEngine?

Swaroop Guntupalli swaroopgj at gmail.com
Mon Jan 5 19:12:44 UTC 2015

Thanks for the info. Nick. It makes sense.

My use case is a bit different from the intended one. Let me know if
this approach of using SQEs for that makes sense:
I want to get voxels corresponding to nodes at a particular
hop/distance from a center node (not less than or equal to that
distance). This is similar to HollowSphere in volume searchlights. One
approach I am thinking of is to use multiple SQEs at difference hops
and eliminate nodes from SQE with smaller radius. I already have
SurfaceVerticesQueryEngine with r=0, which lets me get voxels assigned
to any particular node, so that I can quickly get all voxels
associated with any set of nodes.

Since my initial email, I thought of another approach by using SVQE
with largest radius I want and using 'center_distances' to get voxels
at a particular distance. I am assuming those are Euclidean distances
from center node, is that correct? Eitherway, is there a way to pass
that 'fa' to Measure along with the dataset using standard


On Mon, Jan 5, 2015 at 10:47 AM, Nick Oosterhof
<nikolaas.oosterhof at unitn.it> wrote:
> Hi Swaroop,
> On 4 January 2015 at 21:06, Swaroop Guntupalli <swaroopgj at gmail.com> wrote:
>> I am trying to use SurfaceQueryEngine, but looks like training
>> requires a dataset with node_indices as fa. How do I generate a
>> dataset with surface information?
> First of all: SQE is intended for surface-based searchlights where the input
> is a surface dataset. (If the input is a volumetric dataset, use
> SurfaceVerticesQueryEngine).
> An existing surface-based dataset in AFNI NIML format can be loaded using
> afni_niml_dset.py (in mvpa2/support/nibabel), and converted from and to the
> PyMVPA dataset structure using niml.py (in mvpa2/datasets).
> In other cases: if you already have a dataset but without .fa.node_indices,
> you would have to set this yourself. In the case of a surface dataset for N
> nodes with no missing data (i.e. all nodes have data associated with it) and
> data in order (the k-th node on the surface corresponds to the k-th feature
> in dataset), you can set it .fa.node_indices to [0, 1, ..., (N-1)].
>> Is there a helper function to
>> achieve that?
> Not that I know of, apart from the NIML support mentioned above.
>> Since SQE is node-to-nodes mapping, can we skip training with volume
>> dataset altogether?
> Yes. Note that for the SQE, training with a *surface*-based dataset (with
> .fa.node_indices) *is* required.
> _______________________________________________
> Pkg-ExpPsy-PyMVPA mailing list
> Pkg-ExpPsy-PyMVPA at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa

More information about the Pkg-ExpPsy-PyMVPA mailing list