Dear Salem,

I am trying to apply VBM and TBSS on a group of multiple sclerosis patients
and the matching control subjects and also trying to see the effect of age and
disease duration.

Note that it's always tricky to include a covariate that is undefined for one group.  I.e., since there's no meaningful information in the controls about disease duration you have to pick an arbitrary value for controls.  The value to assign to the controls that will have the minimum impact on the fit is (as you've intuited) the mean value (within patients), or, equivalently, a zero value after mean-centering (within patients).
 
When creating the design for randomise with Glm, I add one EV with the
demeaned values for the patients' disease duration and zeros for control
subjects.

OK so far.
 
For the age, I add 2 EVs one for the patients and the other for the
controls and demean each separately.

Now there's a problem.  First, there's no need to center the ages (it's only important for 2nd level fMRI or more complicated designs).  But if you must, you should do it for all the ages together.

Usually de-meaning doesn't do much except change the interpretation of the intercept, which we're generally not interested in (except for 2nd level fMRI COPEs).  Where you get into trouble is not over-all demeaning, but demeaning covariates *separately* by group before entering them into the model.  Imagine that there is horrible age imbalance between two groups; the age predictor, whether split by group or not (or over-all demeaned or not), will appropriately soak up any group effect due to the age-group confounding.  But if you demean each group separately, you are manually carving out nuisance variance from the age predictors and moving it to the group effect.  In technical terms, you are orthogalizing a nuisance variable with respect to a variable of interest, dangerously allowing nuisance variability to be attributed to the effect of interest.


My first question is whether what I’m doing until now is correct or not?
After, for the contrast selection, if I want to study the age effect or the
disease duration I use the following:
C1 patients>control 1 -1 0 0
C2 control>patients -1 1 0 0
My second question is whether the contrasts are right or no?

I'm not sure about the definition of your EV's, so I'll define
EV1: Dummy for patients
EV2: Dummy for controls
EV3: Disease duration
EV4: Age for patients
EV5: Age for controls

Disease effect at average age: 1 -1 0 0 0 (controlling for age and disease duration)
Disease duration effect:  0 0 1 0 0   (controlling for age)
Overall age effect: 0 0 0 0.5 0.5 (controlling for disease duration)

Note how I emphasized that the disease effect is tested at the average age.  As you have chosen to fit separate age effects for each group, there is no unique estimate for "Patient - Control" effect; the difference between the two fitted lines depends on age.   By centering to the overall age you have decided to make inference on the disease effect at the average age.  If you had fit a single age covariate (and hence asserted that there is no age-by-disease interaction) there would be no such problem... the "Patient - Control" effect would be the same for all ages (the fitted lines would be parallel).

Hope this helps.

-Tom
  
____________________________________________
Thomas Nichols, PhD
Director, Modelling & Genetics
GlaxoSmithKline Clinical Imaging Centre

Senior Research Fellow
Oxford University FMRIB Centre