Print

Print


The behaviour is as intended.  It's just that Matlab has changed so that it 
gives a warning.  Versions up to and including R14.3 did not behave this way. 
They merely converted values greater than 255 to be 255, and values less than 
zero to zero.

If you look at spm_minmax.m, you'll see that it is supposed to return an upper 
value is one that encompases 99.5% of the values.  This is to prevent a small 
number of very intense voxels (MR artifacts) from pushing all the values in 
the histogram down to one end.

The next set of updates will contain a fix to stop the warning messages.

Best regards,
-John


> I see what is happening but I'm not sure what to do about it. I do not
> think it has anything to do with the batch utility though since I got the
> same error without it.
>
> The line in question I think is
> buf(z).g   = uint8(round(double(buf(z).f)*(255/mx)));
>
> What happens is I think it is supposed to scale buf(z).f to a max of 255.
> Unfortunately the value of mx is too low so  values greater than 255 are
> generated, which exceed the limits on the uint8 variable type. mx is not
> the true maximum but based on fitting two gaussians to the image to account
> for background with one and the upper 99.5% of voxels with the other.
> Perhaps this occurs when some of the voxels have higher than expected
> values. However, in the volume I am looking at mx calculates to be 152
> while the actual max is 211 so while they are not that far off, it is 
> enough to cause a problem.
>
> Anyway this is one for John to sort out.
>
> Darren
>
>
> Darren R. Gitelman, M.D.
> Cognitive Neurology and Alzheimer¹s Disease Center
> Northwestern Univ., 320 E. Superior St., Searle 11-470, Chicago, IL 60611
> Voice:   (312) 908-9023     Fax:  (312) 908-8789
>
> | -----Original Message-----
> | From: SPM (Statistical Parametric Mapping)
> | [mailto:[log in to unmask]] On Behalf Of Jorge Almeida
> | Sent: Monday, April 24, 2006 5:17 PM
> | To: [log in to unmask]
> | Subject: [SPM] segment "warning" during batch
> |
> | Hey SPMers,
> |
> | I am using the SPM5 batch tool analyze functional data but I
> | get a warning message (see at end, it appears many times...)
> | when it gets in segmentation step. When I process the images
> | without using the batch tool I don't get the message. I have
> | checked a few times for errors in the batch but have found nothing.
> |
> | This looks familiar for anyone?
> | Should I worry about this warning?
> |
> | Thanks in advance,
> | Jorge
> |
> | Warning: Out of range value converted to intmin('uint8') or
> | intmax('uint8').
> |
> | > In spm_preproc at 171
> |
> |   In spm_config_preproc>execute at 472
> |   In spm_jobman>run_struct1 at 1384
> |   In spm_jobman>run_struct1 at 1392
> |   In spm_jobman>run_struct1 at 1392
> |   In spm_jobman>run_job at 381
> |   In spm_jobman at 75
> |   In spm_config_runbatch>runbatch at 32
> |   In spm_jobman>run_struct1 at 1384
> |   In spm_jobman>run_struct1 at 1392
> |   In spm_jobman>run_struct1 at 1392
> |   In spm_jobman>run_struct at 1351