ImagingComputingDevelopments - MRC CBU Imaging Wiki

Revision 33 as of 2008-05-14 12:51:02

Clear message
location: ImagingComputingDevelopments

Developments to the imaging computing system

2008/05/14 Add mricron to Linux boxes

Type

mricron

to launch.

[RC]

2008/05/12 Put aa under subversion control.

New release of aa (2.1) at same time, mirror of previous development version.

To use new release, type

aa_ver2

or

aa_ver21

To use development version, as ever, type

aa_ver2_devel

Changes to paths, if you care... now in

/imaging/local/spm/aa_svn/tags/release-2.1

Development version should be modified using SVN, and not by changing any files in the working copy added to Matlab path

/imaging/local/spm/aa_svn/tags/trunk

[RC]

2008/05/09 New command for checking slice acquisition order

Some data was recently unintentionally acquired with the wrong slice order (interleaved ascending instead of sequential descending).

As this would have bad consequences for the analysis, if you're a cautious type (or just hate wasting time), you should check the slice order of your acquisitions. To help you do this, I've written a small aa tool that scans the dicom headers of your subjects. To use it:

Make sure you're using aa_ver2_devel

>> aa_ver2_devel

Change to the directory containing your study and run this new tool to scan the slice order >> aas_dumpsliceorder

[RC]

2008/02/26 Changed maximum numbers of jobs

(1) Matlab licenses. We are nowhere near using our maximum number of matlab licenses (83/171 used). There is a restriction on the number of licenses per user of 8. I have extended this to 12 to allow better distribution across machines.

(2) aa parallel workers. There was a limit of 8 workers per job. With the better loadsharing (see below) a greater number of jobs is practical - I have extended it to 15.

[RC]

2008/02/26 Modified load balancing for SPM, MEG & FSL software

All of the machines are scanned for load every 5 mins. Previously, no account was taken of the effect of jobs launched in between these points. This led to a problem when firing off lots (say 15) jobs at once (e.g., from aa parallel) in that many would land on the same machine, which would subsequently become overloaded.

To account for this, the SPM, MEG & FSL wrappers now keep a record of recent launches. These are shown by showload or the launch script. These recent launches are considered when choosing the best machine, so jobs get steered away from machines that have just had lots of new stuff launched on them.

Technical details - files in /imaging/local/spm/loadshare

  • Scheduled job checkmachineload.py (called from cronjob scanmachines.py) now deletes "status/recentlaunches_[machinename].txt"
  • module loadshare.py, function getbestmachine now takes into account the recent launches when choosing a machine
  • launchspm, runfsl, runmne and meg_runcommand all append jobs launched to the files like "status/recentlaunches_[machinename].txt"

[RC]

2008/02/14 Added VNC tools

I wrote a load balancing script for a glx enabled vncserver. The script balances only the vnc load. I chose to do it this way, because the vnc sessions will be very long term ~months, so balancing the cpu load is more or less irrelevant. If one of these glx vnc sessions is already open, a message will be sent to the user providing the port and machine that the active session is on. The script is called vncserver.glx and is located in /imaging/local/linux/bin/. I also added vncviewer, because it is way better than the default vncviewer on the RH install.

[DGW]

2008/02/07 Added function HeadMask.m to /imaging/local/spm/common_spm5andabove

This function attempts to mask out the vitamin E capsules from T1 weighted structurals. This is useful before producing a scalp mesh, which may otherwise be distorted. It may also improve normalisation to MNI space. It has been tested on seven subjects, never removing anything it shouldn't, and successfully removing the vitamin E capsules in six of the seven cases. (Including one patient with lesions; use at own risk.)

[DannyMitchell]

2008/02/06 Patched spm_getSPM manually

Fixed bug when saving design matrix from contrast manager as identified by Catherine Marie-Longtin, and solved by Ferath Kherif

put
cd(SPM.swd) at line 200,
just after the code : SPM.swd = swd; at line 199.

[RC]

2008/02/06 Added load balancing to FSL

All FSL 4.0.1 commands are now executed with load balancing.

Details... wrote python script /imaging/local/spm/loadshare/runfsl.py which launches an FSL command on the currently least busy machine. Then, /imaging/local/spm/loadshare/fslwrappers.py which makes symbolic links in /imaging/local/linux/bin/fsl-4.01/bin/loadshare/bin

This directory is now added by fsl_4.0.1_setup instead of the one with the actual commands in.

If you wish to run multiple scripts or jobs in parallel launch with separate xterms like this:

   xterm -e [your command 1] &
   xterm -e [your command 2] &

   e.g., xterm -e feat myscript.fsf &

[RC, MM]

2008/02/06 Delayed Software Documentation

Dan has been very naughty and not documented changes he made to the load balancing software. I updated (with Matthew Brett's help) several features of the software setup. We setup the Freesurfer and MNE scripts to source Freesurfer and MNE when they balance the load. We also setup so it will pass the SUBJECTS_DIR and SUBJECT variables. In order to ensure that the FSL version differences don't affect Freesurfer (which uses FSL), I have changed the way FSL works. FSL is no longer sourced by default. Each user who wants to use FSL needs to source FSL in each terminal window via the following scripts.

fsl_3.2_setup
fsl_4.0.1_setup

I'm sure there are some other details I have left out add questions here and I will fill out the replies.

[DGW]

2007/12/12 Added FSL 4.0.1

To use, type

fsl_4.0.1_setup

at the Linux prompt

2007/12/10 Tweaked load display

The load displayed when typing showload, or on launching SPM or MEG software was a bit verbose. I trimmed it. [RC]

2007/12/07 Updated MRIcro for Linux

Updated MRIcro to 1.39 build 4. Type startmricro & at Linux prompt to launch

[RC]

2007/12/05 Linux server OS version upgrade

Major upgrade. Linux servers l08-l21 upgraded to RedHat Enterprise Linux 4, and added to pool of machines used by default to run SPM 5 (under Matlab 7.3) and MEG.

Thanks very much to Rob Anthony for handling this so smoothly!

[RA]

2007/11/27 Updated load sharing back end, added load monitoring commands

New commands:

Type at Linux prompt

Description

showload

Shows load across all machines

bestmegmachine

Returns the machine currently loafing most

[RC]

2007/11/27 Control verbosity of output when starting spm or meg software

  • If you want the scripts to print less verbose output when you launch commands do
    • mkdir ~/.loadshare
    Then one of
    • touch ~/.loadshare/verbose_less
    or
    • touch ~/.loadshare/verbose_silent

[RC]

2007/11/27 MEG wrapper update

All previous Elekta commands and many new ones (e.g., maxave, maxfilter) are now called through a new wrapper. All arguments are passed straight along to the command, which will be launched on an appropriate machine. Start a new xterm to bring them into path. [RC]