Changeset 6258


Ignore:
Timestamp:
05/10/10 14:41:53 (10 years ago)
Author:
curtis
Message:

Fix bug with dimensional extents.

Location:
trunk/components/loci-plugins
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/components/loci-plugins/src/loci/plugins/in/DisplayHandler.java

    r6249 r6258  
    3030import ij.WindowManager; 
    3131 
    32 import java.awt.image.IndexColorModel; 
    3332import java.io.IOException; 
    3433import java.lang.reflect.Constructor; 
     
    4847import loci.formats.gui.XMLWindow; 
    4948import loci.formats.services.OMEXMLService; 
    50 import loci.plugins.colorize.Colorizer; 
    5149import loci.plugins.util.ROIHandler; 
    5250import loci.plugins.util.SearchableWindow; 
     
    117115 
    118116  /** Displays the given images according to the configured options. */ 
    119   public void displayImages(ImagePlus[] imps, String stackOrder, IndexColorModel[] colorModels) { 
    120     for (ImagePlus imp : imps) displayImage(imp, stackOrder, colorModels); 
     117  public void displayImages(ImagePlus[] imps) { 
     118    for (ImagePlus imp : imps) displayImage(imp); 
    121119  } 
    122120 
    123121  /** Displays the given image according to the configured options. */ 
    124   public void displayImage(ImagePlus imp, String stackOrder, IndexColorModel[] colorModels) { 
     122  public void displayImage(ImagePlus imp) { 
    125123    if (options.isViewNone()) return; 
    126124    else if (options.isViewStandard() || options.isViewHyperstack()) { 
    127       displayNormal(imp, stackOrder, colorModels); 
    128     } 
    129     else if (options.isViewBrowser()) displayDataBrowser(imp, stackOrder, colorModels); 
    130     else if (options.isViewImage5D()) displayImage5D(imp, stackOrder, colorModels); 
     125      displayNormal(imp); 
     126    } 
     127    else if (options.isViewBrowser()) displayDataBrowser(imp); 
     128    else if (options.isViewImage5D()) displayImage5D(imp); 
    131129    else if (options.isViewView5D()) displayView5D(imp); 
    132130    else if (options.isViewVisBio()) displayVisBio(imp); 
     
    140138   * imp.setOpenAsHyperStack(true) has been called. 
    141139   */ 
    142   public void displayNormal(ImagePlus imp, String stackOrder, 
    143     IndexColorModel[] colorModels) 
    144   { 
    145     IFormatReader r = options.getReader(); 
    146     boolean windowless = options.isWindowless(); 
    147  
    148     if (!options.isConcatenate() && options.isMergeChannels()) imp.show(); 
    149  
    150     if (imp.isVisible() && !options.isVirtual()) { 
    151       String mergeOptions = windowless ? options.getMergeOption() : null; 
    152       imp = Colorizer.colorize(imp, true, stackOrder, null, r.getSeries(), mergeOptions, options.isViewHyperstack()); 
    153       // CTR TODO finish this 
    154       if (WindowManager.getCurrentImage().getID() != imp.getID()) imp.close(); 
    155     } 
     140  public void displayNormal(ImagePlus imp) { 
     141//    IFormatReader r = options.getReader(); 
     142//    boolean windowless = options.isWindowless(); 
     143 
     144//    if (!options.isConcatenate() && options.isMergeChannels()) imp.show(); 
     145 
     146    // CTR CHECK 
     147    //if (imp.isVisible() && !options.isVirtual()) { 
     148    //  String mergeOptions = windowless ? options.getMergeOption() : null; 
     149    //  imp = Colorizer.colorize(imp, true, stackOrder, null, r.getSeries(), mergeOptions, options.isViewHyperstack()); 
     150    //  // CTR TODO finish this 
     151    //  if (WindowManager.getCurrentImage().getID() != imp.getID()) imp.close(); 
     152    //} 
    156153 
    157154    // NB: ImageJ 1.39+ is required for hyperstacks 
    158155 
    159     if (!options.isConcatenate()) { 
    160       boolean hyper = options.isViewHyperstack() || options.isViewBrowser(); 
    161  
    162       boolean splitC = options.isSplitChannels(); 
    163       boolean splitZ = options.isSplitFocalPlanes(); 
    164       boolean splitT = options.isSplitTimepoints(); 
    165  
    166       boolean customColorize = options.isCustomColorize(); 
    167       boolean browser = options.isViewBrowser(); 
    168       boolean virtual = options.isVirtual(); 
    169  
    170       if (options.isColorize() || customColorize) { 
    171         byte[][][] lut = 
    172           Colorizer.makeDefaultLut(imp.getNChannels(), customColorize ? -1 : 0); 
    173         imp = Colorizer.colorize(imp, true, stackOrder, lut, r.getSeries(), null, options.isViewHyperstack()); 
    174       } 
    175       else if (colorModels != null && !browser && !virtual) { 
    176         byte[][][] lut = new byte[colorModels.length][][]; 
    177         for (int channel=0; channel<lut.length; channel++) { 
    178           lut[channel] = new byte[3][256]; 
    179           colorModels[channel].getReds(lut[channel][0]); 
    180           colorModels[channel].getGreens(lut[channel][1]); 
    181           colorModels[channel].getBlues(lut[channel][2]); 
    182         } 
    183         imp = Colorizer.colorize(imp, true, 
    184           stackOrder, lut, r.getSeries(), null, hyper); 
    185       } 
    186  
    187       // CTR FIXME 
    188       //if (splitC || splitZ || splitT) { 
    189       //  imp = Slicer.reslice(imp, splitC, splitZ, splitT, hyper, stackOrder); 
    190       //} 
    191     } 
     156//    if (!options.isConcatenate()) { 
     157//      boolean hyper = options.isViewHyperstack() || options.isViewBrowser(); 
     158// 
     159//      boolean splitC = options.isSplitChannels(); 
     160//      boolean splitZ = options.isSplitFocalPlanes(); 
     161//      boolean splitT = options.isSplitTimepoints(); 
     162// 
     163//      boolean customColorize = options.isCustomColorize(); 
     164//      boolean browser = options.isViewBrowser(); 
     165//      boolean virtual = options.isVirtual(); 
     166// 
     167//      if (options.isColorize() || customColorize) { 
     168//        byte[][][] lut = 
     169//          Colorizer.makeDefaultLut(imp.getNChannels(), customColorize ? -1 : 0); 
     170//        imp = Colorizer.colorize(imp, true, stackOrder, lut, r.getSeries(), null, options.isViewHyperstack()); 
     171//      } 
     172//      else if (colorModels != null && !browser && !virtual) { 
     173//        byte[][][] lut = new byte[colorModels.length][][]; 
     174//        for (int channel=0; channel<lut.length; channel++) { 
     175//          lut[channel] = new byte[3][256]; 
     176//          colorModels[channel].getReds(lut[channel][0]); 
     177//          colorModels[channel].getGreens(lut[channel][1]); 
     178//          colorModels[channel].getBlues(lut[channel][2]); 
     179//        } 
     180//        imp = Colorizer.colorize(imp, true, 
     181//          stackOrder, lut, r.getSeries(), null, hyper); 
     182//      } 
     183// 
     184//      // CTR FIXME 
     185//      if (splitC || splitZ || splitT) { 
     186//        imp = Slicer.reslice(imp, splitC, splitZ, splitT, hyper, stackOrder); 
     187//      } 
     188//    } 
    192189 
    193190    imp.show(); 
    194191  } 
    195192 
    196   public void displayDataBrowser(ImagePlus imp, String stackOrder, 
    197       IndexColorModel[] colorModels) 
    198   { 
     193  public void displayDataBrowser(ImagePlus imp) { 
    199194    // NB: Use regular hyperstack display for now, since 
    200195    // recent versions of ImageJ v1.43+ broke DataBrowser 
    201196    // by removing the sliceSelector field. 
    202     displayNormal(imp, stackOrder, colorModels); 
     197    displayNormal(imp); 
    203198 
    204199//    IFormatReader r = options.getReader(); 
     
    208203  } 
    209204 
    210   public void displayImage5D(ImagePlus imp, String stackOrder, IndexColorModel[] colorModels) { 
    211     displayNormal(imp, stackOrder, colorModels); //TEMP? 
     205  public void displayImage5D(ImagePlus imp) { 
     206    WindowManager.setTempCurrentImage(imp); 
    212207 
    213208    IFormatReader r = options.getReader(); 
  • trunk/components/loci-plugins/src/loci/plugins/in/ImagePlusReader.java

    r6247 r6258  
    3535import ij.process.ShortProcessor; 
    3636 
    37 import java.awt.image.IndexColorModel; 
    3837import java.io.File; 
    3938import java.io.IOException; 
     
    8281  protected List<StatusListener> listeners = new Vector<StatusListener>(); 
    8382 
    84   public String stackOrder;//TEMP! 
    85   public IndexColorModel[] colorModels;//TEMP! 
    86  
    8783  // -- Constructors -- 
    8884 
     
    137133 
    138134    ImageProcessorReader r = options.getReader(); 
    139     stackOrder = null; 
    140     colorModels = null; 
    141135 
    142136    if (options.isVirtual()) { 
     
    215209 
    216210      int q = 0; 
    217       stackOrder = options.getStackOrder(); 
     211      String stackOrder = options.getStackOrder(); 
    218212      if (stackOrder.equals(ImporterOptions.ORDER_DEFAULT)) { 
    219213        stackOrder = r.getDimensionOrder(); 
     
    266260      } 
    267261      else { 
    268         if (r.isIndexed()) colorModels = new IndexColorModel[r.getSizeC()]; 
     262        // CTR CHECK 
     263        //if (r.isIndexed()) colorModels = new IndexColorModel[r.getSizeC()]; 
    269264 
    270265        for (int i=0; i<r.getImageCount(); i++) { 
     
    298293          } 
    299294 
    300           int channel = r.getZCTCoords(i)[1]; 
    301           if (colorModels != null && p.length == 1) { 
    302             colorModels[channel] = (IndexColorModel) ip.getColorModel(); 
    303           } 
     295          // CTR CHECK 
     296          //int channel = r.getZCTCoords(i)[1]; 
     297          //if (colorModels != null && p.length == 1) { 
     298          //  colorModels[channel] = (IndexColorModel) ip.getColorModel(); 
     299          //} 
    304300 
    305301          // add plane to image stack 
     
    337333      notifyListeners(new StatusEvent(1, 1, "Creating image")); 
    338334 
    339       ImagePlus impB = createImage(stackB, s, fi, stackOrder, colorModels); 
    340       ImagePlus impS = createImage(stackS, s, fi, stackOrder, colorModels); 
    341       ImagePlus impF = createImage(stackF, s, fi, stackOrder, colorModels); 
    342       ImagePlus impO = createImage(stackO, s, fi, stackOrder, colorModels); 
     335      ImagePlus impB = createImage(stackB, s, fi); 
     336      ImagePlus impS = createImage(stackS, s, fi); 
     337      ImagePlus impF = createImage(stackF, s, fi); 
     338      ImagePlus impO = createImage(stackO, s, fi); 
    343339      if (impB != null) imps.add(impB); 
    344340      if (impS != null) imps.add(impS); 
     
    347343    } 
    348344 
    349     Concatenator concatenator = new Concatenator(options); 
    350     imps = concatenator.concatenate(imps, stackOrder); 
     345    // CTR CHECK 
     346    //Concatenator concatenator = new Concatenator(options); 
     347    //imps = concatenator.concatenate(imps, stackOrder); 
    351348 
    352349    // end timing 
     
    369366   * the specified parameters and import options. 
    370367   */ 
    371   private ImagePlus createImage(ImageStack stack, 
    372     int series, FileInfo fi, String stackOrder, IndexColorModel[] colorModels) 
    373   { 
     368  private ImagePlus createImage(ImageStack stack, int series, FileInfo fi) { 
    374369    if (stack == null) return null; 
    375370 
     
    381376    int tCount = options.getTCount(series); 
    382377    IFormatReader r = options.getReader(); 
     378     
     379    if (cCount == 0) cCount = r.getEffectiveSizeC(); 
     380    if (zCount == 0) zCount = r.getSizeZ(); 
     381    if (tCount == 0) tCount = r.getSizeT(); 
    383382 
    384383    String title = getTitle(r, file, seriesName, options.isGroupFiles()); 
  • trunk/components/loci-plugins/src/loci/plugins/in/Importer.java

    r6247 r6258  
    8787 
    8888      BF.debug("display pixels"); 
    89       displayHandler.displayImages(imps, ipr.stackOrder, ipr.colorModels); 
     89      displayHandler.displayImages(imps); 
    9090 
    9191      BF.debug("display ROIs"); 
  • trunk/components/loci-plugins/src/loci/plugins/in/SeriesDialog.java

    r6247 r6258  
    4848 
    4949import loci.formats.FormatTools; 
    50 import loci.formats.IFormatReader; 
    5150import loci.formats.gui.AWTImageTools; 
    5251import loci.formats.gui.BufferedImageReader; 
  • trunk/components/loci-plugins/test/loci/plugins/in/ImporterTest.java

    r6253 r6258  
     1// 
     2// ImporterTest.java 
     3// 
     4 
    15package loci.plugins.in; 
    26 
    3 import static org.junit.Assert.*; 
     7import static org.junit.Assert.assertEquals; 
     8import static org.junit.Assert.assertNotNull; 
     9import static org.junit.Assert.assertTrue; 
     10import static org.junit.Assert.fail; 
     11 
    412import ij.ImagePlus; 
    513import ij.ImageStack; 
     
    205213    assertEquals(t,ip.getNFrames()); 
    206214    */ 
     215    if (z != getSizeZ(ip)) { new ij.ImageJ(); ip.show(); }//TEMP 
    207216    assertEquals(z,getSizeZ(ip)); 
    208217    assertEquals(t,getSizeT(ip)); 
Note: See TracChangeset for help on using the changeset viewer.