Dear Helen,
> I am working through fieldmap correction pipelines using topup and applytopup. When I run the topup command, the resulting fieldcoef file I get has a different voxel size and number than the b0 files I entered. I used the default b02b0.cnf config file. Can someone explain why this happened and how to fix it? I'm assuming the fieldcoef file I feed into applytopup should have the same voxel size and number as the EPI volumes I would like to correct.
the _fieldcoef file is a file that contains the weights of a spline basis-set representation of the field. As long as the knot-spacing of these splines is greater than 1 voxel one can represent the field with fewer weights than the number of voxels. Let’s say for example that the knot-spacing is 2 voxels in each direction. That means that the number of basis functions in each direction is ~half (~ because of edge effect) the number of voxels in each direction. So if your image is 128x128x96 the number of coefficients you need is ~ 64x64x48.
In short, what you see is perfectly normal.
Jesper
>
>
> Thank you in advance for any recommendations.
> Dr. Helen Weng
> University of California, San Francisco
>
> Topup command:
> topup --imain=both_b0_z60 --datain=my_acq_param.txt --config=b02b0.cnf --out=topup_rpi
>
> both_b0_z60 data structure:
> Data Axes Orientation:
> first (x) = Right-to-Left
> second (y) = Posterior-to-Anterior
> third (z) = Inferior-to-Superior [-orient RPI]
> R-to-L extent: -111.925 [R] -to- 105.684 [L] -step- 2.391 mm [ 92 voxels]
> A-to-P extent: -107.918 [A] -to- 109.691 [P] -step- 2.391 mm [ 92 voxels]
> I-to-S extent: -67.549 [I] -to- 73.538 [S] -step- 2.391 mm [ 60 voxels]
>
> output file topup_rpi data structure:
> Data Axes Orientation:
> first (x) = Left-to-Right
> second (y) = Posterior-to-Anterior
> third (z) = Inferior-to-Superior [-orient LPI]
> R-to-L extent: -140.000 [R] -to- -92.000 [R] -step- 1.000 mm [ 49 voxels]
> A-to-P extent: -140.000 [A] -to- -92.000 [A] -step- 1.000 mm [ 49 voxels]
> I-to-S extent: 60.000 [S] -to- 92.000 [S] -step- 1.000 mm [ 33 voxels]
>
> b02b0.cnf config file:
>
> # Resolution (knot-spacing) of warps in mm
> --warpres=20,16,14,12,10,6,4,4,4
> # Subsampling level (a value of 2 indicates that a 2x2x2 neighbourhood is collapsed to 1 voxel)
> --subsamp=2,2,2,2,2,1,1,1,1
> # FWHM of gaussian smoothing
> --fwhm=8,6,4,3,3,2,1,0,0
> # Maximum number of iterations
> --miter=5,5,5,5,5,10,10,20,20
> # Relative weight of regularisation
> --lambda=0.005,0.001,0.0001,0.000015,0.000005,0.0000005,0.00000005,0.0000000005,0.00000000001
> # If set to 1 lambda is multiplied by the current average squared difference
> --ssqlambda=1
> # Regularisation model
> --regmod=bending_energy
> # If set to 1 movements are estimated along with the field
> --estmov=1,1,1,1,1,0,0,0,0
> # 0=Levenberg-Marquardt, 1=Scaled Conjugate Gradient
> --minmet=0,0,0,0,0,1,1,1,1
> # Quadratic or cubic splines
> --splineorder=3
> # Precision for calculation and storage of Hessian
> --numprec=double
> # Linear or spline interpolation
> --interp=spline
> # If set to 1 the images are individually scaled to a common mean intensity
> --scale=1
|