Developments to the imaging computing system
2011/04/10 New SPM release from FIL r4290
Installed to run by default when spm 8 is typed.
2010/09/05 New MNE installation (2.7.1)
This new version is accessible now via mne_setup_2.7.1_32bit. If you have any problems please contact me email@example.com.
2010/03/17 New SPM 8 installation
SPM has been moved under subversion control, and to a new more intuitive directory, /imaging/local/software
As ever, you can start it with
with the additional options
use development version of code
set up for FMRI
set up for M/EEG
Further options are described on SpmVersions
2010/03/15 New MNE version installation (2.7.0)
This new version is accessible now via mne_setup_2.7.0_32bit. If you have any problems please contact me firstname.lastname@example.org.
2010/01/26 PEATE (Perl Event-related Average Timecourse Extraction)
Added functionality for this companion tool to FSL created by Jonas Kaplan. PEATE performs selective averaging on FSL's first-level output files. Call up PEATE with either:
> peate [to use the GUI] > peate myconfigfile.pcf [to use from the command line]
2009/12/12 Dump Demographics
Here's a matlab script that dumps the age & sex of a list of subjects from their CBU numbers. DumpDemographics
2009/12/09 Replace buggy mne_inverse_operator
as discussed on mne mailing lists
2009/11/10 MRICronN & Dcm2Nii
Added shortcuts to run dcm2nii either as a GUI or from the command line. E.g.:
> dcm2nii [to use from the command line] > dcm2nii_gui [to use the GUI version]
The commands are currently in /imaging/locali/linux/bin but also ready in /imaging/local/scripts.
2009/08/25 Default spm 8 to Matlab2009a
now defaults to matlab2009a as this offers the full functionality
Also, you may do commands like
spm 5 matlab2009a
2009/05/05 Updated MNE MATLAB toolbox
This has been added to the 2.6.0 release, so the matlab version is 2.6.1 and the rest of the tools are 2.6.0.
2009/04/17 Installed trackvis
to use it [RC]
2009/04/15 Installed latest MNE
to use it [DGW]
2009/04/15 Installed latest Freesurfer
to use it [DGW]
2008/12/15 Installed latest FSL
to use it [RC]
2008/11/26 Update Juelich's Anatomy toolbox for SPM 5
Obtained a new pre-release version of the toolbox, containing new maps for the parietal lobe. Replaced the old version [RC]
2008/10/7 Added python libraries
Added to imagers.cshrc files
- setenv LD_LIBRARY_PATH /imaging/local/linux/lib
2008/10/6 Installed Juelich's Anatomy toolbox into SPM 5
2008/10/6 small FSL patch requested by Mirjana
Ask her if you're curious [RC]
2008/9/15 FSL patches applied as requested by Eleftherios
You may now choose between the patched version
and the unpatched one
2008/9/1 and 2008/9/2 Installed FSL 4.1.0
to use it
Fixed, added load sharing wrappers, accidentally deleted fsl3.2, hope no-one need it.
2008/08/13 Monitoring page for user process
Check who is loading the machine: http://imaging.mrc-cbu.cam.ac.uk/summarybyuser.html
2008/08/13 New closemymaxfilters command
Does what it says - closes all of your maxfilters across the machines.
2008/08/13 Added highmemory switch to spm
If you launch spm with you will be sent to a machine with 16 GB of RAM.
2008/07/14 Made spm and other loadsharing more robust
There was a sporadic error caused when users launched many jobs in a very short space of time, in writes would clash to the file where the record of the launch (a change to the recentchanges files in the loadshare/status directory). This would cause the SPM launcher to fall over. I've trapped this error, so it continues regardless.
2008/06/03 Added MNE Tutorial setup
I've added a separate mne_tutorial setup which locally sources mne in order to avoid aliasing commands with --digtrig STI101. This should only be used for the MNE Tutorial.
Instead of typing mne_setup_2.5, as you would normally, type mne_tutorial.
2008/05/22 Modified maxfilter launch script
I've modified the maxfilter script so that it encourages multiple jobs launched in quick succession to be allocated to different machines, rather than the same one. This should improve the load sharing for such jobs.
It involved adding a line that records the load in the "recent launches" files (shown in the [new xx] columns of showload).
2008/05/16 Tweaked loadsharing
Update 2008/05/19: item (2), shift of Elekta tools to l37-l42 has been postponed pending installation of licenses
The load on the linux computing resources has increased recently. Right now, the jobs running on the 34 main machines (l08-l42) are: 152 SPM aa parallel sessions 249 other SPM sessions 64 MEG maxfilters 3 other MEG Elekta tools
This is a big pile of processing, and to optimise performance in response to these demands some changes have been made: (1) The maximum number of aa parallel threads per user has been reduced from 24 to 12 (I'll soon make it adaptive to the total system load). (2) To reduce memory problems, all Elekta software (including maxfilter) now launches on the new high numbered machines that have more memory (l37-l42). SPM launches on the lower numbers (l08-l36). (3) When you launch SPM, or run "showload" the number of jobs of each type on the various machines is shown, to help everyone keep track of the demands on the system
As ever, you should try to use this resource in a considerate way, and where possible set big jobs going at off-peak times.
2008/05/14 Added mricron to Linux boxes
mricron is the successor to mricro, the popular MR image viewing program. There are a number of new features to mricron, including the facility to add multiple overlays from different images. However, the interface is quite different.
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
To use development version, as ever, type
Changes to paths, if you care... now in
Development version should be modified using SVN, and not by changing any files in the working copy added to Matlab path
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
Change to the directory containing your study and run this new tool to scan the slice order >> aas_dumpsliceorder
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.
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"
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.
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 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; does NOT seem to improve normalisation to MNI space.)
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.
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 &
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.
I'm sure there are some other details I have left out add questions here and I will fill out the replies.
2007/12/12 Added FSL 4.0.1
To use, type
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
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!
2007/11/27 Updated load sharing back end, added load monitoring commands
Type at Linux prompt
Shows load across all machines
Returns the machine currently loafing most
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
- touch ~/.loadshare/verbose_less
- touch ~/.loadshare/verbose_silent
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]