From 5e571a13887928d1954206cce71401a6c1150908 Mon Sep 17 00:00:00 2001
From: Matthew Webster <mwebster@fmrib.ox.ac.uk>
Date: Mon, 1 Oct 2018 14:42:11 +0000
Subject: [PATCH] deal with lower-dim vols

---
 fslmerge.cc | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/fslmerge.cc b/fslmerge.cc
index b7214a3..57ddcc4 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]));
-- 
GitLab