Hi,
This is actually sensible behaviour by avwhd and conformant with the
specification.
If you consider a timeseries which has dimensions of x,y,z and t, then
you
would normally call it 4D, and dim[0] should be 4. But if it only had
one
timepoint, then you'd actually consider it 3D, but with dim[4]=1.
Similarly,
for higher dimensions. The default value for any dimension is 1, not 0.
The total number of values stored in any dataset should be the product
of all dimensions (dim[1] to dim[7]) which doesn't work if higher
dimensions
are 0. So given this, dim[0] is set to the highest dimension which is
greater
than 1. So in your case, you just have a 4D dataset of size 64x64x30x5
and it sets dim[0] to 4 - which is correct. If you had more dimensions
that
had more than one entry, say a 64x64dx30x5x2 dataset, then dim[0]
would be 5.
I hope this makes sense to you, and please ask if there is anything
which
is still unclear.
All the best,
Mark
On 27 Feb 2005, at 16:53, Lazar Fleysher wrote:
>
> Hello
>
> Does some one happen to know if it is a design feature or a bug: avwhdr
> reports wrong dim[] values.
>
> For example, I made a file with
>
> dim[0] = 5
> dim[1] = 64
> dim[2] = 64
> dim[3] = 30
> dim[4] = 5
> dim[5] = 1
> dim[6] = 0
> dim[7] = 0
>
> and avwhdr returns
>
> dim[0] = 4 <--- wrong
> dim[1] = 64
> dim[2] = 64
> dim[3] = 30
> dim[4] = 5
> dim[5] = 1
> dim[6] = 1 <-- wrong, but do not care since true dim[0] = 5
> dim[7] = 1 <-- wrong, but do not care since true dim[0] = 5
>
> The header file is attached. It was slpit off from a nii file, so it
> has a
> magic of nifti 1-file format. Ignore it of the purposes of this
> question.
>
> Thanks for your help,
>
> Lazar
> <test.hdr>
|