Changeset 6852


Ignore:
Timestamp:
08/27/10 14:32:20 (9 years ago)
Author:
melissa
Message:

Prevent a bunch of NPEs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/components/bio-formats/src/loci/formats/in/NativeND2Reader.java

    r6823 r6852  
    813813 
    814814    // populate Dimensions data 
    815     for (int i=0; i<getSeriesCount(); i++) { 
    816       store.setPixelsPhysicalSizeX(handler.getPixelSizeX(), i); 
    817       store.setPixelsPhysicalSizeY(handler.getPixelSizeY(), i); 
    818       store.setPixelsPhysicalSizeZ(handler.getPixelSizeZ(), i); 
     815    if (handler != null) { 
     816      for (int i=0; i<getSeriesCount(); i++) { 
     817        store.setPixelsPhysicalSizeX(handler.getPixelSizeX(), i); 
     818        store.setPixelsPhysicalSizeY(handler.getPixelSizeY(), i); 
     819        store.setPixelsPhysicalSizeZ(handler.getPixelSizeZ(), i); 
     820      } 
    819821    } 
    820822 
    821823    // populate PlaneTiming and StagePosition data 
    822     ArrayList<Double> exposureTime = handler.getExposureTimes(); 
     824    ArrayList<Double> exposureTime = null; 
     825    if (handler != null) handler.getExposureTimes(); 
    823826    for (int i=0; i<getSeriesCount(); i++) { 
    824827      if (tsT.size() > 0) { 
     
    832835 
    833836          int index = i * getSizeC() + coords[1]; 
    834           if (index < exposureTime.size()) { 
     837          if (exposureTime != null && index < exposureTime.size()) { 
    835838            store.setPlaneExposureTime(exposureTime.get(index), i, n); 
    836839          } 
     
    838841      } 
    839842 
    840       if (posX == null) posX = handler.getXPositions(); 
    841       if (posY == null) posY = handler.getYPositions(); 
    842       if (posZ == null) posZ = handler.getZPositions(); 
    843  
     843      if (handler != null) { 
     844        if (posX == null) posX = handler.getXPositions(); 
     845        if (posY == null) posY = handler.getYPositions(); 
     846        if (posZ == null) posZ = handler.getZPositions(); 
     847      } 
     848 
     849      String pos = "for position #" + (i + 1); 
    844850      for (int n=0; n<getImageCount(); n++) { 
    845851        int index = i * getImageCount() + n; 
    846         if (index >= posX.size()) index = i; 
    847         if (index < posX.size()) { 
    848           store.setPlanePositionX(posX.get(index), i, n); 
    849           addSeriesMeta("X position " + (i + 1), posX.get(index)); 
    850           addGlobalMeta("X position for position #" + (i + 1), posX.get(index)); 
    851         } 
    852         if (index < posY.size()) { 
    853           store.setPlanePositionY(posY.get(index), i, n); 
    854           addSeriesMeta("Y position " + (i + 1), posY.get(index)); 
    855           addGlobalMeta("Y position for position #" + (i + 1), posY.get(index)); 
    856         } 
    857         if (index < posZ.size()) { 
    858           store.setPlanePositionZ(posZ.get(index), i, n); 
    859           String key = 
    860             "Z position for position #" + (i + 1) + ", plane #" + (n + 1); 
    861           addSeriesMeta(key, posZ.get(index)); 
    862           addGlobalMeta(key, posZ.get(index)); 
    863         } 
    864  
    865       } 
     852        if (posX != null) { 
     853          if (index >= posX.size()) index = i; 
     854          if (index < posX.size()) { 
     855            String key = "X position "; 
     856            store.setPlanePositionX(posX.get(index), i, n); 
     857            addSeriesMeta(key + (i + 1), posX.get(index)); 
     858            addGlobalMeta(key + pos, posX.get(index)); 
     859          } 
     860        } 
     861        if (posY != null) { 
     862          if (index < posY.size()) { 
     863            String key = "Y position "; 
     864            store.setPlanePositionY(posY.get(index), i, n); 
     865            addSeriesMeta(key + (i + 1), posY.get(index)); 
     866            addGlobalMeta(key + pos, posY.get(index)); 
     867          } 
     868        } 
     869        if (posZ != null) { 
     870          if (index < posZ.size()) { 
     871            store.setPlanePositionZ(posZ.get(index), i, n); 
     872            String key = "Z position " + pos + ", plane #" + (n + 1); 
     873            addSeriesMeta(key, posZ.get(index)); 
     874            addGlobalMeta(key, posZ.get(index)); 
     875          } 
     876        } 
     877      } 
     878    } 
     879 
     880    if (handler == null) { 
     881      setSeries(0); 
     882      return; 
    866883    } 
    867884 
Note: See TracChangeset for help on using the changeset viewer.