Changeset 3244


Ignore:
Timestamp:
10/08/07 13:58:42 (12 years ago)
Author:
melissa
Message:

Added option to open each plane in a separate window; fixed CustomImage bug.

Location:
trunk/loci/plugins
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/plugins/CustomImage.java

    r3196 r3244  
    4343    this.t = t; 
    4444    this.channels = channels; 
    45     this.order = order; 
     45    this.order = "XYCTZ"; 
    4646    this.autoscale = autoscale; 
     47 
     48    if (!this.order.equals(order)) { 
     49      // reorder stack 
     50      ImageStack oldStack = imp.getStack(); 
     51      ImageStack newStack = 
     52        new ImageStack(oldStack.getWidth(), oldStack.getHeight()); 
     53 
     54      for (int zz=0; zz<z; zz++) { 
     55        for (int tt=0; tt<t; tt++) { 
     56          for (int cc=0; cc<channels; cc++) { 
     57            int ndx = FormatTools.getIndex(order, z, channels, t, 
     58              oldStack.getSize(), zz, cc, tt) + 1; 
     59            newStack.addSlice(oldStack.getSliceLabel(ndx), 
     60              oldStack.getProcessor(ndx)); 
     61          } 
     62        } 
     63      } 
     64 
     65      imp.setStack(imp.getTitle(), newStack); 
     66    } 
     67 
    4768    ImageStack stack2; 
    4869                boolean isRGB = imp.getBitDepth() == 24; 
  • trunk/loci/plugins/Importer.java

    r3243 r3244  
    805805    } 
    806806    else if (!options.isViewNone()) { 
    807       if (!concatenate) imp.show(); 
    808       else imps.add(imp); 
     807      if (options.isIndividualWindows() && !(imp instanceof CustomImage)) { 
     808        ImageStack is = imp.getStack(); 
     809        for (int i=0; i<is.getSize(); i++) { 
     810          ImageStack s = new ImageStack(is.getWidth(), is.getHeight()); 
     811          int ndx = i + 1; 
     812          s.addSlice(is.getSliceLabel(ndx), is.getProcessor(ndx)); 
     813 
     814          ImagePlus p = new ImagePlus(imp.getTitle(), s); 
     815          if (!concatenate) p.show(); 
     816          else imps.add(p); 
     817        } 
     818      } 
     819      else if (options.isIndividualWindows()) { 
     820        ImageStack is = imp.getStack(); 
     821 
     822        for (int zz=0; zz<r.getSizeZ(); zz++) { 
     823          for (int tt=0; tt<r.getSizeT(); tt++) { 
     824            ImageStack s = new ImageStack(is.getWidth(), is.getHeight()); 
     825            for (int cc=0; cc<r.getSizeC(); cc++) { 
     826              int ndx = FormatTools.getIndex("XYCTZ", r.getSizeZ(), 
     827                r.getSizeC(), r.getSizeT(), is.getSize(), zz, cc, tt) + 1; 
     828              s.addSlice(is.getSliceLabel(ndx), is.getProcessor(ndx)); 
     829            } 
     830            ImagePlus p = new ImagePlus(imp.getTitle(), s); 
     831            CustomImage custom = new CustomImage(p, "XYCTZ", 1, 1, 
     832              r.getSizeC(), options.isAutoscale()); 
     833            if (!concatenate) custom.show(); 
     834            else imps.add(custom); 
     835          } 
     836        } 
     837      } 
     838      else { 
     839        if (!concatenate) imp.show(); 
     840        else imps.add(imp); 
     841      } 
    809842    } 
    810843  } 
  • trunk/loci/plugins/ImporterOptions.java

    r3196 r3244  
    9595  public static final String PREF_COLORIZE = "bioformats.colorize"; 
    9696  public static final String PREF_SPLIT = "bioformats.splitWindows"; 
     97  public static final String PREF_INDIVIDUAL = "bioformats.individualWindows"; 
     98  public static final String PREF_SWAP = "bioformats.swapDimensions"; 
    9799  public static final String PREF_METADATA = "bioformats.showMetadata"; 
    98100  public static final String PREF_GROUP = "bioformats.groupFiles"; 
     
    110112  public static final String LABEL_SPLIT = 
    111113    "Open each channel in its own window"; 
     114  public static final String LABEL_INDIVIDUAL = 
     115    "Open each plane in its own window"; 
     116  public static final String LABEL_SWAP = "Specify stack organization";  
    112117  public static final String LABEL_METADATA = "Display associated metadata"; 
    113118  public static final String LABEL_GROUP = "Group files with similar names"; 
     
    128133  private Checkbox colorizeBox; 
    129134  private Checkbox splitBox; 
     135  private Checkbox individualBox; 
     136  private Checkbox swapBox; 
    130137  private Checkbox metadataBox; 
    131138  private Checkbox groupBox; 
     
    142149  private boolean colorize; 
    143150  private boolean splitWindows; 
     151  private boolean individualWindows; 
     152  private boolean swapDimensions; 
    144153  private boolean showMetadata; 
    145154  private boolean groupFiles; 
     
    165174  public boolean isColorize() { return colorize; } 
    166175  public boolean isSplitWindows() { return splitWindows; } 
     176  public boolean isIndividualWindows() { return individualWindows; } 
     177  public boolean isSwapDimensions() { return swapDimensions; } 
    167178  public boolean isShowMetadata() { return showMetadata; } 
    168179  public boolean isGroupFiles() { return groupFiles; } 
     
    198209  public void setColorize(boolean b) { colorize = b; } 
    199210  public void setSplitWindows(boolean b) { splitWindows = b; } 
     211  public void setIndividualWindows(boolean b) { individualWindows = b; } 
     212  public void setSwapDimensions(boolean b) { swapDimensions = b; } 
    200213  public void setShowMetadata(boolean b) { showMetadata = b; } 
    201214  public void setGroupFiles(boolean b) { groupFiles = b; } 
     
    212225    colorize = Prefs.get(PREF_COLORIZE, false); 
    213226    splitWindows = Prefs.get(PREF_SPLIT, true); 
     227    individualWindows = Prefs.get(PREF_INDIVIDUAL, false); 
     228    swapDimensions = Prefs.get(PREF_SWAP, false); 
    214229    showMetadata = Prefs.get(PREF_METADATA, false); 
    215230    groupFiles = Prefs.get(PREF_GROUP, false); 
     
    228243    Prefs.set(PREF_COLORIZE, colorize); 
    229244    Prefs.set(PREF_SPLIT, splitWindows); 
     245    Prefs.set(PREF_INDIVIDUAL, individualWindows); 
     246    Prefs.set(PREF_SWAP, swapDimensions); 
    230247    Prefs.set(PREF_METADATA, showMetadata); 
    231248    Prefs.set(PREF_GROUP, groupFiles); 
     
    264281      colorize = getMacroValue(arg, LABEL_COLORIZE, colorize); 
    265282      splitWindows = getMacroValue(arg, LABEL_COLORIZE, splitWindows); 
     283      individualWindows = 
     284        getMacroValue(arg, LABEL_INDIVIDUAL, individualWindows); 
     285      swapDimensions = getMacroValue(arg, LABEL_SWAP, swapDimensions); 
    266286      showMetadata = getMacroValue(arg, LABEL_METADATA, showMetadata); 
    267287      groupFiles = getMacroValue(arg, LABEL_GROUP, groupFiles); 
     
    428448    gd.addCheckbox(LABEL_COLORIZE, colorize); 
    429449    gd.addCheckbox(LABEL_SPLIT, splitWindows); 
     450    gd.addCheckbox(LABEL_INDIVIDUAL, individualWindows); 
     451    gd.addCheckbox(LABEL_SWAP, swapDimensions); 
    430452    gd.addCheckbox(LABEL_METADATA, showMetadata); 
    431453    gd.addCheckbox(LABEL_GROUP, groupFiles); 
     
    448470      colorizeBox = (Checkbox) boxes.get(1); 
    449471      splitBox = (Checkbox) boxes.get(2); 
    450       metadataBox = (Checkbox) boxes.get(3); 
    451       groupBox = (Checkbox) boxes.get(4); 
    452       concatenateBox = (Checkbox) boxes.get(5); 
    453       rangeBox = (Checkbox) boxes.get(6); 
    454       autoscaleBox = (Checkbox) boxes.get(7); 
     472      individualBox = (Checkbox) boxes.get(3); 
     473      swapBox = (Checkbox) boxes.get(4); 
     474      metadataBox = (Checkbox) boxes.get(5); 
     475      groupBox = (Checkbox) boxes.get(6); 
     476      concatenateBox = (Checkbox) boxes.get(7); 
     477      rangeBox = (Checkbox) boxes.get(8); 
     478      autoscaleBox = (Checkbox) boxes.get(9); 
    455479      for (int i=0; i<boxes.size(); i++) { 
    456480        ((Checkbox) boxes.get(i)).addItemListener(this); 
     
    466490    colorize = gd.getNextBoolean(); 
    467491    splitWindows = gd.getNextBoolean(); 
     492    individualWindows = gd.getNextBoolean(); 
     493    swapDimensions = gd.getNextBoolean(); 
    468494    showMetadata = gd.getNextBoolean(); 
    469495    groupFiles = gd.getNextBoolean(); 
Note: See TracChangeset for help on using the changeset viewer.