Changeset 7258


Ignore:
Timestamp:
11/26/10 17:31:18 (9 years ago)
Author:
melissa
Message:

Fixed ImagePlus retrieval methods so that the calibration is properly applied.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/components/loci-plugins/src/loci/plugins/macro/LociFunctions.java

    r7238 r7258  
    3333import java.util.Arrays; 
    3434 
     35import loci.common.Region; 
    3536import loci.common.services.DependencyException; 
    3637import loci.common.services.ServiceException; 
     
    4546import loci.formats.services.OMEXMLService; 
    4647import loci.plugins.BF; 
     48import loci.plugins.in.Calibrator; 
    4749import loci.plugins.in.ImagePlusReader; 
     50import loci.plugins.in.ImportProcess; 
     51import loci.plugins.in.ImporterOptions; 
    4852import loci.plugins.util.ImageProcessorReader; 
    4953import loci.plugins.util.LociPrefs; 
     
    186190    throws FormatException, IOException 
    187191  { 
    188     final ImageProcessor[] ip = r.openProcessors(no.intValue()); 
    189     final ImagePlus imp = ImagePlusReader.createImage(title, Arrays.asList(ip)); 
    190     imp.show(); 
     192    openSubImage(title, no, 0d, 0d, 
     193      new Double(r.getSizeX()), new Double(r.getSizeY())); 
    191194  } 
    192195 
     
    194197    Double w, Double h) throws FormatException, IOException 
    195198  { 
    196     ImageProcessor[] ip = r.openProcessors(no.intValue(), 
    197       x.intValue(), y.intValue(), w.intValue(), h.intValue()); 
    198     final ImagePlus imp = ImagePlusReader.createImage(title, Arrays.asList(ip)); 
     199    ImporterOptions options = new ImporterOptions(); 
     200    options.setWindowless(true); 
     201    options.setId(r.getCurrentFile()); 
     202    options.setCrop(true); 
     203    options.setSpecifyRanges(true); 
     204    options.setSeriesOn(r.getSeries(), true); 
     205 
     206    int[] zct = r.getZCTCoords(no.intValue()); 
     207    options.setCBegin(r.getSeries(), zct[1]); 
     208    options.setZBegin(r.getSeries(), zct[0]); 
     209    options.setTBegin(r.getSeries(), zct[2]); 
     210    options.setCEnd(r.getSeries(), zct[1]); 
     211    options.setZEnd(r.getSeries(), zct[0]); 
     212    options.setTEnd(r.getSeries(), zct[2]); 
     213 
     214    Region region = 
     215      new Region(x.intValue(), y.intValue(), w.intValue(), h.intValue()); 
     216    options.setCropRegion(r.getSeries(), region); 
     217 
     218    ImportProcess process = new ImportProcess(options); 
     219    process.execute(); 
     220 
     221    ImagePlusReader reader = new ImagePlusReader(process); 
     222    final ImagePlus imp = reader.openImagePlus()[0]; 
     223    Calibrator calibrator = new Calibrator(process); 
     224    calibrator.applyCalibration(imp); 
    199225    imp.show(); 
    200226  } 
Note: See TracChangeset for help on using the changeset viewer.