diff --git a/fslmerge.cc b/fslmerge.cc index b7214a30724360bc5076c4b71f749ab0ba837695..57ddcc41a9649378cad90a18e9c26641c596eb2c 100755 --- a/fslmerge.cc +++ b/fslmerge.cc @@ -44,7 +44,7 @@ int fmrib_main(int argc, char *argv[]) return(1); } - int xdimtot(header.dim[1]), ydimtot(header.dim[2]), zdimtot(header.dim[3]), tdimtot(header.dim[4]); + int xdimtot(max(header.dim[1],1L)), ydimtot(max(header.dim[2],1L)), zdimtot(max(header.dim[3],1L)), tdimtot(max(header.dim[4],1L)); if(direction==4) { @@ -55,10 +55,10 @@ int fmrib_main(int argc, char *argv[]) for(int vol = 4; vol < argc; vol++) { header=reader.loadHeader(return_validimagefilename(string(argv[vol]))); - if (direction==0) tdimtot+=header.dim[4]; - if (direction==1) xdimtot+=header.dim[1]; - if (direction==2) ydimtot+=header.dim[2]; - if (direction==3) zdimtot+=header.dim[3]; + if (direction==0) tdimtot+=max(header.dim[4],1L); + if (direction==1) xdimtot+=max(header.dim[1],1L); + if (direction==2) ydimtot+=max(header.dim[2],1L); + if (direction==3) zdimtot+=max(header.dim[3],1L); } volume4D<T> output_volume(xdimtot,ydimtot,zdimtot,tdimtot); read_volume4D(input_volume,string(argv[3]));