Changeset 5144


Ignore:
Timestamp:
06/01/09 11:13:22 (11 years ago)
Author:
melissa
Message:
  • A few ImageJ plugin fixes
  • Updated version number and what's new for release.
Location:
trunk/components
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/components/bio-formats/doc/whats-new.txt

    r4905 r5144  
     14.0.1 (2009 June 1): 
     2 
     3* Lots of bug fixes in most format readers and writers 
     4* Added support for Analyze 7.1 files 
     5* Added support for Nifti files 
     6* Added support for Cellomics .c01 files 
     7* Refactored ImageJ plugins 
     8* Bio-Formats, the common package, and the ImageJ plugins now require Java 1.5 
     9* Eliminated native library dependency for reading lossless JPEGs 
     10* Changed license from GPL v3 or later to GPL v2 or later 
     11* Updated Olympus FV1000, Zeiss LSM, Zeiss ZVI and Nikon ND2 readers to parse 
     12  ROI data 
     13* Added option to ImageJ plugin for displaying ROIs parsed from the chosen 
     14  dataset 
     15* Fixed BufferedImage construction for signed data and unsigned int data 
     16 
    1174.0.0 (2009 March 3): 
    218 
  • trunk/components/bio-formats/src/loci/formats/FormatTools.java

    r5093 r5144  
    125125 
    126126  /** Version number of this release. */ 
    127   public static final String VERSION = "4.0.0"; 
     127  public static final String VERSION = "4.0.1"; 
    128128 
    129129  // -- Constructor -- 
  • trunk/components/loci-plugins/src/loci/plugins/Colorizer.java

    r5140 r5144  
    280280            newImp = new CompositeImage(imp, CompositeImage.COMPOSITE); 
    281281          } 
    282           else closeOriginal = false; 
    283282        } 
    284283      } 
  • trunk/components/loci-plugins/src/loci/plugins/Slicer.java

    r5140 r5144  
    183183      if (imp.isComposite() && !sliceC) { 
    184184        p = ImagePlusTools.reorder(p, stackOrder, "XYCZT"); 
    185         new CompositeImage(p, CompositeImage.COMPOSITE).show(); 
     185        int mode = ((CompositeImage) imp).getMode(); 
     186        new CompositeImage(p, mode).show(); 
    186187      } 
    187188      else p.show(); 
  • trunk/components/loci-plugins/src/loci/plugins/importer/CropDialog.java

    r5138 r5144  
    7878    for (int i=0; i<series.length; i++) { 
    7979      if (!series[i]) continue; 
     80      r.setSeries(i); 
    8081      gd.addMessage(labels[i].replaceAll("_", " ")); 
    81       gd.addNumericField("X_Coordinate_" + i, 0, 0); 
    82       gd.addNumericField("Y_Coordinate_" + i, 0, 0); 
    83       gd.addNumericField("Width_" + i, 0, 0); 
    84       gd.addNumericField("Height_" + i, 0, 0); 
     82      gd.addNumericField("X_Coordinate_" + (i + 1), 0, 0); 
     83      gd.addNumericField("Y_Coordinate_" + (i + 1), 0, 0); 
     84      gd.addNumericField("Width_" + (i + 1), r.getSizeX(), 0); 
     85      gd.addNumericField("Height_" + (i + 1), r.getSizeY(), 0); 
    8586    } 
    8687    WindowTools.addScrollBars(gd); 
  • trunk/components/loci-plugins/src/loci/plugins/importer/Importer.java

    r5139 r5144  
    430430      int[] tCount = new int[seriesCount]; 
    431431      for (int i=0; i<seriesCount; i++) { 
     432        if (!series[i]) continue; 
    432433        cCount[i] = (cEnd[i] - cBegin[i] + cStep[i]) / cStep[i]; 
    433434        zCount[i] = (zEnd[i] - zBegin[i] + zStep[i]) / zStep[i]; 
     
    614615              if (pos[1] > 0) continue; 
    615616              String label = constructSliceLabel( 
    616                 new ChannelMerger(r).getIndex(pos[0], pos[1], pos[2]), r, 
    617                 omexmlMeta, i, zCount, cCount, tCount); 
     617                new ChannelMerger(r).getIndex(pos[0], pos[1], pos[2]), 
     618                new ChannelMerger(r), omexmlMeta, i, zCount, cCount, tCount); 
    618619              virtualStackB.addSlice(label); 
    619620            } 
     
    772773              " stack_order=" + stackOrder + " keep_original=false " + 
    773774              "hyper_stack=" + options.isViewHyperstack() + " "); 
     775            imp.close(); 
     776          } 
     777          if (mergeChannels && windowless) { 
     778            IJ.runPlugIn("loci.plugins.Colorizer", "stack_order=" + stackOrder + 
     779              " merge=true merge_option=[" + options.getMergeOption() + "] " + 
     780              "series=" + r.getSeries() + " hyper_stack=" + 
     781              options.isViewHyperstack() + " "); 
     782            imp.close(); 
     783          } 
     784          else if (mergeChannels) { 
     785            IJ.runPlugIn("loci.plugins.Colorizer", "stack_order=" + stackOrder + 
     786              " merge=true series=" + r.getSeries() + " hyper_stack=" + 
     787              options.isViewHyperstack() + " "); 
     788            imp.close(); 
    774789          } 
    775790        } 
     
    865880    if (!concatenate && mergeChannels) imp.show(); 
    866881 
    867     if (!options.isVirtual()) { 
     882    if (!options.isVirtual() && !concatenate) { 
    868883      if (mergeChannels && windowless) { 
    869884        IJ.runPlugIn("loci.plugins.Colorizer", "stack_order=" + stackOrder + 
     
    966981            " stack_order=" + stackOrder + " keep_original=false " + 
    967982            "hyper_stack=" + options.isViewHyperstack() + " "); 
     983          imp.close(); 
    968984        } 
    969985      } 
  • trunk/components/loci-plugins/src/loci/plugins/importer/SeriesDialog.java

    r5139 r5144  
    194194    seriesString += "]"; 
    195195 
    196     if (options.isConcatenate()) { 
    197       // toggle on compatible series 
    198       // TODO: why are we doing this? 
    199       for (int i=0; i<seriesCount; i++) { 
    200         if (series[i]) continue; 
    201  
    202         r.setSeries(i); 
    203         int sizeX = r.getSizeX(); 
    204         int sizeY = r.getSizeY(); 
    205         int pixelType = r.getPixelType(); 
    206         int sizeC = r.getSizeC(); 
    207  
    208         for (int j=0; j<seriesCount; j++) { 
    209           if (j == i || !series[j]) continue; 
    210           r.setSeries(j); 
    211           if (sizeX == r.getSizeX() && sizeY == r.getSizeY() && 
    212             pixelType == r.getPixelType() && sizeC == r.getSizeC()) 
    213           { 
    214             series[i] = true; 
    215             break; 
    216           } 
    217         } 
    218       } 
    219     } 
    220  
    221196    options.setSeries(seriesString); 
    222197    return STATUS_OK; 
  • trunk/components/loci-plugins/src/loci/plugins/importer/SwapDialog.java

    r5139 r5144  
    7575    int oldSeries = r.getSeries(); 
    7676    String[] labels = {"Z", "C", "T"}; 
     77    int[] sizes = new int[] {r.getSizeZ(), r.getSizeC(), r.getSizeT()}; 
    7778    for (int n=0; n<r.getSeriesCount(); n++) { 
    7879      if (!series[n]) continue; 
    7980      r.setSeries(n); 
    8081 
    81       gd.addMessage("Series " + n + ":\n"); 
     82      gd.addMessage("Series " + (n + 1) + ":\n"); 
    8283 
    8384      for (int i=0; i<labels.length; i++) { 
    84         gd.addChoice(i + "_planes", labels, labels[i]); 
     85        gd.addChoice(sizes[i] + "_planes", labels, labels[i]); 
    8586      } 
    8687    } 
  • trunk/components/loci-plugins/src/loci/plugins/shortcut/ShortcutPanel.java

    r5093 r5144  
    178178   */ 
    179179  public void open(String id) { 
    180     String arg = args[openerIndex] + "open=[" + id + "] "; 
     180    String arg = args[openerIndex] + "id=[" + id + "] "; 
    181181    runPlugIn(plugins[openerIndex], arg); 
    182182  } 
  • trunk/components/loci-plugins/src/loci/plugins/util/BFVirtualStack.java

    r5093 r5144  
    105105    // set up cache 
    106106    int[] subC = r.getChannelDimLengths(); 
     107    if (merge) subC = new int[] {new ChannelMerger(r).getEffectiveSizeC()}; 
    107108    len = new int[subC.length + 2]; 
    108109    System.arraycopy(subC, 0, len, 0, subC.length); 
  • trunk/components/loci-plugins/src/loci/plugins/util/ImagePlusReader.java

    r5093 r5144  
    228228      if (pixels instanceof byte[]) { 
    229229        byte[] q = (byte[]) pixels; 
    230         if (q.length > w * h) { 
     230        if (q.length != w * h) { 
    231231          byte[] tmp = q; 
    232232          q = new byte[w * h]; 
    233           System.arraycopy(tmp, 0, q, 0, q.length); 
     233          System.arraycopy(tmp, 0, q, 0, (int) Math.min(q.length, tmp.length)); 
    234234        } 
    235235        if (isSigned) q = DataTools.makeSigned(q); 
     
    240240      else if (pixels instanceof short[]) { 
    241241        short[] q = (short[]) pixels; 
    242         if (q.length > w * h) { 
     242        if (q.length != w * h) { 
    243243          short[] tmp = q; 
    244244          q = new short[w * h]; 
    245           System.arraycopy(tmp, 0, q, 0, q.length); 
     245          System.arraycopy(tmp, 0, q, 0, (int) Math.min(q.length, tmp.length)); 
    246246        } 
    247247        if (isSigned) q = DataTools.makeSigned(q); 
     
    251251      else if (pixels instanceof int[]) { 
    252252        int[] q = (int[]) pixels; 
    253         if (q.length > w * h) { 
     253        if (q.length != w * h) { 
    254254          int[] tmp = q; 
    255255          q = new int[w * h]; 
    256           System.arraycopy(tmp, 0, q, 0, q.length); 
     256          System.arraycopy(tmp, 0, q, 0, (int) Math.min(q.length, tmp.length)); 
    257257        } 
    258258 
     
    261261      else if (pixels instanceof float[]) { 
    262262        float[] q = (float[]) pixels; 
    263         if (q.length > w * h) { 
     263        if (q.length != w * h) { 
    264264          float[] tmp = q; 
    265265          q = new float[w * h]; 
    266           System.arraycopy(tmp, 0, q, 0, q.length); 
     266          System.arraycopy(tmp, 0, q, 0, (int) Math.min(q.length, tmp.length)); 
    267267        } 
    268268        ip[i] = new FloatProcessor(w, h, q, null); 
     
    270270      else if (pixels instanceof double[]) { 
    271271        double[] q = (double[]) pixels; 
    272         if (q.length > w * h) { 
     272        if (q.length != w * h) { 
    273273          double[] tmp = q; 
    274274          q = new double[w * h]; 
    275           System.arraycopy(tmp, 0, q, 0, q.length); 
     275          System.arraycopy(tmp, 0, q, 0, (int) Math.min(q.length, tmp.length)); 
    276276        } 
    277277        ip[i] = new FloatProcessor(w, h, q); 
Note: See TracChangeset for help on using the changeset viewer.