Changeset 2351


Ignore:
Timestamp:
02/28/07 07:50:17 (13 years ago)
Author:
melissa
Message:

Fixed various problems with the importer that caused the "ignore color
tables" option to break. Also fixed a bug with 2-channel data in the
Leica reader.

Location:
trunk/loci
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/formats/in/LeicaReader.java

    r2323 r2351  
    175175  } 
    176176 
     177  /* 
     178  public byte[] openBytes(String id, int no, byte[] buf) 
     179    throws FormatException, IOException 
     180  { 
     181    if (!id.equals(currentId)) initFile(id); 
     182    if (no < 0 || no >= getImageCount(id)) { 
     183      throw new FormatException("Invalid image number: " + no); 
     184    } 
     185    tiff[series][no].setColorTableIgnored(ignoreColorTable); 
     186    tiff[series][no].openBytes((String) files[series].get(no), 0, buf); 
     187    tiff[series][no].close(); 
     188    updateMinMax(buf, no); 
     189    return buf; 
     190  } 
     191  */ 
     192   
    177193  /** Obtains the specified image from the given Leica file. */ 
    178194  public BufferedImage openImage(String id, int no) 
     
    190206    BufferedImage b = 
    191207      tiff[series][no].openImage((String) files[series].get(no), 0); 
    192     ColorModel cm = ImageTools.makeColorModel(b.getRaster().getNumBands(), 
     208    ColorModel cm = ImageTools.makeColorModel(getRGBChannelCount(id), 
    193209      b.getRaster().getTransferType(), validBits[series]); 
    194210    b = ImageTools.makeBuffered(b, cm); 
     
    10431059 
    10441060      for (int i=0; i<validBits.length; i++) { 
    1045         validBits[i] = new int[sizeC[i]]; 
     1061        validBits[i] = new int[sizeC[i] == 2 ? 3 : sizeC[i]]; 
    10461062        for (int j=0; j<validBits[i].length; j++) { 
    10471063          validBits[i][j] = v.intValue(); 
  • trunk/loci/plugins/Importer.java

    r2348 r2351  
    303303 
    304304      int pixelType = r.getPixelType(id); 
     305      r.setColorTableIgnored(ignoreTables); 
    305306 
    306307      if (stitchFiles) { 
     
    320321      } 
    321322      if (fs != null) { 
    322         r = new ChannelSeparator(fs); 
     323        if (!ignoreTables && r.isRGB(id)) r = new ChannelSeparator(fs); 
    323324      } 
    324325      else { 
    325         r = new ChannelSeparator(r); 
     326        if (!ignoreTables && r.isRGB(id)) r = new ChannelSeparator(r); 
    326327      } 
    327328      r.setColorTableIgnored(ignoreTables); 
    328329      r.close(); 
    329330      r.setMetadataFiltered(true); 
     331      r.setColorTableIgnored(ignoreTables); 
    330332 
    331333      // store OME metadata into OME-XML structure, if available 
     
    340342      r.close(); 
    341343      store = (OMEXMLMetadataStore) r.getMetadataStore(id); 
     344      r.setColorTableIgnored(ignoreTables); 
    342345 
    343346      // build descriptive string and range for each series 
     
    359362      for (int i=0; i<seriesCount; i++) { 
    360363        r.setSeries(id, i); 
     364        r.setColorTableIgnored(ignoreTables); 
    361365        num[i] = r.getImageCount(id); 
    362366        sizeC[i] = r.getEffectiveSizeC(id); 
     
    627631          if (!series[i]) continue; 
    628632          r.setSeries(id, i); 
     633          r.setColorTableIgnored(ignoreTables); 
    629634 
    630635          String name = store.getImageName(new Integer(i)); 
     
    855860            displayStack(imp, r, fs, id); 
    856861            r.close(); 
     862            r.setColorTableIgnored(ignoreTables); 
    857863          } 
    858864 
     
    11641170      } 
    11651171 
    1166       imp.setDimensions(r.getSizeC(id) / (mergeChannels ? 3 : 1),  
     1172      imp.setDimensions( 
     1173        imp.getStackSize() / (imp.getNSlices() * imp.getNFrames()),  
    11671174        imp.getNSlices(), imp.getNFrames()); 
    11681175      if (stackFormat.equals(VIEW_STANDARD)) { 
Note: See TracChangeset for help on using the changeset viewer.