Archive for category MatLAB

Meet the fMRI Parrot

fMRI Parrot

Focal Length

What the heck is “fMRI Parrot”?

First of all, the heck is fMRI. fMRI stands for “Functional Magnetic Resonace Imaging”, as defined in Wikipedia. It involves tons of expensive hardware, like Magnetic Resonance machine, and software, used to reconstruct the scanned volumes. During fMRI scanning a series of stimulus are applied to the patient and the brain is scanned using fast scanning MRI techniques. The aim of fMRI is to record immediate changes happening in particular areas of the brain.

The single MRI scan is called “volume”. It is created from a series of slices of the predefined thickness. Having more slices creates more detailed volume and extends acquisition time. As the changes of the brain activity are momentary, a short volume acquisition interval, named TR or “Time Repetition” is needed. Usually it varies from 7 to 1.5 seconds, depending on the capabilities of the MR machine. Short TR time supposes lower quality scans, compared to the “traditional” MR scanning. So the level of detail of particular volume is a trade off between time and specific requirements.

The fMRI scans consists from a number of volumes, recorded at particular intervals. The key condition for a successful scan is the precise timing. In order to find a region with elevated activity, a stimulus must be started just when the volume acquisition begins. For this the MRI machine may expose a short pulse – start of a volume. The pulse may be brought to the MRI control room via the interface box and the required stimulus started automatically. Some stimulus require the patient to respond, eg. press the predefined button. The response from the patient is also brought to the MRI control room. As there are special requirements for any hardware at the MRI machine, only certified equipment is allowed to the MR room. The requirement at the MRI control room are more relaxed as well as the choice of the equipment There are different vendors of the interface boxes and response buttons, NordicNeuroLab (NNL) being one of them.

In order to create the simulation series, or paradigmas in fMRI terminology, a lot of time is needed. Each paradigma is to be verified before the clinical test, while some of them can not be tested without a signal form the MRI scanner or a response from the patient. There is no need to say the MRI equipment is expensive, so is the time spent in the MRI machine. Most of the MRI scanner interface boxed can be used in so called “simulation” mode, sending particular responses at the predefined moments, without actually running the scanner. For example the Sync Box from NordicNeuroLab will send “S” symbol at the start of the volume acquisition, while fORP from Cambridge Reserch Systems is to send “5”. So what is actually required to test a paradigma, is the response from the scan… WAIT!

It’s must not be the MRI scanner nor the interface box.

Read the rest of this entry »

Tags: , , , , , , ,, x64 and .NET interface

Here,’s the story short:

I need to create a series of graph for highly scientific data sets. The data is calculated in MatLAB, but the export of figures in MatLAB is a pain for me.

On the other hand seems to be the right tool for the job. The latest MatLAB has the function, called ‘xlswrite’. Happy with the fact, hoping it should write the XLS file I fire it up and…

Ouch. One must have Excell installed, as the data export goes through the ActiveX. If no Excell is found, the data is exported into CSV file, overwriting the file every time. Not the Right Thing. Read the rest of this entry »

Tags: , ,



Quite interesting article on image processing. The MatLAB source, presented on the site, need some minor enhancments. Authors may contact me, if they want ;).
Attention: the program is really slow. I used ‘direct solver’, and it took almost 10 minutes to proceed the image.

JPEG-2000 in MatLAB

Any idea how to produce and read the JP2 file in MatLAB?
The easiest way should be writing middleware in Java to specific library. The things are complicated, as i need to get and modify data from every stage of encoding/decoding, like color space transformations, quantization, EBCOT (including bit-plane decomposition, bit-plane processing, encoding) and rate-encoders. Read the rest of this entry »