Index: trunk/psModules/src/camera/pmFPAview.c
===================================================================
--- trunk/psModules/src/camera/pmFPAview.c	(revision 19307)
+++ trunk/psModules/src/camera/pmFPAview.c	(revision 19351)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.15 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2008-08-05 02:16:06 $
+ *  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2008-09-04 03:09:21 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -380,41 +380,49 @@
     pmFPAview *view = pmFPAviewAlloc(0);// View to top
 
-    int numChips = 0;                   // Number of active chips
-    psArray *chips = fpa->chips;        // Chips of interest
-    for (int i = 0; i < chips->n; i++) {
-        pmChip *chip = chips->data[i];  // Chip of interest
-        if (!chip || !chip->file_exists) {
-            continue;
-        }
-        numChips++;
-        view->chip = i;
-
-        int numCells = 0;               // Number of active cells
-        psArray *cells = chip->cells;   // Cells of interest
-        for (int j = 0; j < cells->n; j++) {
-            pmCell *cell = cells->data[j]; // Cell of interest
-            if (!cell || !cell->file_exists) {
+    view->chip = -1;
+    view->cell = -1;
+    if (!fpa->hdu) {
+        int numChips = 0;                   // Number of active chips
+        psArray *chips = fpa->chips;        // Chips of interest
+        for (int i = 0; i < chips->n; i++) {
+            pmChip *chip = chips->data[i];  // Chip of interest
+            if (!chip) {
                 continue;
             }
-            numCells++;
-            view->cell = j;
+            if (chip->hdu) {
+                numChips++;
+                view->chip = i;
+            } else {
+                int numCells = 0;               // Number of active cells
+                psArray *cells = chip->cells;   // Cells of interest
+                for (int j = 0; j < cells->n; j++) {
+                    pmCell *cell = cells->data[j]; // Cell of interest
+                    if (!cell) {
+                        continue;
+                    }
+                    if (cell->hdu) {
+                        numCells++;
+                        view->cell = j;
+                    }
+                }
+
+                if (numCells > 1) {
+                    if (numCells != cells->n) {
+                        psWarning("More than one, but not all cells are active.");
+                    }
+                    view->cell = -1;
+                }
+            }
         }
 
-        if (numCells > 1) {
-            if (numCells != cells->n) {
-                psWarning("More than one, but not all cells are active.");
+        if (numChips > 1) {
+            if (numChips != chips->n) {
+                psWarning("More than one, but not all chips are active.");
             }
+            view->chip = -1;
             view->cell = -1;
         }
     }
 
-    if (numChips > 1) {
-        if (numChips != chips->n) {
-            psWarning("More than one, but not all chips are active.");
-        }
-        view->chip = -1;
-        view->cell = -1;
-    }
-
     return view;
 }
