From 8f72b9697f7e15b9af44cac6231586946bc151b4 Mon Sep 17 00:00:00 2001
From: Andreas Schenk <andreas_schenk@hms.harvard.edu>
Date: Wed, 1 Aug 2012 16:38:10 -0400
Subject: [PATCH] added sanity check in spider io to allow reading old images
 (with number of slices= -1)

---
 modules/io/src/img/map_io_spi_handler.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/modules/io/src/img/map_io_spi_handler.cc b/modules/io/src/img/map_io_spi_handler.cc
index 6f5e1798b..feb9cb2a2 100644
--- a/modules/io/src/img/map_io_spi_handler.cc
+++ b/modules/io/src/img/map_io_spi_handler.cc
@@ -106,7 +106,7 @@ public:
     }
   }
 
-  float fNslice;  // nr of slices (1 for an image, negative nr of slices for new long label format
+  float fNslice;  // nr of slices (1 for an image, negative nr of slices indicates very old 2d image
   float fNrow;    // nr row per slice (Y)
   float fNrec;    // total nr of records (unused).
   float fNlabel;  // obsolete, unused
@@ -255,6 +255,9 @@ void header_filler(std::istream& in,  spider_header& header)
 {
   BinaryIStream<CONVERSIONTYPE> f(in);
   f >> header.fNslice;  
+  if(header.fNslice<1.0){
+    header.fNslice=1.0; // fix for very old 2d images with Nslice=-1
+  }
   f >> header.fNrow;  
   f >> header.fNrec;    
   f >> header.fNlabel; 
-- 
GitLab