Changeset 4203


Ignore:
Timestamp:
07/17/08 09:12:13 (12 years ago)
Author:
melissa
Message:

More cleanup. Removed some unused methods from ImageTools, and moved loci.formats.codec.AdobeDeflateCodec to loci.formats.codec.ZlibCodec.

Location:
trunk/loci/formats
Files:
1 added
1 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/formats/ImageTools.java

    r4178 r4203  
    13761376  } 
    13771377 
    1378   /** Perform demosaicing on a byte array, assuming a {B, G, G, R} mosaic. */ 
    1379   public static short[][] demosaic(short[][] input, int w, int h) { 
    1380     for (int i=0; i<input[0].length; i++) { 
    1381       // determine which color components need to be calculated 
    1382  
    1383       boolean needsRed = !(((i / w) % 2 == 1) && ((i % w) % 2 == 1)); 
    1384       boolean needsBlue = !(((i / w) % 2 == 0) && ((i % w) % 2 == 0)); 
    1385       boolean needsGreen = needsBlue ^ needsRed; 
    1386  
    1387       if (needsRed) { 
    1388         int sum = 0; 
    1389         int count = 0; 
    1390  
    1391         int[] indices = null; 
    1392  
    1393         if (!needsBlue) { 
    1394           indices = new int[] {i - w - 1, i - w + 1, i + w - 1, i + w + 1}; 
    1395         } 
    1396         else if ((i / w) % 2 == 1) indices = new int[] {i - 1, i + 1}; 
    1397         else indices = new int[] {i - w, i + w}; 
    1398  
    1399         for (int j=0; j<indices.length; j++) { 
    1400           if (indices[j] < input[0].length && indices[j] >= 0) { 
    1401             sum += (int) input[0][indices[j]]; 
    1402             count++; 
    1403           } 
    1404         } 
    1405  
    1406         if (count > 0) { 
    1407           input[0][i] = (short) (sum / count); 
    1408         } 
    1409       } 
    1410  
    1411       if (needsGreen) { 
    1412         int sum = 0; 
    1413         int count = 0; 
    1414  
    1415         int[] indices = {i - w, i - 1, i + 1, i + w}; 
    1416  
    1417         for (int j=0; j<indices.length; j++) { 
    1418           if (indices[j] < input[0].length && indices[j] >= 0) { 
    1419             sum += (int) input[1][indices[j]]; 
    1420             count++; 
    1421           } 
    1422         } 
    1423  
    1424         if (count > 0) { 
    1425           input[1][i] = (short) (sum / count); 
    1426         } 
    1427       } 
    1428  
    1429       if (needsBlue) { 
    1430         int sum = 0; 
    1431         int count = 0; 
    1432  
    1433         int[] indices = null; 
    1434  
    1435         if (!needsRed) { 
    1436           indices = new int[] {i - w - 1, i - w + 1, i + w - 1, i + w + 1}; 
    1437         } 
    1438         else if ((i / w) % 2 == 1) indices = new int[] {i - w, i + w}; 
    1439         else indices = new int[] {i - 1, i + 1}; 
    1440  
    1441         for (int j=0; j<indices.length; j++) { 
    1442           if (indices[j] < input[0].length && indices[j] >= 0) { 
    1443             sum += (int) input[2][indices[j]]; 
    1444             count++; 
    1445           } 
    1446         } 
    1447  
    1448         if (count > 0) { 
    1449           input[2][i] = (short) (sum / count); 
    1450         } 
    1451       } 
    1452     } 
    1453  
    1454     // Before returning, perform convolution with a 5x5 pseudo-Gaussian filter. 
    1455     // This is *not* an optimal filter, but it works reasonably well. 
    1456  
    1457     short[] newRed = new short[w * h]; 
    1458     short[] newGreen = new short[w * h]; 
    1459     short[] newBlue = new short[w * h]; 
    1460  
    1461     float[][] kernel = new float[5][5]; 
    1462     kernel[0] = new float[] {0.458f, 0.823f, 1f, 0.823f, 0.458f}; 
    1463     kernel[1] = new float[] {0.823f, 1f, 1.09f, 1f, 0.823f}; 
    1464     kernel[2] = new float[] {1f, 1.09f, 1.135f, 1.09f, 1f}; 
    1465     kernel[3] = new float[] {0.823f, 1f, 1.09f, 1f, 0.823f}; 
    1466     kernel[4] = new float[] {0.458f, 0.823f, 1f, 0.823f, 0.458f}; 
    1467  
    1468     for (int i=0; i<h; i++) { 
    1469       for (int j=0; j<w; j++) { 
    1470         float redRow = 0, greenRow = 0, blueRow = 0; 
    1471         float[] kernelRow = kernel[i % 5]; 
    1472  
    1473         int diff = w - j; 
    1474         float sum = 0; 
    1475  
    1476         if (diff < 5) { 
    1477           while (diff > 0) { 
    1478             int off = i*w + j + diff - 1; 
    1479             redRow += kernelRow[diff - 1] * input[0][off]; 
    1480             greenRow += kernelRow[diff - 1] * input[1][off]; 
    1481             blueRow += kernelRow[diff - 1] * input[2][off]; 
    1482             sum += kernelRow[diff - 1]; 
    1483             diff--; 
    1484           } 
    1485         } 
    1486         else { 
    1487           for (int m=0; m<5; m++) { 
    1488             int off = i*w + j + m; 
    1489             redRow += kernelRow[m] * input[0][off]; 
    1490             greenRow += kernelRow[m] * input[1][off]; 
    1491             blueRow += kernelRow[m] * input[2][off]; 
    1492             sum += kernelRow[m]; 
    1493           } 
    1494         } 
    1495         if (sum == 0) sum = 1; 
    1496         newRed[i*w + j] = (short) (redRow / sum); 
    1497         newGreen[i*w + j] = (short) (greenRow / sum); 
    1498         newBlue[i*w + j] = (short) (blueRow / sum); 
    1499       } 
    1500     } 
    1501  
    1502     for (int i=0; i<h; i++) { 
    1503       for (int j=0; j<w; j++) { 
    1504         float redCol = 0, greenCol = 0, blueCol = 0; 
    1505         float[] kernelCol = kernel[j % 5]; 
    1506  
    1507         int diff = h - i; 
    1508         float sum = 0; 
    1509  
    1510         if (diff < 5) { 
    1511           while (diff > 0) { 
    1512             int off = (i + diff - 1) * w + j; 
    1513             redCol += kernelCol[diff - 1] * newRed[off]; 
    1514             greenCol += kernelCol[diff - 1] * newGreen[off]; 
    1515             blueCol += kernelCol[diff - 1] * newBlue[off]; 
    1516             sum += kernelCol[diff - 1]; 
    1517             diff--; 
    1518           } 
    1519         } 
    1520         else { 
    1521           for (int m=0; m<5; m++) { 
    1522             int off = (i + m) * w + j; 
    1523             redCol += kernelCol[m] * newRed[off]; 
    1524             greenCol += kernelCol[m] * newGreen[off]; 
    1525             blueCol += kernelCol[m] * newBlue[off]; 
    1526             sum += kernelCol[m]; 
    1527           } 
    1528         } 
    1529  
    1530         if (sum == 0) sum = 1; 
    1531         input[0][i*w + j] = (short) (redCol / sum); 
    1532         input[1][i*w + j] = (short) (greenCol / sum); 
    1533         input[2][i*w + j] = (short) (blueCol / sum); 
    1534       } 
    1535     } 
    1536  
    1537     return input; 
    1538   } 
    1539  
    15401378  /** Perform autoscaling on the given BufferedImage. */ 
    15411379  public static BufferedImage autoscale(BufferedImage img) { 
  • trunk/loci/formats/TiffTools.java

    r4048 r4203  
    17451745    } 
    17461746    else if (compression == PROPRIETARY_DEFLATE || compression == DEFLATE) { 
    1747       return new AdobeDeflateCodec().decompress(input); 
     1747      return new ZlibCodec().decompress(input); 
    17481748    } 
    17491749    else if (compression == THUNDERSCAN) { 
  • trunk/loci/formats/in/FV1000Reader.java

    r4200 r4203  
    131131  public short[][] get16BitLookupTable() { 
    132132    FormatTools.assertId(currentId, true, 1); 
    133     return lut[lastChannel]; 
     133    return lut == null ? null : lut[lastChannel]; 
    134134  } 
    135135 
     
    144144 
    145145    int[] coords = getZCTCoords(no); 
     146    /* debug */ System.out.println("mapping channel " + coords[1] + " to " + 
     147      channelIndexes[coords[1]]); 
    146148    coords[1] = channelIndexes[coords[1]]; 
    147149    lastChannel = coords[1]; 
     
    478480 
    479481    // check that no two indexes are equal 
    480     boolean valid = true; 
    481482    for (int i=0; i<channelIndexes.length; i++) { 
    482483      for (int q=0; q<channelIndexes.length; q++) { 
    483484        if (i != q && channelIndexes[i] == channelIndexes[q]) { 
    484           valid = false; 
    485           break; 
     485          for (int n=0; n<channelIndexes.length; n++) { 
     486            if (channelIndexes[n] > channelIndexes[q]) { 
     487              channelIndexes[q] = channelIndexes[n]; 
     488            } 
     489          } 
     490          channelIndexes[q]++; 
    486491        } 
    487492      } 
     
    490495    // normalize channel indexes to [0, sizeC-1] 
    491496 
    492     if (valid) { 
    493       int nextIndex = 0; 
    494       for (int i=0; i<channelIndexes.length; i++) { 
    495         int min = Integer.MAX_VALUE; 
    496         int minIndex = -1; 
    497         for (int q=0; q<channelIndexes.length; q++) { 
    498           if (channelIndexes[q] < min && channelIndexes[q] >= nextIndex) { 
    499             min = channelIndexes[q]; 
    500             minIndex = q; 
    501           } 
    502         } 
    503         channelIndexes[minIndex] = nextIndex++; 
    504       } 
    505     } 
    506     else { 
    507       for (int i=0; i<channelIndexes.length; i++) { 
    508         channelIndexes[i] = i; 
    509       } 
     497    int nextIndex = 0; 
     498    for (int i=0; i<channelIndexes.length; i++) { 
     499      int min = Integer.MAX_VALUE; 
     500      int minIndex = -1; 
     501      for (int q=0; q<channelIndexes.length; q++) { 
     502        if (channelIndexes[q] < min && channelIndexes[q] >= nextIndex) { 
     503          min = channelIndexes[q]; 
     504          minIndex = q; 
     505        } 
     506      } 
     507      channelIndexes[minIndex] = nextIndex++; 
    510508    } 
    511509 
     
    706704    // set up thumbnail file mapping 
    707705 
    708     RandomAccessStream thumb = getFile(thumbId); 
    709     if (thumb != null) { 
     706    try { 
     707      RandomAccessStream thumb = getFile(thumbId); 
    710708      byte[] b = new byte[(int) thumb.length()]; 
    711709      thumb.read(b); 
     
    716714      Arrays.fill(core.thumbSizeY, thumbReader.getSizeY()); 
    717715    } 
     716    catch (IOException e) { 
     717      if (debug) LogTools.trace(e); 
     718    } 
    718719 
    719720    // initialize lookup table 
     
    723724    int count = (int) Math.min(core.sizeC[0], lutNames.size()); 
    724725    for (int c=0; c<count; c++) { 
    725       RandomAccessStream stream = getFile((String) lutNames.get(c)); 
    726       stream.seek(stream.length() - 65536 * 4); 
    727       stream.read(buffer); 
    728       for (int q=0; q<buffer.length; q+=4) { 
    729         lut[c][0][q / 4] = buffer[q + 1]; 
    730         lut[c][1][q / 4] = buffer[q + 2]; 
    731         lut[c][2][q / 4] = buffer[q + 3]; 
     726      try { 
     727        RandomAccessStream stream = getFile((String) lutNames.get(c)); 
     728        stream.seek(stream.length() - 65536 * 4); 
     729        stream.read(buffer); 
     730        for (int q=0; q<buffer.length; q+=4) { 
     731          lut[c][0][q / 4] = buffer[q + 1]; 
     732          lut[c][1][q / 4] = buffer[q + 2]; 
     733          lut[c][2][q / 4] = buffer[q + 3]; 
     734        } 
     735      } 
     736      catch (IOException e) { 
     737        if (debug) LogTools.trace(e); 
     738        lut = null; 
     739        break; 
    732740      } 
    733741    } 
  • trunk/loci/formats/in/LIFReader.java

    r4202 r4203  
    3030import loci.formats.meta.FilterMetadata; 
    3131import loci.formats.meta.MetadataStore; 
    32 import org.xml.sax.Attributes; 
    3332import org.xml.sax.SAXException; 
    34 import org.xml.sax.helpers.DefaultHandler; 
    3533 
    3634/** 
  • trunk/loci/formats/in/LeicaHandler.java

    r4202 r4203  
    2727import loci.formats.*; 
    2828import org.xml.sax.Attributes; 
    29 import org.xml.sax.SAXException; 
    3029import org.xml.sax.helpers.DefaultHandler; 
    3130 
     
    231230        case 4: 
    232231          ts.add(new Integer(len)); 
     232          break; 
    233233        default: 
    234234          extras *= len; 
  • trunk/loci/formats/in/MinimalTiffReader.java

    r4200 r4203  
    2525 
    2626import java.io.IOException; 
    27 import java.text.*; 
    2827import java.util.*; 
    2928import loci.formats.*; 
    30 import loci.formats.meta.FilterMetadata; 
    31 import loci.formats.meta.MetadataStore; 
    3229 
    3330/** 
  • trunk/loci/formats/in/ND2Reader.java

    r4202 r4203  
    2727import java.io.*; 
    2828import java.util.*; 
    29 import java.util.zip.*; 
    3029import javax.xml.parsers.*; 
    3130import loci.formats.*; 
    32 import loci.formats.codec.ByteVector; 
    33 import loci.formats.codec.JPEG2000Codec; 
     31import loci.formats.codec.*; 
    3432import loci.formats.meta.FilterMetadata; 
    3533import loci.formats.meta.MetadataStore; 
     
    147145      int effectiveX = getSizeX(); 
    148146      if ((getSizeX() % 2) != 0) effectiveX++; 
    149       byte[] t = new byte[effectiveX * getSizeY() * pixel]; 
    150  
    151       Inflater decompresser = new Inflater(); 
    152       decompresser.setInput(b); 
    153       try { decompresser.inflate(t); } 
    154       catch (DataFormatException e) { throw new FormatException(e); } 
    155       decompresser.end(); 
     147      byte[] t = new ZlibCodec().decompress(b, null); 
    156148 
    157149      for (int row=0; row<h; row++) { 
  • trunk/loci/formats/in/OMEXMLReader.java

    r4202 r4203  
    2626import java.io.*; 
    2727import java.util.*; 
    28 import java.util.zip.*; 
    2928import javax.xml.parsers.*; 
    3029import loci.formats.*; 
    31 import loci.formats.codec.Base64Codec; 
    32 import loci.formats.codec.CBZip2InputStream; 
     30import loci.formats.codec.*; 
    3331import loci.formats.meta.MetadataRetrieve; 
    3432import loci.formats.meta.MetadataStore; 
     
    171169    } 
    172170    else if (compress.equals("zlib")) { 
    173       try { 
    174         Inflater decompressor = new Inflater(); 
    175         decompressor.setInput(pixels, 0, pixels.length); 
    176         pixels = new byte[planeSize]; 
    177         decompressor.inflate(pixels); 
    178         decompressor.end(); 
    179       } 
    180       catch (DataFormatException dfe) { 
    181         throw new FormatException("Error uncompressing zlib data.", dfe); 
    182       } 
     171      pixels = new ZlibCodec().decompress(pixels, null); 
    183172    } 
    184173 
  • trunk/loci/formats/in/QTReader.java

    r4202 r4203  
    2727import java.io.*; 
    2828import java.util.Vector; 
    29 import java.util.zip.*; 
    3029import loci.formats.*; 
    3130import loci.formats.codec.*; 
     
    521520            in.read(b); 
    522521 
    523             Inflater inf = new Inflater(); 
    524             inf.setInput(b, 0, b.length); 
    525             byte[] output = new byte[uncompressedSize]; 
    526             try { 
    527               inf.inflate(output); 
    528             } 
    529             catch (DataFormatException exc) { 
    530               if (debug) trace(exc); 
    531               throw new FormatException("Compressed header not supported."); 
    532             } 
    533             inf.end(); 
     522            byte[] output = new ZlibCodec().decompress(b, null); 
    534523 
    535524            RandomAccessStream oldIn = in; 
  • trunk/loci/formats/in/TCSReader.java

    r4202 r4203  
    3232import loci.formats.meta.FilterMetadata; 
    3333import loci.formats.meta.MetadataStore; 
    34 import org.xml.sax.Attributes; 
    3534import org.xml.sax.SAXException; 
    36 import org.xml.sax.helpers.DefaultHandler; 
    3735 
    3836/** 
  • trunk/loci/formats/ome/OMEROReader.java

    r4048 r4203  
    7070  } 
    7171 
    72   // -- Fields -- 
    73  
    74   private String username; 
    75   private String password; 
    76   private String serverName; 
    77   private String port; 
    78  
    7972  // -- Constructor -- 
    8073 
     
    110103      r.setVar("c", new Integer(zct[1])); 
    111104      r.setVar("t", new Integer(zct[2])); 
    112       r.exec("plane = raw.getPlane(z, c, t)"); 
    113       int len = core.sizeX[0] * core.sizeY[0] * 
    114         FormatTools.getBytesPerPixel(core.pixelType[0]); 
    115       System.arraycopy((byte[]) r.getVar("plane"), 0, buf, 0, len); 
     105      byte[] b = (byte[]) r.exec("raw.getPlane(z, c, t)"); 
     106      int bpp = FormatTools.getBytesPerPixel(getPixelType()); 
     107      for (int row=0; row<h; row++) { 
     108        System.arraycopy(b, (row + y) * getSizeX() * bpp, buf, row * w * bpp, 
     109          w * bpp); 
     110      } 
    116111    } 
    117112    catch (ReflectException e) { 
     
    119114    } 
    120115    return buf; 
    121   } 
    122  
    123   // -- IFormatHandler API methods -- 
    124  
    125   /* @see loci.formats.IFormatHandler#close() */ 
    126   public void close() throws IOException { 
    127     super.close(); 
    128116  } 
    129117 
     
    170158      r.exec("pix = new PixelsData(results)"); 
    171159 
    172       r.exec("ptype = pix.getPixelType()"); 
    173       r.exec("x = pix.getSizeX()"); 
    174       r.exec("y = pix.getSizeY()"); 
    175       r.exec("z = pix.getSizeZ()"); 
    176       r.exec("c = pix.getSizeC()"); 
    177       r.exec("t = pix.getSizeT()"); 
    178  
    179       core.sizeX[0] = ((Integer) r.getVar("x")).intValue(); 
    180       core.sizeY[0] = ((Integer) r.getVar("y")).intValue(); 
    181       core.sizeZ[0] = ((Integer) r.getVar("z")).intValue(); 
    182       core.sizeC[0] = ((Integer) r.getVar("c")).intValue(); 
    183       core.sizeT[0] = ((Integer) r.getVar("t")).intValue(); 
     160      core.sizeX[0] = ((Integer) r.exec("pix.getSizeX()")).intValue(); 
     161      core.sizeY[0] = ((Integer) r.exec("pix.getSizeY()")).intValue(); 
     162      core.sizeZ[0] = ((Integer) r.exec("pix.getSizeZ()")).intValue(); 
     163      core.sizeC[0] = ((Integer) r.exec("pix.getSizeC()")).intValue(); 
     164      core.sizeT[0] = ((Integer) r.exec("pix.getSizeT()")).intValue(); 
     165      core.pixelType[0] = 
     166        FormatTools.pixelTypeFromString((String) r.exec("pix.getPixelType()")); 
     167 
    184168      core.rgb[0] = false; 
    185169      core.littleEndian[0] = false; 
    186170      core.currentOrder[0] = "XYZCT"; 
    187       core.imageCount[0] = core.sizeZ[0] * core.sizeC[0] * core.sizeT[0]; 
    188       core.pixelType[0] = 
    189         FormatTools.pixelTypeFromString((String) r.getVar("ptype")); 
    190  
    191       r.exec("px = pix.getPixelSizeX()"); 
    192       r.exec("py = pix.getPixelSizeY()"); 
    193       r.exec("pz = pix.getPixelSizeZ()"); 
    194       double px = ((Double) r.getVar("px")).doubleValue(); 
    195       double py = ((Double) r.getVar("py")).doubleValue(); 
    196       double pz = ((Double) r.getVar("pz")).doubleValue(); 
     171      core.imageCount[0] = getSizeZ() * getSizeC() * getSizeT(); 
     172 
     173      float px = ((Double) r.exec("pix.getPixelSizeX()")).floatValue(); 
     174      float py = ((Double) r.exec("pix.getPixelSizeY()")).floatValue(); 
     175      float pz = ((Double) r.exec("pix.getPixelSizeZ()")).floatValue(); 
    197176 
    198177      r.exec("image = pix.getImage()"); 
    199       r.exec("name = image.getName()"); 
    200178      r.exec("description = image.getDescription()"); 
    201179 
    202       String name = (String) r.getVar("name"); 
    203       String description = (String) r.getVar("description"); 
     180      String name = (String) r.exec("image.getName()"); 
     181      String description = (String) r.exec("image.getDescription()"); 
    204182 
    205183      MetadataStore store = getMetadataStore(); 
     
    208186      MetadataTools.populatePixels(store, this); 
    209187 
    210       store.setDimensionsPhysicalSizeX(new Float((float) px), 0, 0); 
    211       store.setDimensionsPhysicalSizeY(new Float((float) py), 0, 0); 
    212       store.setDimensionsPhysicalSizeZ(new Float((float) pz), 0, 0); 
     188      store.setDimensionsPhysicalSizeX(new Float(px), 0, 0); 
     189      store.setDimensionsPhysicalSizeY(new Float(py), 0, 0); 
     190      store.setDimensionsPhysicalSizeZ(new Float(pz), 0, 0); 
    213191      // CTR CHECK 
    214192//      for (int i=0; i<core.sizeC[0]; i++) { 
  • trunk/loci/formats/ome/OMEReader.java

    r4048 r4203  
    204204      core.currentOrder[0] = "XYZCT"; 
    205205 
    206       core.imageCount[0] = core.sizeZ[0] * core.sizeC[0] * core.sizeT[0]; 
     206      core.imageCount[0] = getSizeZ() * getSizeC() * getSizeT(); 
    207207      core.rgb[0] = false; 
    208208 
     
    270270    int[] indices = getZCTCoords(no); 
    271271 
    272     r.setVar("zIndex", indices[0]); 
    273     r.setVar("cIndex", indices[1]); 
    274     r.setVar("tIndex", indices[2]); 
     272    r.setVar("z", indices[0]); 
     273    r.setVar("c", indices[1]); 
     274    r.setVar("t", indices[2]); 
    275275    r.setVar("bigEndian", false); 
    276     try { 
    277       r.exec("buf = pf.getPlane(pixels, zIndex, cIndex, tIndex, bigEndian)"); 
    278       buf = (byte[]) r.getVar("buf"); 
     276 
     277    int bpp = FormatTools.getBytesPerPixel(getPixelType()); 
     278 
     279    try { 
     280      byte[] b = (byte[]) r.exec("pf.getPlane(pixels, z, c, t, bigEndian)"); 
     281      for (int row=0; row<h; row++) { 
     282        System.arraycopy(b, (row + y) * getSizeX() * bpp + x * bpp, buf, 
     283          row * w * bpp, w * bpp); 
     284      } 
    279285    } 
    280286    catch (ReflectException e) { 
  • trunk/loci/formats/ome/OMEUtils.java

    r4048 r4203  
    207207    throws ReflectException 
    208208  { 
    209     List exps = null; 
    210209    if (isOMERO) { 
    211210      String[] rtn = new String[1]; 
    212211      r.exec("uid = eventContext.getCurrentUserId()"); 
    213       r.exec("exp = admin.getExperimenter(uid)"); 
    214       r.exec("fname = exp.getFirstName()"); 
    215       r.exec("lname = exp.getLastName()"); 
    216       rtn[0] = r.getVar("lname") + ", " + r.getVar("fname"); 
     212      r.exec("e = admin.getExperimenter(uid)"); 
     213      rtn[0] = r.exec("e.getLastName()") + ", " + r.exec("e.getFirstName()"); 
    217214      return rtn; 
    218215    } 
     
    228225 
    229226    r.setVar("exp", "Experimenter"); 
    230     r.exec("exps = df.retrieveList(exp, c)"); 
    231  
    232     exps = (List) r.getVar("exps"); 
     227    List exps = (List) r.exec("df.retrieveList(exp, c)"); 
     228 
    233229    String[] rtn = new String[exps.size()]; 
    234230    for (int i=0; i<exps.size(); i++) { 
    235       r.setVar("exp", exps.get(i)); 
    236       if (isOMERO) r.exec("exp = new ExperimenterData(exp)"); 
    237       r.exec("fname = exp.getFirstName()"); 
    238       r.exec("lname = exp.getLastName()"); 
    239       rtn[i] = r.getVar("lname") + ", " + r.getVar("fname"); 
     231      r.setVar("e", exps.get(i)); 
     232      rtn[i] = r.exec("e.getLastName()") + ", " + r.exec("e.getFirstName()"); 
    240233    } 
    241234    return rtn; 
     
    259252      if (isOMERO) { 
    260253        r.exec("pix = new PixelsData(obj)"); 
    261         r.exec("v = obj.getId()"); 
    262         pid = r.getVar("v").toString(); 
     254        pid = r.exec("obj.getId()").toString(); 
    263255        r.exec("img = pix.getImage()"); 
    264         r.exec("imageName = img.getName()"); 
    265         iname = (String) r.getVar("imageName"); 
     256        iname = (String) r.exec("img.getName()"); 
    266257        r.exec("owner = pix.getOwner()"); 
    267         r.exec("fname = owner.getFirstName()"); 
    268         r.exec("lname = owner.getLastName()"); 
     258        fname = (String) r.exec("owner.getFirstName()"); 
     259        lname = (String) r.exec("owner.getLastName()"); 
    269260 
    270261        try { 
     
    275266          create = null; 
    276267        } 
    277  
    278         fname = (String) r.getVar("fname"); 
    279         lname = (String) r.getVar("lname"); 
    280268      } 
    281269      else { 
    282270        r.exec("created = obj.getCreated()"); 
    283271        create = (String) r.getVar("created"); 
    284         r.exec("id = obj.getID()"); 
    285         pid = r.getVar("id").toString(); 
    286         r.exec("imageName = obj.getName()"); 
    287         iname = (String) r.getVar("imageName"); 
     272        pid = r.exec("obj.getID()").toString(); 
     273        iname = (String) r.exec("obj.getName()"); 
    288274        r.exec("owner = obj.getOwner()"); 
    289         r.exec("fname = owner.getFirstName()"); 
    290         r.exec("lname = owner.getLastName()"); 
    291         fname = (String) r.getVar("fname"); 
    292         lname = (String) r.getVar("lname"); 
     275        fname = (String) r.exec("owner.getFirstName()"); 
     276        lname = (String) r.exec("owner.getLastName()"); 
    293277      } 
    294278 
     
    361345        r.exec("obj = new PixelsData(obj)"); 
    362346        r.exec("image = obj.getImage()"); 
    363         r.exec("name = image.getName()"); 
    364         rtn[i] = (String) r.getVar("name"); 
     347        rtn[i] = (String) r.exec("image.getName()"); 
    365348      } 
    366349      return rtn; 
     
    373356      r.setVar("i", i); 
    374357      r.exec("omeImage = l.get(i)"); 
    375       r.exec("v = omeImage.getName()"); 
    376       rtn[i] = (String) r.getVar("v"); 
     358      rtn[i] = (String) r.exec("omeImage.getName()"); 
    377359    } 
    378360    return rtn; 
     
    392374        r.exec("obj = new PixelsData(obj)"); 
    393375        r.exec("image = obj.getImage()"); 
    394         r.exec("name = image.getDescription()"); 
    395         rtn[i] = (String) r.getVar("name"); 
     376        rtn[i] = (String) r.exec("image.getDescription()"); 
    396377      } 
    397378      return rtn; 
     
    404385      r.setVar("i", i); 
    405386      r.exec("omeImage = l.get(i)"); 
    406       r.exec("v = omeImage.getDescription()"); 
    407       rtn[i] = (String) r.getVar("v"); 
     387      rtn[i] = (String) r.exec("omeImage.getDescription()"); 
    408388    } 
    409389    return rtn; 
     
    422402        r.exec("image = obj.getImage()"); 
    423403        try { 
    424           r.exec("name = image.getInserted()"); 
    425           rtn[i] = ((Timestamp) r.getVar("name")).toString(); 
     404          rtn[i] = ((Timestamp) r.exec("image.getInserted()")).toString(); 
    426405        } 
    427406        catch (Exception e) { 
     
    438417      r.setVar("i", i); 
    439418      r.exec("omeImage = l.get(i)"); 
    440       r.exec("v = omeImage.getCreated()"); 
    441       rtn[i] = (String) r.getVar("v"); 
     419      rtn[i] = (String) r.exec("omeImage.getCreated()"); 
    442420    } 
    443421    return rtn; 
     
    460438      r.exec("omePix = omeImage.getDefaultPixels()"); 
    461439      try { 
    462         r.exec("v = pf.getThumbnail(omePix)"); 
    463         rtn[i] = (BufferedImage) r.getVar("v"); 
    464       } 
    465       catch (ReflectException e) { 
    466         rtn[i] = null; 
    467       } 
     440        rtn[i] = (BufferedImage) r.exec("pf.getThumbnail(omePix)"); 
     441      } 
     442      catch (ReflectException e) { } 
    468443    } 
    469444    return rtn; 
     
    480455      r.setVar("i", i); 
    481456      r.exec("omeImage = l.get(i)"); 
    482       r.exec("v = omeImage.getID()"); 
    483       rtn[i] = ((Integer) r.getVar("v")).intValue(); 
     457      rtn[i] = ((Integer) r.exec("omeImage.getID()")).intValue(); 
    484458    } 
    485459    return rtn; 
     
    512486      r.exec("omePix = omeImage.getDefaultPixels()"); 
    513487      try { 
    514         r.exec("v = omePix." + func + "()"); 
    515         rtn[i] = ((Integer) r.getVar("v")).intValue(); 
     488        rtn[i] = ((Integer) r.exec("omePix." + func + "()")).intValue(); 
    516489      } 
    517490      catch (ReflectException e) { 
     
    533506      r.exec("omePix = omeImage.getDefaultPixels()"); 
    534507      try { 
    535         r.exec("v = omePix." + func + "()"); 
    536         rtn[i] = (String) r.getVar("v"); 
     508        rtn[i] = (String) r.exec("omePix." + func + "()"); 
    537509      } 
    538510      catch (ReflectException e) { 
     
    599571      "left outer join fetch p.image"); 
    600572    r.exec("params = new Parameters(filter)"); 
    601     r.exec("results = query.findAllByQuery(q, params)"); 
    602  
    603     List results = (List) r.getVar("results"); 
     573    List results = (List) r.exec("results = query.findAllByQuery(q, params)"); 
     574 
    604575    long uid = ((Long) r.getVar("uid")).longValue(); 
    605576    for (int i=0; i<results.size(); i++) { 
     
    608579      r.exec("obj = new PixelsData(obj)"); 
    609580      r.exec("owner = obj.getOwner()"); 
    610       r.exec("id = owner.getId()"); 
    611       long testId = ((Long) r.getVar("id")).longValue(); 
     581      long testId = ((Long) r.exec("owner.getId()")).longValue(); 
    612582      if (testId != uid) { 
    613         results.remove(i); 
    614         i--; 
     583        results.remove(i--); 
    615584      } 
    616585    } 
     
    627596      r.exec("obj = results.get(i)"); 
    628597      r.exec("obj = new PixelsData(obj)"); 
    629       r.exec("v = obj." + func + "()"); 
    630       rtn[i] = ((Integer) r.getVar("v")).intValue(); 
     598      rtn[i] = ((Integer) r.exec("obj." + func + "()")).intValue(); 
    631599    } 
    632600    return rtn; 
     
    641609      r.exec("obj = results.get(i)"); 
    642610      r.exec("obj = new PixelsData(obj)"); 
    643       r.exec("v = obj." + func + "()"); 
    644       rtn[i] = ((Long) r.getVar("v")).longValue(); 
     611      rtn[i] = ((Long) r.exec("obj." + func + "()")).longValue(); 
    645612    } 
    646613    return rtn; 
     
    656623      r.exec("obj = results.get(i)"); 
    657624      r.exec("obj = new PixelsData(obj)"); 
    658       r.exec("v = obj." + func + "()"); 
    659       rtn[i] = (String) r.getVar("v"); 
     625      rtn[i] = (String) r.exec("obj." + func + "()"); 
    660626    } 
    661627    return rtn; 
Note: See TracChangeset for help on using the changeset viewer.