<div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Vincent,<div><br></div><div>You probably want to use sparse searchlights to compute the connectivity targets by specifying center_ids.  For example, instead of centering a searchlight around each voxel, you pick only 10% of the searchlights that are evenly distributed across the brain.  This will make the connectivity matrices much smaller, and potentially help you fit everything in the RAM.  Note that that's another reason we want to have a separate SeedQueryEngine -- to make sure the number of connectivity targets are within a proper range, and so that we can afford the computations. </div><div><br></div><div>Projecting your data onto surface will also help, with the same resolution data on surface are also smaller in size than data in volume.</div><div><br></div><div>Best,</div><div>Feilong</div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 15, 2018 at 9:35 AM Vincent Taschereau-Dumouchel <<a href="mailto:vincenttd@ucla.edu">vincenttd@ucla.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Thanks a lot for your help! <div><br></div><div>It seems that for now we have to specify a seed_queryEngine because of this in the connectivity_hyperalignment script:<div><br><div><div>        if params.seed_queryengines is None:</div><div>            raise NotImplementedError("For now, we need seed queryengines.”)</div><div><br></div><div>But if we define an empty seed_queryEngine and use a seed_radius of 20 it seems to work. Just like Feilong suggested it will be defined in get_trained_queryengines.</div><div><br></div><div>One last question if I may: it seems that I always run out of RAM when I try to run the script. Even if I use only 10 resting state dataset of 10 minutes (~ 1GB) it will end up crashing after 24 hours because it ran out of the ~50GB I allocated for the analysis.</div><div><br></div><div>Is that normal and do you guys have a rule of thumbs to determine how many RAM the analysis will require? I might have to find another environment to run my analyses as a function of what this requires.</div><div><br></div><div>Thanks a lot!</div><div><br></div><div>Vincent</div><div><br><div><blockquote type="cite"><div>On Oct 12, 2018, at 3:52 PM, Feilong Ma <<a href="mailto:mafeilong@gmail.com" target="_blank">mafeilong@gmail.com</a>> wrote:</div><br class="m_-8927715144484596114Apple-interchange-newline"><div><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Vincent,<div><br></div><div>The main query engine for searchlight connectivity hyperalignment should be similar to that used for searchlight response hyperalignment, and we usually use a 20 mm radius, which is the same one used in Swaroop's 2016 searchlight hyperalignment paper.  Sometimes I use a slightly smaller radius (e.g., 15 mm, 10 mm) to speed up the computations, but in general 20 mm radius usually works well.</div><div><br></div><div>The other query engine (SeedQueryEngine) is specific for connectivity hyperalignment, and is used to compute connectivity targets (sometimes also called connectivity seeds) by averaging responses in each searchlight.  In the connectivity hyperalignment paper we used connectivity seeds from a low-resolution surface (AFNI's ico8), and that in combination with a 13 mm radius can make sure the entire cortical surface is covered by the searchlights.</div><div><br></div><div>If you want to perform a quick analysis with data in volume, you can use a query engine that will generate searchlights in volume space.  Below is an example usage</div><div><a href="https://github.com/PyMVPA/PyMVPA/blob/5b01da5529c8653da948e9e03c9361168d954482/mvpa2/algorithms/searchlight_hyperalignment.py#L683-L685" target="_blank">https://github.com/PyMVPA/PyMVPA/blob/5b01da5529c8653da948e9e03c9361168d954482/mvpa2/algorithms/searchlight_hyperalignment.py#L683-L685</a><br></div><div><br></div><div>Best,</div><div>Feilong</div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Oct 12, 2018 at 11:39 AM Yaroslav Halchenko <<a href="mailto:debian@onerussian.com" target="_blank">debian@onerussian.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On Fri, 12 Oct 2018, Vincent Taschereau-Dumouchel wrote:<br>
<br>
> Hi everyone,<br>
<br>
> First of, thanks a lot for sharing the connectivity hyperalignment code. You guys are doing awesome work.<br>
> I am starting to play around with it and was wondering about 2 things:<br>
<br>
> - Do you have an example of the arguments that needs to be provided? One of them is the SeedQueryEngine. I went through the code a little and I am having a hard time determining what this is exactly. <br>
<br>
seed_queryengines  are needed for figuring out neighborhood to average<br>
for estimating connectivity to it.  I am not quite sure (CCing the<br>
original author Swaroop and Feilong who might know better) why your<br>
"main" queryengine could/shouldn't be used (the test uses the<br>
same) if you are working in the same "domain" (e.g. in the volume for<br>
both the searchlight and then the seeds).  If so, may be code could be<br>
adjusted to avoid demanding specification of the seed_queryengines?<br>
<br>
> - Also, can we use it not with surfaces but with typical volume data? I understand the problems associated with running a searchlight on volume data but I was just trying to take a quick peak at the function before processing surfaces and all.<br>
<br>
AFAIK, due to all those "query engines" flexibility, it could be used in<br>
a variety of scenarios:<br>
<br>
- everything in the volume<br>
- everything (projected) on the surface<br>
- having surface guiding selection of the voxels in the volume<br>
<br>
<br>
-- <br>
Yaroslav O. Halchenko<br>
Center for Open Neuroscience     <a href="http://centerforopenneuroscience.org/" rel="noreferrer" target="_blank">http://centerforopenneuroscience.org</a><br>
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755<br>
Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419<br>
WWW:   <a href="http://www.linkedin.com/in/yarik" rel="noreferrer" target="_blank">http://www.linkedin.com/in/yarik</a>        <br>
</blockquote></div>
</div></blockquote></div><br></div></div></div></div></div></blockquote></div>