Changeset 6405


Ignore:
Timestamp:
05/27/10 10:46:23 (9 years ago)
Author:
melissa
Message:

Fixed Detector/DetectorSettings population to correspond to what the Fluoview software displays. See  omero:2422.

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/4.2/components/bio-formats/src/loci/formats/in/FluoviewReader.java

    r6404 r6405  
    374374    for (int i=0; i<getSizeC(); i++) { 
    375375      if (voltages[i] != null) { 
    376         if (detectorManufacturer != null) { 
    377           store.setDetectorManufacturer(detectorManufacturer, 0, 0); 
    378         } 
    379376        store.setDetectorSettingsVoltage(new Double(voltages[i]), 0, i); 
    380377      } 
     
    386383      } 
    387384      store.setDetectorType(getDetectorType("Other"), 0, i); 
     385      if (detectorManufacturer != null) { 
     386        store.setDetectorManufacturer(detectorManufacturer, 0, i); 
     387      } 
    388388 
    389389      // link DetectorSettings to an actual Detector 
     
    521521          addGlobalMeta(key, value); 
    522522          if (key.startsWith("Gain Ch")) { 
    523             for (int i=0; i<gains.length; i++) { 
    524               if (gains[i] == null) { 
    525                 gains[i] = value; 
    526                 break; 
    527               } 
     523            int index = Integer.parseInt(key.substring(7).trim()); 
     524            if (index > 0 && index <= gains.length) { 
     525              gains[index - 1] = value; 
    528526            } 
    529527          } 
    530528          else if (key.startsWith("PMT Voltage Ch")) { 
    531             for (int i=0; i<voltages.length; i++) { 
    532               if (voltages[i] == null) { 
    533                 voltages[i] = value; 
    534                 break; 
    535               } 
     529            int index = Integer.parseInt(key.substring(14).trim()); 
     530            if (index > 0 && index <= voltages.length) { 
     531              voltages[index - 1] = value; 
    536532            } 
    537533          } 
    538534          else if (key.startsWith("Offset Ch")) { 
    539             for (int i=0; i<offsets.length; i++) { 
    540               if (offsets[i] == null) { 
    541                 offsets[i] = value; 
    542                 break; 
    543               } 
     535            int index = Integer.parseInt(key.substring(9).trim()); 
     536            if (index > 0 && index <= offsets.length) { 
     537              offsets[index - 1] = value; 
    544538            } 
    545539          } 
     
    558552          } 
    559553          else if (key.startsWith("Confocal Aperture-Ch")) { 
    560             for (int i=0; i<lensNA.length; i++) { 
    561               if (lensNA[i] == null) { 
    562                 lensNA[i] = value.substring(0, value.length() - 2); 
    563                 break; 
    564               } 
     554            int index = Integer.parseInt(key.substring(20).trim()); 
     555            if (index > 0 && index <= lensNA.length) { 
     556              lensNA[index - 1] = value.substring(0, value.length() - 2); 
    565557            } 
    566558          } 
  • trunk/components/bio-formats/src/loci/formats/in/FluoviewReader.java

    r6404 r6405  
    374374    for (int i=0; i<getSizeC(); i++) { 
    375375      if (voltages[i] != null) { 
    376         if (detectorManufacturer != null) { 
    377           store.setDetectorManufacturer(detectorManufacturer, 0, 0); 
    378         } 
    379376        store.setDetectorSettingsVoltage(new Double(voltages[i]), 0, i); 
    380377      } 
     
    386383      } 
    387384      store.setDetectorType(getDetectorType("Other"), 0, i); 
     385      if (detectorManufacturer != null) { 
     386        store.setDetectorManufacturer(detectorManufacturer, 0, i); 
     387      } 
    388388 
    389389      // link DetectorSettings to an actual Detector 
     
    521521          addGlobalMeta(key, value); 
    522522          if (key.startsWith("Gain Ch")) { 
    523             for (int i=0; i<gains.length; i++) { 
    524               if (gains[i] == null) { 
    525                 gains[i] = value; 
    526                 break; 
    527               } 
     523            int index = Integer.parseInt(key.substring(7).trim()); 
     524            if (index > 0 && index <= gains.length) { 
     525              gains[index - 1] = value; 
    528526            } 
    529527          } 
    530528          else if (key.startsWith("PMT Voltage Ch")) { 
    531             for (int i=0; i<voltages.length; i++) { 
    532               if (voltages[i] == null) { 
    533                 voltages[i] = value; 
    534                 break; 
    535               } 
     529            int index = Integer.parseInt(key.substring(14).trim()); 
     530            if (index > 0 && index <= voltages.length) { 
     531              voltages[index - 1] = value; 
    536532            } 
    537533          } 
    538534          else if (key.startsWith("Offset Ch")) { 
    539             for (int i=0; i<offsets.length; i++) { 
    540               if (offsets[i] == null) { 
    541                 offsets[i] = value; 
    542                 break; 
    543               } 
     535            int index = Integer.parseInt(key.substring(9).trim()); 
     536            if (index > 0 && index <= offsets.length) { 
     537              offsets[index - 1] = value; 
    544538            } 
    545539          } 
     
    558552          } 
    559553          else if (key.startsWith("Confocal Aperture-Ch")) { 
    560             for (int i=0; i<lensNA.length; i++) { 
    561               if (lensNA[i] == null) { 
    562                 lensNA[i] = value.substring(0, value.length() - 2); 
    563                 break; 
    564               } 
     554            int index = Integer.parseInt(key.substring(20).trim()); 
     555            if (index > 0 && index <= lensNA.length) { 
     556              lensNA[index - 1] = value.substring(0, value.length() - 2); 
    565557            } 
    566558          } 
Note: See TracChangeset for help on using the changeset viewer.