Changeset 6786
- Timestamp:
- 08/11/10 15:48:24 (9 years ago)
- Location:
- trunk/components
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/components/bio-formats/src/loci/formats/in/CellWorxReader.java
r6784 r6786 299 299 int fieldIndex = fieldRow * fieldMap[fieldRow].length + fieldCol; 300 300 301 String wellSampleID = 302 MetadataTools.createLSID("WellSample",0, wellIndex, fieldIndex);301 String wellSampleID = MetadataTools.createLSID("WellSample", 302 0, wellIndex, fieldIndex); 303 303 store.setWellSampleID(wellSampleID, 0, wellIndex, fieldIndex); 304 304 String imageID = MetadataTools.createLSID("Image", nextImage); 305 305 store.setWellSampleImageRef(imageID, 0, wellIndex, fieldIndex); 306 store.setWellSampleIndex( 307 new NonNegativeInteger(fieldIndex), 0, wellIndex, fieldIndex);306 store.setWellSampleIndex(new NonNegativeInteger( 307 wellIndex * fieldCount + fieldIndex), 0, wellIndex, fieldIndex); 308 308 309 309 String well = (char) (row + 'A') + String.format("%02d", col + 1); … … 370 370 int row = getWellRow(seriesIndex); 371 371 int col = getWellColumn(seriesIndex); 372 int well = row * wellFiles[0].length + col; 372 373 String logFile = logFiles[row][col]; 373 374 LOGGER.debug("Parsing log file for well {}{}", (char) (row + 'A'), col + 1); … … 395 396 else if (key.equals("Scan Origin")) { 396 397 String[] axes = value.split(","); 397 for (int field=0; field<fieldCount; field++) { 398 store.setWellSamplePositionX(new Double(axes[0]), 0, wellIndex, field); 399 store.setWellSamplePositionY(new Double(axes[1]), 0, wellIndex, field); 398 for (int fieldRow=0; fieldRow<fieldMap.length; fieldRow++) { 399 for (int fieldCol=0; fieldCol<fieldMap[fieldRow].length; fieldCol++) { 400 if (fieldMap[fieldRow][fieldCol] && wellFiles[row][col] != null) { 401 int field = fieldRow * fieldMap[fieldRow].length + fieldCol; 402 store.setWellSamplePositionX(new Double(axes[0]), 0, well, field); 403 store.setWellSamplePositionY(new Double(axes[1]), 0, well, field); 404 } 405 } 400 406 } 401 407 } … … 407 413 Double ySize = new Double(value.substring(s + 1, end).trim()); 408 414 for (int field=0; field<fieldCount; field++) { 409 store.setPixelsPhysicalSizeX(xSize / getSizeX(), seriesIndex + field); 410 store.setPixelsPhysicalSizeY(ySize / getSizeY(), seriesIndex + field); 415 int index = seriesIndex + field; 416 store.setPixelsPhysicalSizeX(xSize / getSizeX(), index); 417 store.setPixelsPhysicalSizeY(ySize / getSizeY(), index); 411 418 } 412 419 } -
trunk/components/bio-formats/src/loci/formats/in/FV1000Reader.java
r6741 r6786 1054 1054 } 1055 1055 1056 String shapeID = MetadataTools.createLSID("Shape", nextROI, shape); 1057 1056 1058 if (shapeType == POINT) { 1059 store.setPointID(shapeID, nextROI, shape); 1057 1060 store.setPointTheZ(new NonNegativeInteger(zIndex), nextROI, shape); 1058 1061 store.setPointTheT(new NonNegativeInteger(tIndex), nextROI, shape); … … 1073 1076 double realY = y + row * height; 1074 1077 1078 shapeID = MetadataTools.createLSID("Shape", nextROI, shape); 1079 store.setRectangleID(shapeID, nextROI, shape); 1075 1080 store.setRectangleX(realX, nextROI, shape); 1076 1081 store.setRectangleY(realY, nextROI, shape); … … 1098 1103 } 1099 1104 else if (shapeType == LINE) { 1105 store.setLineID(shapeID, nextROI, shape); 1100 1106 store.setLineX1(new Double(x), nextROI, shape); 1101 1107 store.setLineY1(new Double(y), nextROI, shape); … … 1118 1124 double rx = width / 2; 1119 1125 double ry = shapeType == CIRCLE ? rx : height / 2; 1126 store.setEllipseID(shapeID, nextROI, shape); 1120 1127 store.setEllipseX(x + rx, nextROI, shape); 1121 1128 store.setEllipseY(y + ry, nextROI, shape); … … 1143 1150 if (point < xc.length - 1) points.append(" "); 1144 1151 } 1152 store.setPolylineID(shapeID, nextROI, shape); 1145 1153 store.setPolylinePoints(points.toString(), nextROI, shape); 1146 1154 store.setPolylineTransform("rotate(" + angle + ")", nextROI, shape); … … 1445 1453 { 1446 1454 RandomAccessInputStream stream = getFile(filename); 1447 stream.skipBytes(2);1448 String data = stream.readString((int) stream.length() - 2);1455 String data = stream.readString((int) stream.length()); 1456 if (!data.startsWith("[")) data = data.substring(2, data.length()); 1449 1457 data = DataTools.stripString(data); 1450 1458 BufferedReader reader = new BufferedReader(new StringReader(data)); -
trunk/components/bio-formats/src/loci/formats/in/LeicaReader.java
r6726 r6786 164 164 private boolean[][] cutOutPopulated; 165 165 private boolean[][] filterRefPopulated; 166 167 private Double detectorOffset, detectorVoltage; 166 168 167 169 // -- Constructor -- … … 1162 1164 try { 1163 1165 if (tokens[2].equals("VideoOffset")) { 1164 store.setDetectorOffset(new Double(data), series, nextDetector);1166 detectorOffset = new Double(data); 1165 1167 } 1166 1168 else if (tokens[2].equals("HighVoltage")) { 1167 store.setDetectorVoltage(new Double(data), series, nextDetector);1169 detectorVoltage = new Double(data); 1168 1170 nextDetector++; 1169 1171 } 1170 1172 else if (tokens[2].equals("State")) { 1171 store.setDetectorType(1172 getDetectorType("PMT"), series, nextDetector);1173 1173 // link Detector to Image, if the detector was actually used 1174 1174 if (data.equals("Active")) { 1175 store.setDetectorOffset(detectorOffset, series, nextDetector); 1176 store.setDetectorVoltage(detectorVoltage, series, nextDetector); 1177 store.setDetectorType( 1178 getDetectorType("PMT"), series, nextDetector); 1175 1179 String index = tokens[1].substring(tokens[1].indexOf(" ") + 1); 1176 1180 int channelIndex = -1; -
trunk/components/bio-formats/src/loci/formats/in/MicromanagerReader.java
r6655 r6786 411 411 MetadataTools.populatePixels(store, this, true); 412 412 if (time != null) { 413 long stamp = DateTools.getTime(time, DATE_FORMAT); 414 String date = DateTools.convertDate(stamp, DateTools.UNIX); 413 String date = DateTools.formatDate(time, DATE_FORMAT); 415 414 store.setImageAcquiredDate(date, 0); 416 415 } … … 440 439 } 441 440 442 if (detectorID == null) { 443 detectorID = MetadataTools.createLSID("Detector", 0, 0); 444 } 445 else { 446 detectorID = detectorID.substring(detectorID.lastIndexOf(":") + 1); 447 detectorID = "Detector:" + detectorID.trim(); 448 } 441 String serialNumber = detectorID; 442 detectorID = MetadataTools.createLSID("Detector", 0, 0); 449 443 450 444 for (int i=0; i<channels.length; i++) { … … 460 454 if (detectorModel != null) { 461 455 store.setDetectorModel(detectorModel, 0, 0); 456 } 457 458 if (serialNumber != null) { 459 store.setDetectorSerialNumber(serialNumber, 0, 0); 462 460 } 463 461 -
trunk/components/bio-formats/src/loci/formats/in/NikonReader.java
r6495 r6786 32 32 import loci.formats.FormatTools; 33 33 import loci.formats.ImageTools; 34 import loci.formats.MetadataTools; 34 35 import loci.formats.codec.BitBuffer; 35 36 import loci.formats.codec.NikonCodec; 36 37 import loci.formats.codec.NikonCodecOptions; 38 import loci.formats.meta.MetadataStore; 37 39 import loci.formats.tiff.IFD; 38 40 import loci.formats.tiff.IFDList; … … 419 421 core[0].interleaved = true; 420 422 } 423 424 MetadataStore store = makeFilterMetadata(); 425 MetadataTools.populatePixels(store, this); 421 426 } 422 427 -
trunk/components/bio-formats/src/loci/formats/in/NikonTiffReader.java
r6655 r6786 227 227 store.setObjectiveID(objectiveID, 0, 0); 228 228 store.setImageObjectiveSettingsID(objectiveID, 0); 229 store.setObjectiveNominalMagnification( 229 if (magnification > 0) { 230 store.setObjectiveNominalMagnification( 230 231 new PositiveInteger(magnification), 0, 0); 232 } 231 233 232 234 if (correction == null) correction = "Other"; … … 247 249 248 250 for (int i=0; i<gain.size(); i++) { 251 store.setDetectorID(MetadataTools.createLSID("Detector", 0, i), 0, i); 249 252 store.setDetectorGain(gain.get(i), 0, i); 250 253 store.setDetectorType(getDetectorType("Other"), 0, i); -
trunk/components/bio-formats/src/loci/formats/in/ScanrReader.java
r6726 r6786 426 426 MetadataTools.populatePixels(store, this); 427 427 428 store.setPlateID(MetadataTools.createLSID("Plate", 0), 0); 429 428 430 int nFields = fieldRows * fieldColumns; 429 431 … … 437 439 int wellCol = well % wellColumns; 438 440 441 store.setWellID(MetadataTools.createLSID("Well", 0, well), 0, well); 439 442 store.setWellColumn(new NonNegativeInteger(wellCol), 0, well); 440 443 store.setWellRow(new NonNegativeInteger(wellRow), 0, well); 441 444 445 String wellSample = 446 MetadataTools.createLSID("WellSample", 0, well, field); 447 store.setWellSampleID(wellSample, 0, well, field); 442 448 store.setWellSampleIndex(new NonNegativeInteger(i), 0, well, field); 443 449 String imageID = MetadataTools.createLSID("Image", i); -
trunk/components/bio-formats/src/loci/formats/in/TillVisionReader.java
r6768 r6786 227 227 core[0].pixelType = convertPixelType(s.readInt()); 228 228 embeddedOffset = s.getFilePointer() + 28; 229 i n.close();229 if (in != null) in.close(); 230 230 in = poi.getDocumentStream(name); 231 231 nImages++; … … 329 329 330 330 for (String f : files) { 331 if (checkSuffix(f, "pst") && f.startsWith(name)) {331 if (checkSuffix(f, "pst")) { 332 332 Location pst = new Location(directory, f); 333 if (pst.isDirectory() ) {333 if (pst.isDirectory() && f.startsWith(name)) { 334 334 String[] subfiles = pst.list(true); 335 335 for (String q : subfiles) { -
trunk/components/bio-formats/src/loci/formats/in/ZeissLSMReader.java
r6765 r6786 414 414 MetadataTools.populatePixels(store, this, true); 415 415 for (int series=0; series<ifdsList.size(); series++) { 416 setSeries(series); 416 417 store.setImageName(imageNames.get(series), series); 417 418 store.setPixelsBinDataBigEndian(!isLittleEndian(), series, 0); … … 1135 1136 in.skipBytes(34); 1136 1137 1138 String roiID = MetadataTools.createLSID("ROI", i); 1139 String shapeID = MetadataTools.createLSID("Shape", i, 0); 1140 1137 1141 switch (type) { 1138 1142 case TEXT: … … 1143 1147 store.setTextFontSize(new NonNegativeInteger(fontHeight), i, 0); 1144 1148 store.setTextStrokeWidth(lineWidth, i, 0); 1149 store.setROIID(roiID, i); 1150 store.setTextID(shapeID, i, 0); 1145 1151 break; 1146 1152 case LINE: … … 1157 1163 store.setLineFontSize(new NonNegativeInteger(fontHeight), i, 0); 1158 1164 store.setLineStrokeWidth(lineWidth, i, 0); 1165 store.setROIID(roiID, i); 1166 store.setLineID(shapeID, i, 0); 1159 1167 break; 1160 1168 case SCALE_BAR: … … 1182 1190 store.setRectangleFontSize(new NonNegativeInteger(fontHeight), i, 0); 1183 1191 store.setRectangleStrokeWidth(lineWidth, i, 0); 1192 store.setROIID(roiID, i); 1193 store.setRectangleID(shapeID, i, 0); 1184 1194 1185 1195 break; … … 1238 1248 store.setEllipseFontSize(new NonNegativeInteger(fontHeight), i, 0); 1239 1249 store.setEllipseStrokeWidth(lineWidth, i, 0); 1250 store.setROIID(roiID, i); 1251 store.setEllipseID(shapeID, i, 0); 1240 1252 1241 1253 break; … … 1256 1268 store.setEllipseFontSize(new NonNegativeInteger(fontHeight), i, 0); 1257 1269 store.setEllipseStrokeWidth(lineWidth, i, 0); 1270 store.setROIID(roiID, i); 1271 store.setEllipseID(shapeID, i, 0); 1258 1272 1259 1273 break; … … 1291 1305 store.setEllipseFontSize(new NonNegativeInteger(fontHeight), i, 0); 1292 1306 store.setEllipseStrokeWidth(lineWidth, i, 0); 1307 store.setROIID(roiID, i); 1308 store.setEllipseID(shapeID, i, 0); 1293 1309 1294 1310 break; … … 1313 1329 store.setPolylineFontSize(new NonNegativeInteger(fontHeight), i, 0); 1314 1330 store.setPolylineStrokeWidth(lineWidth, i, 0); 1331 store.setROIID(roiID, i); 1332 store.setPolylineID(shapeID, i, 0); 1315 1333 1316 1334 break; … … 1338 1356 store.setPolylineFontSize(new NonNegativeInteger(fontHeight), i, 0); 1339 1357 store.setPolylineStrokeWidth(lineWidth, i, 0); 1358 store.setROIID(roiID, i); 1359 store.setPolylineID(shapeID, i, 0); 1340 1360 1341 1361 break; … … 1363 1383 store.setPolylineFontSize(new NonNegativeInteger(fontHeight), i, 0); 1364 1384 store.setPolylineStrokeWidth(lineWidth, i, 0); 1385 store.setROIID(roiID, i); 1386 store.setPolylineID(shapeID, i, 0); 1365 1387 1366 1388 break; -
trunk/components/bio-formats/src/loci/formats/meta/MetadataConverter.java
r6653 r6786 77 77 for (int datasetIndex=0; datasetIndex<datasetCount; datasetIndex++) { 78 78 try { 79 String datasetIDValue = src.getDatasetID(datasetIndex); 80 if (datasetIDValue != null) dest.setDatasetID(datasetIDValue, datasetIndex); 81 } catch (NullPointerException e) { } 82 try { 79 83 for (int annotationRefIndex=0; annotationRefIndex<src.getDatasetAnnotationRefCount(datasetIndex); annotationRefIndex++) 80 84 { … … 94 98 String datasetGroupRefValue = src.getDatasetGroupRef(datasetIndex); 95 99 if (datasetGroupRefValue != null) dest.setDatasetGroupRef(datasetGroupRefValue, datasetIndex); 96 } catch (NullPointerException e) { }97 try {98 String datasetIDValue = src.getDatasetID(datasetIndex);99 if (datasetIDValue != null) dest.setDatasetID(datasetIDValue, datasetIndex);100 100 } catch (NullPointerException e) { } 101 101 try { … … 1430 1430 for (int projectIndex=0; projectIndex<projectCount; projectIndex++) { 1431 1431 try { 1432 String projectIDValue = src.getProjectID(projectIndex); 1433 if (projectIDValue != null) dest.setProjectID(projectIDValue, projectIndex); 1434 } catch (NullPointerException e) { } 1435 try { 1432 1436 int annotationRefCount = src.getProjectAnnotationRefCount(projectIndex); 1433 1437 for (int annotationRefIndex=0; annotationRefIndex<annotationRefCount; annotationRefIndex++) … … 1448 1452 String projectGroupRefValue = src.getProjectGroupRef(projectIndex); 1449 1453 if (projectGroupRefValue != null) dest.setProjectGroupRef(projectGroupRefValue, projectIndex); 1450 } catch (NullPointerException e) { }1451 try {1452 String projectIDValue = src.getProjectID(projectIndex);1453 if (projectIDValue != null) dest.setProjectID(projectIDValue, projectIndex);1454 1454 } catch (NullPointerException e) { } 1455 1455 try { -
trunk/components/test-suite/src/loci/tests/testng/FormatReaderTest.java
r6768 r6786 55 55 import loci.formats.in.BioRadReader; 56 56 import loci.formats.in.NRRDReader; 57 import loci.formats.in.OMETiffReader; 57 58 import loci.formats.in.TiffReader; 58 59 import loci.formats.meta.MetadataRetrieve; … … 387 388 msg = "SizeT"; 388 389 } 389 if (reader.isLittleEndian() == 390 retrieve.getPixelsBinDataBigEndian(i, 0).booleanValue()) 391 { 392 msg = "BigEndian"; 390 391 // NB: OME-TIFF files do not have a BinData element under Pixels 392 IFormatReader r = reader.unwrap(); 393 if (r instanceof FileStitcher) r = ((FileStitcher) r).getReader(); 394 if (r instanceof ReaderWrapper) r = ((ReaderWrapper) r).unwrap(); 395 if (!(r instanceof OMETiffReader)) { 396 if (reader.isLittleEndian() == 397 retrieve.getPixelsBinDataBigEndian(i, 0).booleanValue()) 398 { 399 msg = "BigEndian"; 400 } 393 401 } 394 402 if (!reader.getDimensionOrder().equals(
Note: See TracChangeset
for help on using the changeset viewer.