Index: trunk/Ohana/src/opihi/cmd.data/impeaks.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/impeaks.c	(revision 40383)
+++ trunk/Ohana/src/opihi/cmd.data/impeaks.c	(revision 40398)
@@ -100,4 +100,5 @@
   int Npeaks = 0;
   for (ix = 1; ix < Nx - 1; ix++) {
+    if (!isfinite(row[ix])) continue; // ignore NAN values
     if (row[ix] <  threshold) continue;   // only accept pixels above threshold
     if (row[ix] <  row[ix - 1]) continue; // peak pixel must be at least preceeding pixel
Index: trunk/Ohana/src/opihi/cmd.data/sort.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/sort.c	(revision 40383)
+++ trunk/Ohana/src/opihi/cmd.data/sort.c	(revision 40398)
@@ -7,5 +7,7 @@
   itmp = IDX[A]; IDX[A] = IDX[B]; IDX[B] = itmp; \
 }
-# define COMPARE(A,B)(X[A] < X[B])
+
+// # define COMPARE(A,B)(X[A] < X[B])
+# define COMPARE(A,B)((!isfinite(X[A]) && isfinite(X[B])) || (X[A] < X[B]))
 
   OHANA_SORT (N, COMPARE, SWAPFUNC);
@@ -22,5 +24,7 @@
   itmp = IDX[A]; IDX[A] = IDX[B]; IDX[B] = itmp; \
 }
+
 # define COMPARE(A,B)(X[A] < X[B])
+// # define COMPARE(A,B)((!isfinite(X[A]) && isfinite(X[B])) || (X[A] < X[B]))
 
   OHANA_SORT (N, COMPARE, SWAPFUNC);
