Hi,
I'm not sure what's wrong with using the direct output of fslroi, as FSL doesn't require consistent qform/sform matrices between images. It is possible you just don't need to worry about any of this.
All the best,
Mark
"Wood, Tobias" <[log in to unmask]> wrote:
Hi Mark,
The commands I gave aren't what I'm actually doing - they're just a minimum test case to demonstrate the problem.
I have multiple images per subject that I am processing simultaneously. The real aim is to crop my images to contain just the brain instead of the whole rodent head, for performance/disk space reasons. For most of the subjects fslroi by itself would be fine for this, as all the scans have the same FoV/qform/sform etc.
Unfortunately, for a few of the subjects the FoV was messed up slightly between scans. The only thing that changed is the displacement, not the rotation or scaling. To do voxel-wise processing of those subjects, I need to resample/interpolate them to a consistent FoV - hence the calls to flirt as well as fslroi.
Is there a better way to do this? Or would a minus sign or two added to the identity matrix fool flirt into making the origins co-incident?
Thanks,
Toby
On 9 May 2013, at 15:23, Mark Jenkinson wrote:
> Hi,
>
> It is as I thought - you have neurologically ordered images (a positive determinant for the qform or sform matrices). In this case the internal FSL origin (aligned by FLIRT when you specify an identity matrix) is not coincident with the NIFTI voxel origin, but is at the maximum x-coordinate.
>
> I'm not quite sure why you'd want to do those FLIRT calls though.
> There are probably easier ways to achieve your desired goal that a mixture of fslroi and flirt.
> Feel free to explain the fundamental problem you are trying to solve.
>
> All the best,
> Mark
>
>
>
> On 9 May 2013, at 15:04, "Wood, Tobias" <[log in to unmask]>
> wrote:
>
>> Hi Mark,
>> Please find the headers attached. This is from a rodent subject (hence the small voxel sizes), but I have tested this on a human subject as well and seen the same problem. This particular scan was a sagittal acquisition.
>> Thanks,
>> Toby
>>
>> On 9 May 2013, at 14:25, Mark Jenkinson wrote:
>>
>>> Hi,
>>>
>>> This most likely depends on whether your images are radiologically or neurologically stored.
>>> Can you send us the output of fslhd on the INPUT, REF and OUT images?
>>>
>>> All the best,
>>> Mark
>>>
>>>
>>> On 9 May 2013, at 12:39, "Wood, Tobias" <[log in to unmask]> wrote:
>>>
>>>> Dear list,
>>>>
>>>> I discovered the following while trying to resample some scans of the same subject, but with slightly different FoVs, to a cropped sub-volume of one of those scans. The following steps should reproduce the problem with any image, e.g. if INPUT.nii is 128x128x128, with FSL 5.0.0
>>>>
>>>> fslroi INPUT REF_0 0 64 0 64 0 64
>>>> fslroi INPUT REF_64 64 64 64 64 64 64
>>>> flirt -in INPUT -ref REF_0 -out OUT_0 -init $FSLDIR/etc/flirtsch/ident.mat -applyxfm
>>>> flirt -in INPUT -ref REF_64 -out OUT_64 -init $FSLDIR/etc/flirstsch/iden.mat -applyxfm
>>>>
>>>> I would expect OUT_0 and OUT_64 to be perfect copies of REF_0 and REF_64 respectively. However, on my system, OUT_64 is a perfect copy of REF_0. This leads me to believe that the offsets contained within the qform/sform are not being respected properly, even though they all appear to set correctly in the various headers.
>>>>
>>>> If I run flirt with the -v option, I get the following warning:
>>>> WARNING: Both reference and input images have an sform matrix set
>>>> The output image will use the sform from the reference image
>>>>
>>>> Is there anyway I can get OUT_64 to match REF_64? Is this a bug?
>>>>
>>>> Thanks in advance.
>>>>
>>>> Dr Tobias Wood
>>>> King's College London, Department of Neuroimaging
>>>> [log in to unmask]
>> <input_hd.txt><out0_hd.txt><out96_hd.txt><ref0_hd.txt><ref96_hd.txt>
>
|