Changeset 6439


Ignore:
Timestamp:
06/01/10 17:35:42 (9 years ago)
Author:
bdezonia
Message:

Added comboConcatSplitTest(). Other small edits.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/components/loci-plugins/test/loci/plugins/in/ImporterTest.java

    r6431 r6439  
    3535 
    3636// must address before release 
     37 
     38//  - macros should still work like before 
    3739//  - write tests for the color options : some mention was made that indexcolor is an issue in testing 
    3840//     default - waiting on BF to know how it should behave 
     
    4143//     grayscale 
    4244//     custom 
    43 //     autoscale - test done but BF failing 
     45//  - add some tests for combination of options 
    4446//  - comboCropAutoscale() - autoscale of a cropped image returning min of whole image 
    4547//  - autoscale of signed images an issue (INT16 gets clamped 0..65535 by ImageJ also) 
    46 //  - add some tests for combination of options 
    47 //  - macros 
    4848 
    4949// would be nice to address before release 
     
    5151//  waiting on BF implementations for 
    5252//    - autoscale failing (when off?) for Float and Double - need to decide on correct behavior in BF 
    53 //    - range step by 0 or less: uncomment these tests when BF fixed 
    54 //    - BF/imageJ returning wrong values of max num pixels (UINT32 off by one, float weird too, etc.) 
     53//    - BF/imageJ returning wrong values of max num pixels (UINT32 off by one - IJ bug, float weird too, etc.) 
    5554//    - memoryRecord failure needs BF code fix 
    5655//    - open individual files: try to come up with a way to test without a disk file as source 
    5756//    - swapped dims test needs to test cases other than from default swapping Z & T 
    58 //    - output stack order - testing of iIndex? should match isatck num, 5th plane == 5 
     57//    - output stack order - testing of iIndex? should match imagestack number? i.e. 5th plane == 4 - doesn't look so 
    5958//    - improve, comment, and generalize code for increased coverage 
    6059 
     
    373372    int rawValue = iIndex(ci.getProcessor()); 
    374373    //int rawValue = iIndex(ci.getProcessor(c+1)); 
    375     System.out.println("zct "+z+" "+c+" "+t+" rawVal "+rawValue); 
     374    //System.out.println("zct "+z+" "+c+" "+t+" rawVal "+rawValue); 
    376375    if (indexed) 
    377376      return ci.getChannelLut(c+1).getRGB(rawValue); 
     
    683682    long expectedMax,expectedMin; 
    684683     
    685     if (wantAutoscale) 
     684    if (wantAutoscale || (FormatTools.isFloatingPoint(pixType))) 
    686685    { 
    687686      expectedMax = Math.max( minPixelValue(pixType)+sizeX-1, sizeZ*sizeC*sizeT - 1 );  // series size always 1 so ignore 
     
    757756    int maxT = ci.getNFrames(); 
    758757     
    759     System.out.println("Checking index vals"); 
    760     System.out.println("maxes z c t = "+maxZ+" "+maxC+" "+maxT); 
     758    //System.out.println("Checking index vals"); 
     759    //System.out.println("maxes z c t = "+maxZ+" "+maxC+" "+maxT); 
    761760     
    762761    // check that each image in the overall series has the correct iIndex value 
     
    10261025  } 
    10271026   
     1027  private void concatSplitFocalPlanesTest() 
     1028  { 
     1029    // take a nontrivial zct set of series 
     1030    // run split and concat at same time 
     1031 
     1032    final int sizeX = 50, sizeY = 20, sizeZ = 5, sizeC = 3, sizeT = 7, series = 3; 
     1033    final String path = constructFakeFilename("concatSplitZ", 
     1034      FormatTools.UINT8, 50, 20, sizeZ, sizeC, sizeT, series, false, -1, false); 
     1035 
     1036    // open image 
     1037    ImagePlus[] imps = null; 
     1038    try { 
     1039      ImporterOptions options = new ImporterOptions(); 
     1040      options.setConcatenate(true); 
     1041      options.setSplitFocalPlanes(true); 
     1042      options.setId(path); 
     1043      imps = BF.openImagePlus(options); 
     1044    } 
     1045    catch (IOException e) { 
     1046      fail(e.getMessage()); 
     1047    } 
     1048    catch (FormatException e) { 
     1049      fail(e.getMessage()); 
     1050      } 
     1051     
     1052    // one time point per image 
     1053    impsCountTest(imps,sizeZ); 
     1054     
     1055    // TODO : passes - is order of indices correct? 
     1056    for (int z = 0; z < sizeZ; z++) 
     1057    { 
     1058      ImagePlus imp = imps[z]; 
     1059      xyzctTest(imp,sizeX,sizeY,1,sizeC,sizeT); 
     1060      ImageStack st = imp.getStack(); 
     1061      assertEquals(sizeC * sizeT,st.getSize()); 
     1062      for (int s = 0; s < series; s++) { 
     1063        int index = 0; 
     1064        for (int t = 0; t < sizeT; t++) { 
     1065          for (int c = 0; c < sizeC; c++) { 
     1066            ImageProcessor proc = st.getProcessor(++index); 
     1067            //System.out.println("index "+index); 
     1068            //System.out.println("s z c t "+s+" "+z+" "+c+" "+t); 
     1069            //System.out.println("iz ic it "+zIndex(proc)+" "+cIndex(proc)+" "+tIndex(proc)); 
     1070            // test the values 
     1071            assertEquals(z,zIndex(proc)); 
     1072            assertEquals(c,cIndex(proc)); 
     1073            assertEquals(t,tIndex(proc)); 
     1074          } 
     1075        } 
     1076      } 
     1077    } 
     1078  } 
     1079   
     1080  private void concatSplitChannelsTest() 
     1081  { 
     1082    // take a nontrivial zct set of series 
     1083    // run split and concat at same time 
     1084 
     1085    final int sizeX = 50, sizeY = 20, sizeZ = 5, sizeC = 3, sizeT = 7, series = 3; 
     1086    final String path = constructFakeFilename("concatSplitC", 
     1087      FormatTools.UINT8, 50, 20, sizeZ, sizeC, sizeT, series, false, -1, false); 
     1088 
     1089    // open image 
     1090    ImagePlus[] imps = null; 
     1091    try { 
     1092      ImporterOptions options = new ImporterOptions(); 
     1093      options.setConcatenate(true); 
     1094      options.setSplitChannels(true); 
     1095      options.setId(path); 
     1096      imps = BF.openImagePlus(options); 
     1097    } 
     1098    catch (IOException e) { 
     1099      fail(e.getMessage()); 
     1100    } 
     1101    catch (FormatException e) { 
     1102      fail(e.getMessage()); 
     1103      } 
     1104     
     1105    // one time point per image 
     1106    impsCountTest(imps,sizeC); 
     1107     
     1108    // TODO : passes - is order of indices correct? 
     1109    for (int c = 0; c < sizeC; c++) 
     1110    { 
     1111      ImagePlus imp = imps[c]; 
     1112      xyzctTest(imp,sizeX,sizeY,sizeZ,1,sizeT); 
     1113      ImageStack st = imp.getStack(); 
     1114      assertEquals(sizeZ * sizeT,st.getSize()); 
     1115      for (int s = 0; s < series; s++) { 
     1116        int index = 0; 
     1117        for (int t = 0; t < sizeT; t++) { 
     1118          for (int z = 0; z < sizeZ; z++) { 
     1119            ImageProcessor proc = st.getProcessor(++index); 
     1120            //System.out.println("index "+index); 
     1121            //System.out.println("s z c t "+s+" "+z+" "+c+" "+t); 
     1122            //System.out.println("iz ic it "+zIndex(proc)+" "+cIndex(proc)+" "+tIndex(proc)); 
     1123            // test the values 
     1124            assertEquals(z,zIndex(proc)); 
     1125            assertEquals(c,cIndex(proc)); 
     1126            assertEquals(t,tIndex(proc)); 
     1127          } 
     1128        } 
     1129      } 
     1130    } 
     1131  } 
     1132   
     1133  private void concatSplitTimepointsTest() 
     1134  { 
     1135    // take a nontrivial zct set of series 
     1136    // run split and concat at same time 
     1137 
     1138    final int sizeX = 50, sizeY = 20, sizeZ = 5, sizeC = 3, sizeT = 7, series = 3; 
     1139    final String path = constructFakeFilename("concatSplitC", 
     1140      FormatTools.UINT8, 50, 20, sizeZ, sizeC, sizeT, series, false, -1, false); 
     1141 
     1142    // open image 
     1143    ImagePlus[] imps = null; 
     1144    try { 
     1145      ImporterOptions options = new ImporterOptions(); 
     1146      options.setConcatenate(true); 
     1147      options.setSplitTimepoints(true); 
     1148      options.setId(path); 
     1149      imps = BF.openImagePlus(options); 
     1150    } 
     1151    catch (IOException e) { 
     1152      fail(e.getMessage()); 
     1153    } 
     1154    catch (FormatException e) { 
     1155      fail(e.getMessage()); 
     1156      } 
     1157     
     1158    // one time point per image 
     1159    impsCountTest(imps,sizeT); 
     1160     
     1161    // TODO : passes - is order of indices correct? 
     1162    for (int t = 0; t < sizeT; t++) 
     1163    { 
     1164      ImagePlus imp = imps[t]; 
     1165      xyzctTest(imp,sizeX,sizeY,sizeZ,sizeC,1); 
     1166      ImageStack st = imp.getStack(); 
     1167      assertEquals(sizeZ * sizeC,st.getSize()); 
     1168      for (int s = 0; s < series; s++) { 
     1169        int index = 0; 
     1170        for (int c = 0; c < sizeC; c++) { 
     1171          for (int z = 0; z < sizeZ; z++) { 
     1172            ImageProcessor proc = st.getProcessor(++index); 
     1173            //System.out.println("index "+index); 
     1174            //System.out.println("s z c t "+s+" "+z+" "+c+" "+t); 
     1175            //System.out.println("iz ic it "+zIndex(proc)+" "+cIndex(proc)+" "+tIndex(proc)); 
     1176            // test the values 
     1177            assertEquals(z,zIndex(proc)); 
     1178            assertEquals(c,cIndex(proc)); 
     1179            assertEquals(t,tIndex(proc)); 
     1180          } 
     1181        } 
     1182      } 
     1183    } 
     1184  } 
     1185   
    10281186// ** ImporterTest methods ************************************************************** 
    10291187 
     
    14761634    try { 
    14771635      z=7; c=7; t=7; zFrom=0; zTo=z-1; zBy=0; cFrom=0; cTo=c-1; cBy=1; tFrom=0; tTo=t-1; tBy=1; 
    1478       // TODO - enable post fix 
    1479       //memorySpecifyRangeTest(z,c,t,zFrom,zTo,zBy,cFrom,cTo,cBy,tFrom,tTo,tBy); 
    1480       //fail(); 
     1636      memorySpecifyRangeTest(z,c,t,zFrom,zTo,zBy,cFrom,cTo,cBy,tFrom,tTo,tBy); 
     1637      fail(); 
    14811638    } catch (IllegalArgumentException e) { 
    14821639      assertTrue(true); 
     
    15041661    try { 
    15051662      z=7; c=7; t=7; zFrom=0; zTo=z-1; zBy=1; cFrom=0; cTo=c-1; cBy=0; tFrom=0; tTo=t-1; tBy=1; 
    1506       // TODO - enable post fix 
    1507       //memorySpecifyRangeTest(z,c,t,zFrom,zTo,zBy,cFrom,cTo,cBy,tFrom,tTo,tBy); 
    1508       //fail(); 
     1663      memorySpecifyRangeTest(z,c,t,zFrom,zTo,zBy,cFrom,cTo,cBy,tFrom,tTo,tBy); 
     1664      fail(); 
    15091665    } catch (IllegalArgumentException e) { 
    15101666      assertTrue(true); 
     
    15321688    try { 
    15331689      z=7; c=7; t=7; zFrom=0; zTo=z-1; zBy=1; cFrom=0; cTo=c-1; cBy=1; tFrom=0; tTo=t-1; tBy=0; 
    1534       // TODO - enable post fix 
    1535       //memorySpecifyRangeTest(z,c,t,zFrom,zTo,zBy,cFrom,cTo,cBy,tFrom,tTo,tBy); 
    1536       //fail(); 
     1690      memorySpecifyRangeTest(z,c,t,zFrom,zTo,zBy,cFrom,cTo,cBy,tFrom,tTo,tBy); 
     1691      fail(); 
    15371692    } catch (IllegalArgumentException e) { 
    15381693      assertTrue(true); 
     
    17231878 
    17241879  @Test 
     1880  public void testMacros() 
     1881  { 
     1882    //IJ.runMacro("Bio-Formats Importer", "open=int8&pixelType=int8&sizeZ=3&sizeC=5&sizeT=7&sizeY=50.fake merge_channels stack_order=Default"); 
     1883    fail("unimplemented"); 
     1884  } 
     1885   
     1886  @Test 
    17251887  public void testComboCropAutoscale() 
    17261888  { 
     
    17451907  public void testComboConcatSplit() 
    17461908  { 
     1909    concatSplitFocalPlanesTest(); 
     1910    concatSplitChannelsTest(); 
     1911    concatSplitTimepointsTest(); 
     1912  } 
     1913 
     1914  @Test 
     1915  public void testComboColorizeSplit() 
     1916  { 
    17471917    fail("unimplemented"); 
    17481918  } 
    1749  
    1750   @Test 
    1751   public void testComboColorizeSplit() 
     1919   
     1920  @Test 
     1921  public void testComboConcatColorizeSplit() 
    17521922  { 
    17531923    fail("unimplemented"); 
    17541924  } 
    1755    
    1756   @Test 
    1757   public void testComboConcatColorizeSplit() 
    1758   { 
    1759     fail("unimplemented"); 
    1760   } 
    17611925} 
Note: See TracChangeset for help on using the changeset viewer.