BrainWeb: Frequently Asked Questions (with Answers)

I have trouble reading/understanding your data format...

See this page for information on the data format of the BrainWeb downloadable files.

What parameters were used for the pre-generated Simulated Brain Database?

See this page.

What do you mean by "5% noise"?

The noise in the simulated images has Rayleigh statistics in the background and Rician statistics in the signal regions. The "percent noise" number represents the percent ratio of the standard deviation of the white Gaussian noise versus the signal for a reference tissue.

For custom simulations you can choose the noise reference tissue. For the pre-computed Simulated Brain Database (SBD), the noise reference tissues were: White-Matter for all T1-s, and CSF for all T2-s and PD-s.

What do you mean by "20% INU"?

For a 20% level, the multiplicative INU field has a range of values of 0.90 ... 1.10 over the brain area. For other INU levels, the field is linearly scaled accordingly (for example, to a range of 0.80 ... 1.20 for a 40% level).

How were the INU fields created?

The INU fields (available for download) were estimated from real MRI scans, so they are realistic. These fields are not linear, but are slowly-varying fields of a complex shape.

How was the anatomical model obtained?

It is all described on this web page.

What is the difference between the fuzzy and discrete anatomical models?

It is explained on this page.

Throughout this website you may notice discussion on a fuzzy and a discrete version of the anatomical phantom. A fuzzy phantom will specify a mixture of tissue classes for each voxel (eg. a voxel might contain 90% grey matter and 10% white matter). A fuzzy phantom was used to describe the tissue within each voxel during the simulation process.

A discrete phantom specifies the tissue type with the largest proportion in each voxel. A discrete phantom was not used in the simulation process. However a user might use this phantom when comparing simulated data against the underlying tissue types (eg. a user might have a classification algorithm which classifies each voxel into one specific tissue type).

Which anatomical model to use as "ground truth" for validating an MRI segmentation method? If your method attempts to estimate the partial volume (that is, the tissue fractions in each voxel) then the fuzzy model is probably what you want. Otherwise, the discrete model will probably do...

Are there anatomical models for thick slices too?

Yes, since June 2003 we also have these files available for download.

Your anatomical model has some strange stuff above the head and around the nose...

Indeed. The model was constructed from some real MRI scans using semi-automatic methods (details) and some MRI acquisition artifacts propagated into the result. Nevertheless, this adds realism to the simulations, as real-world MRI head images can include unwanted objects too.

Can you provide the true minimum/maximum/mean intensity of the white-matter/gray-matter/CSF in a simulated image?

Short answer: Not really.
Long answer: Our MRI simulator is quite sophisticated -- it produces the images starting from tissue MR parameters (ie T1, T2, T2* relaxation times), as well as incorporating realistic partial-volume, noise, and intensity non-uniformity (bias field) effects. For more details see this publication:
R.K.-S. Kwan, A.C. Evans, G.B. Pike : "MRI simulation-based evaluation of image-processing and classification methods"
IEEE Transactions on Medical Imaging. 18(11):1085-97, Nov 1999.
Nevertheless, you could compute yourself the per-tissue intensity histograms for a given simulated MR image by using the anatomical model...

What tissue MR parameters did you use?

The tissue MR parameters (relaxation times) that we used for the MRI simulations are listed on this page.

Why would I want to change the "Random generator seed" ?

The random seed is used for simulating the noise in the images (and it is ignored if the noise level is 0%). If you are setting a non-zero seed, you will obtain the same noise in the image everytime you use that particular seed (this is due to how our "random" number generator works). If you set the seed to zero, then the noise will be different everytime you run a simulation.

Non-zero seeds can be useful if you want to obtain several simulated MRI-s which differ in some parameters but not in the image noise. This is something that you can do with our simulator but you cannot with a real-world MR scanner!

What are those "protocols" (AI? ICBM?) ?

The six "protocols" available in the custom simulations interface ({AI,ICBM} x {T1,T2,PD}) are simply examples of real-world pulse sequences (in other words, parameter templates). Selecting one of them and then clicking on "Set all parameters" will pre-set all the custom parameters of the "MR pulse sequence" section to the values specified by that protocol. You can then adjust these parameters if you wish to experiment, or if you have your own specific pulse sequence that you want to simulate.

Note that the selected protocol is not actually used in the simulation: only the actual pulse sequence parameters (slice thickness, scan technique, TR, etc) are.

These example scanning protocols are named "AI" and "ICBM" after two data acquisition projects that took place in our lab.

You may notice that the sample "T1" pulse sequence (for example) is not the same in the ICBM and AI templates. This is because there is more than one way to obtain a "T1-weighted MR" image... Don't hesitate to try your own "T1" sequence, it's cheap and easy!

The ICBM template parameters for T1 (custom simulations) are unusual...

There is more than one way to produce "T1-weighted" MR images. A conventional SE sequence (TE/TR = 20/400ms) is one way to do it, and the spoiled-FLASH sequence from the ICBM template is another way to do it. The SFLASH sequences are attractive for real-life scanning due to some practical advantages, like much shorter scan time (note the low TR), less image noise, and others.

One benefit of our custom simulations feature is that you can easily (and cheaply) try out different pulse sequences and compare the resulting MR images!

If I specify more than one echo times (TE), will I get as many different images?

No, the current simulator software only produces one 3D image per simulation. You will have to submit multiple requests in order to get images acquired at different echo times. Moreover, specifying multiple echo times is only useful for the DSE_EARLY and DSE_LATE sequences (for which you need to specify two echoes). For the SE scan technique only one echo time is used -- if you specify more echo times then only the first one will be used.

Can I obtain real+imaginary reconstructed data from your MR simulator?

Yes, you can obtain real and imaginary data from our MR simulator in BrainWeb. They are not part of the pre-generated database (SBD), but can be obtained through the custom simulations interface.

The software can only produce one "image type" per request, so you'll have to request two simulations in order to get both real and imaginary parts. Note: for the real and imaginary data to match, all the parameters should be identically set except "Image Type". If you set the noise level to something other than 0%, then you'll have to also set the "Random generator seed" to some non-zero value (which has to be the same for the two matching simulations, see also this question).

If you are downloading the resulting real+imaginary images in a "raw" format, then there is an extra twist for the two images to be properly paired: BrainWeb normalizes the output raw data range such that 0 corresponds to the minimum real value of the simulated image, and 255 (for raw byte), or 4095 (for raw short), corresponds to the maximum real value. The min/max real values of the original image are listed on the download page under "Volume real range". Thus, you need to appropriately re-scale the real and imaginary parts of such a raw image pair. (Note: you won't need to worry about this if you are downloading MINC data, which includes the real range in its header.)

How is the simulated noise calculated?

The noise percentage is relative to the average real and imaginary values of the overall brightest tissue class. Noise is generated using a pseudorandom Gaussian noise field which is added to both the real and imaginary components before the final magnitude value of the simulated image is computed.

I would need such-and-such feature...

Don't hesitate to send us email ( We will consider adding the requested feature when we have resources available...