<div dir="ltr">Hi David, <div><br></div><div>If you have limited data, you can use a part of it (however you split the data for training and testing)<div>to train hyperalignment, and also use the same part to train the classifier and then apply hyperalignment and test classifier on the left-out part. Yes, you can artificially create 2 chunks (or more if you prefer). </div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 27, 2016 at 3:17 PM, David Soto <span dir="ltr"><<a href="mailto:d.soto.b@gmail.com" target="_blank">d.soto.b@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:garamond,serif;font-size:large;color:rgb(0,0,0)"><div class="gmail_default">sounds great thanks, a further thing is that I have seen that in order to preclude  circularity issues, hyperalinment is implemented on a subset of training chunks and then the transformation is applied to the full datasets prior to classification analyses.  Given that I have no proper chunks/runs here, but only 56 betas across trials, would it be okay to train hyperaligment just on half of the 56 betas, eg artificially split the data set in 2 chunks  each containing 14 betas of class A and 14 of class B? Or would it be just OK to train hyperaligment on the 56 betas in the first instance?</div><div class="gmail_default">thanks!</div><span class="HOEnZb"><font color="#888888"><div class="gmail_default">david</div></font></span></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On 28 July 2016 at 00:00, Swaroop Guntupalli <span dir="ltr"><<a href="mailto:swaroopgj@gmail.com" target="_blank">swaroopgj@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The hyperalignment example on PyMVPA uses one beta map for each category per run.</div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 27, 2016 at 2:57 PM, Swaroop Guntupalli <span dir="ltr"><<a href="mailto:swaroopgj@gmail.com" target="_blank">swaroopgj@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi David,<div><br></div><div>Beta maps should work fine for hyperalignment. The more maps (or TRs) there are, better the estimate.</div><div>We used within-subject hyperalignment in Haxby et al. 2011, which uses maps from 6 categories (we used 3 successive betas per condition I think).</div><div><br></div><div>vstack() merges multiple datasets into a single dataset, and if there is any voxel count (nfeatures) mismatch across subjects, it won't work (as evidenced by the error). </div><div>Hyperalignment takes in a list of datasets, one per each subject. </div><div>So, you can make that a list as </div><div>ds_all =[ds1, ds2, ...., ds16]</div><div>and use for Hyperalignment()</div><div><br></div><div>Best,</div><div>Swaroop</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Wed, Jul 27, 2016 at 2:28 PM, David Soto <span dir="ltr"><<a href="mailto:d.soto.b@gmail.com" target="_blank">d.soto.b@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div class="gmail_default" style="font-family:garamond,serif;font-size:large;color:rgb(0,0,0)">hi, </div><div class="gmail_default" style="font-family:garamond,serif;font-size:large;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:garamond,serif;font-size:large;color:rgb(0,0,0)">in my experiment I have 28 betas in condition A and 28 parameter estimate images and 28  in condition B for each subject (N=16 in total).</div><div class="gmail_default" style="font-family:garamond,serif;font-size:large;color:rgb(0,0,0)"> </div><div class="gmail_default" style="font-family:garamond,serif;font-size:large;color:rgb(0,0,0)">i have performed across-subjects SVM-based searchlight classification using MNI-registered individual beta images and I would like to repeat and confirm my results using searchlight based on hyperaligned data.</div><div class="gmail_default" style="font-family:garamond,serif;font-size:large;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:garamond,serif;font-size:large;color:rgb(0,0,0)">i am not aware of any paper using hyperaligment on  beta images but I think this should be possible, any advise please would be nice</div><div class="gmail_default" style="font-family:garamond,serif;font-size:large;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:garamond,serif;font-size:large;color:rgb(0,0,0)">i've created individual datasets concatenating the 28 betas in condition A and the 28 in condition (in the actual experiment condition A and B can appear randomly on each trial). I have 16 nifti datasets, one per subject, with each in individual native anatomical space. In trying to get a dataset in the same format as in the hyperlignment tutorial I use fmri_dataset on each individual wholebrain 48 betas  and then try to merged then all i.e. <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">ds_merged = vstack((d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15,d16)) but this gives the following error pasted at the end,</span></div><div class="gmail_default" style="font-family:garamond,serif;font-size:large;color:rgb(0,0,0)">which I think it is becos the number of voxels is different across subjects. This is one issue.</div><div class="gmail_default"><font color="#000000" face="garamond, serif" size="4"><br></font></div><div class="gmail_default"><font color="#000000" face="garamond, serif" size="4">Another is that the function vstack does appear to produce the list of individual datasets that is in the hyperligment tutorial dataset, but a list of individual betas, I would be grateful to receive some tips.</font></div><div class="gmail_default"><font color="#000000" face="garamond, serif" size="4"><br></font></div><div class="gmail_default"><font color="#000000" face="garamond, serif" size="4">thanks!</font></div><div class="gmail_default"><font color="#000000" face="garamond, serif" size="4">david</font></div><div class="gmail_default"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">------------------------------</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">------------------------------</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">---------------</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">ValueError                                Traceback (most recent call last)</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><ipython-input-64-</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">2fef46542bfc> in <module>()</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">     19 h5save('/home/dsoto/dsoto/</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">fmri/wmlearning/h5.hdf5', [d1,d2])</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">     20 #ds_merged = vstack((d1, d2, d3, d4, d5, d6, d7,d8,d9, d10, d11, d12, d13, d14, d15, d16))</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">---> 21 ds_merged = vstack((d1, d2))</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">/usr/local/lib/python2.7/site-</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">packages/mvpa2/base/dataset.</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">pyc in vstack(datasets, a)</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">    687                              "datasets have varying attributes.")</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">    688     # will puke if not equal number of features</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">--> 689     stacked_samp = np.concatenate([ds.samples for ds in datasets], axis=0)</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">    690</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">    691     stacked_sa = {}</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">ValueError: all the input array dimensions except for the concatenation axis must match exactly</span><br></div></div>
<br></div></div>_______________________________________________<br>
Pkg-ExpPsy-PyMVPA mailing list<br>
<a href="mailto:Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org" target="_blank">Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org</a><br>
<a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa" rel="noreferrer" target="_blank">http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa</a><br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Pkg-ExpPsy-PyMVPA mailing list<br>
<a href="mailto:Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org" target="_blank">Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org</a><br>
<a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa" rel="noreferrer" target="_blank">http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa</a><br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Pkg-ExpPsy-PyMVPA mailing list<br>
<a href="mailto:Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org">Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org</a><br>
<a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa" rel="noreferrer" target="_blank">http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa</a><br></blockquote></div><br></div>