Upgrading to 64bit Ubuntu is definitely the way to go if you plan to be
doing a lot of neuroimaging analysis.
The reason you are running out of memory is that your data is interpolated
in plane (it was acquired at 128*128*50*40 and interpolated to
256x256x50x40). This increases your memory usage 4 fold for probtrackx
without any benefit. If you were running this on a typical dataset you
would not have an issue with only two fibers.
This is one of many good reasons why you do not want to do tracking with
interpolated data, not the least of which is that it blurs the sharp edges
between tracts, creating voxels of intermediate direction that will allow
samples to cross into the neighboring pathway.
Peace,
Matt.
-----Original Message-----
From: FSL - FMRIB's Software Library [mailto:[log in to unmask]] On Behalf
Of Evi Vanoost
Sent: Monday, June 01, 2009 10:37 AM
To: [log in to unmask]
Subject: Re: [FSL] Why probtrackx promts "Out of memory" ?
There is no recommended way to upgrade your 32-bits system to a 64-
bit. It will most likely leave you with a broken system. You most
likely want to reinstall your system. Make a backup of your important
files first however.
If you have a lot of customizations done to your Ubuntu packages you
can back the list up by doing dpkg --get-selections > selections.txt
and then dpkg --set-selectons < selections.txt
Most of your desktop customizations will be in your home so make sure
to backup the full /home directory (unless you have it on a separate
partition)
Some programs do indeed use a lot of memory even for small tasks. If
probtrackx does what David suggested (load all data into memory
whether necessary or unnecessary) then that is indeed the problem.
There is little you can do about it short of reprogramming how the
loading works (eg. only loading what is needed at that particular
moment) but then you might adversely affect performance on large tasks
since RAM access is much faster than disk or network access.
Memory is pretty cheap these days but these limits have been inherited
to maintain compatibility with the 80386 processor architecture (DOS
would probably still start on your CPU).
Evi Vanoost
[log in to unmask]
(585) 275-4549
On Jun 1, 2009, at 10:06 AM, Nicozuo wrote:
> Hi, David,
>
> Thank you for your quick reply.
> My computer's cpu is Intel Core 2 Duo T7500, and it's 64bit, but my
> system
> is Ubuntu 8.10 32bit. Do you mean I have to re-install the system?
> Or do
> you have any other alternative suggestions?
>
> I am really confused that why probtrackx function occupies so huge
> memory
> even when I ONLY want to track the fiber through ONE POINT ?
>
> Thanks,
> Nicozuo
> On Mon, 1 Jun 2009 13:23:46 +0100, David Flitney <[log in to unmask]
> >
> wrote:
>
>> Hi,
>>
>> Can you confirm that your computer is a 64bit machine. If not then,
>> even though you have a lot of memory, probtrackx is still quite
>> likely
>> to be running out of virtual memory - perhaps you have access to a
>> large memory profile 64bit machine for testing purposes?
>>
>> On 1 Jun 2009, at 12:38, Nicozuo wrote:
>>
>>> Dear all,
>>>
>>> I have downloaded some DTI data from https://www.mristudio.org/ .
>>> I want to practice the FDT tool on the data above.
>>> Unfortunately, after run "eddy_current" function and "bedpostx"
>>> function,
>>> I tried to run "probtrackx" to track the fibers through one seed
>>> points as
>>> the following command,
>>> [code]
>>>
>>> probtrackx -V 2 --mode=simple --
>>> seedref=./bedpost.2fibers.bedpostX/nodif_brain_mask.nii.gz -
>>> o ./dti_probtrack -x ./dti_probtrack/fdt_coordinates.txt -c 0.2 -S
>>> 2000 --
>>> steplength=0.5 -P 5000 --forcedir --opd -
>>> s ./bedpost.2fibers.bedpostX/merged -
>>> m ./bedpost.2fibers.bedpostX/nodif_brain_mask.nii.gz --dir=./
>>> dti_probtrack
>>>
>>> [/code]
>>>
>>> and it promted the following errors,
>>> [error]
>>> basename ./bedpost.2fibers.bedpostX/merged
>>> maskfile ./bedpost.2fibers.bedpostX/nodif_brain_mask.nii.gz
>>> seeds ./dti_probtrack/fdt_coordinates.txt
>>> output ./dti_probtrack
>>> verbose 2
>>> nparticles 5000
>>> nsteps 2000
>>> usef 0
>>> rseed 12345
>>> 1_1
>>> 1_2
>>> 1_3
>>> 2_1
>>> 2_2
>>> Image Exception : #99 :: Out of memory
>>> terminate called after throwing an instance of
>>> 'RBD_COMMON::BaseException'
>>> Aborted
>>> [/error]
>>>
>>> Since I just try to track the fibers going through one seed points
>>> storing in
>>> the "fdt_coordinates.txt", why does it promt "Out of memory" ?? The
>>> version
>>> of FDT toobox is 2.0, and the memory of the system is 3G. The tested
>>> DTI
>>> data is 256*256*50*35, where 35 is the number of gradient direction
>>> (with 5
>>> b=0 directions).
>>>
>>> Thanks for any clues,
>>>
>>> Nicozuo
>>>
>>
>> --
>> Dave Flitney, IT Manager
>> Oxford Centre for Functional MRI of the Brain
>> E:[log in to unmask] W:+44-1865-222713 F:+44-1865-222717
>> URL: http://www.fmrib.ox.ac.uk/~flitney
>>
>>
>>
>>
>
|