Changeset 6421


Ignore:
Timestamp:
05/28/10 16:58:06 (9 years ago)
Author:
bdezonia
Message:

further work on testColorComposite

File:
1 edited

Legend:

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

    r6410 r6421  
    360360  } 
    361361 
     362  /** get the actual pixel value (lookup when data is indexed) of the index of a fake image at a given z,c,t */ 
     363  private int getIndexPixelValue(CompositeImage ci, int z, int c, int t, boolean indexed) 
     364  { 
     365    //  if I have numZ=2,numC=3,numT=4 then don't I have 24 images? why only testing c values makes a difference? 
     366 
     367    // our indices are 0-based while IJ's are 1-based 
     368    ci.setPosition(c+1, z+1, t+1); 
     369    int rawValue = iIndex(ci.getProcessor()); 
     370    //int rawValue = iIndex(ci.getProcessor(c+1)); 
     371    System.out.println("zct "+z+" "+c+" "+t+" rawVal "+rawValue); 
     372    if (indexed) 
     373      return ci.getChannelLut(c+1).getRGB(rawValue); 
     374    else 
     375      return rawValue; 
     376  } 
     377   
    362378  // ****** helper tests **************************************************************************************** 
    363379   
     
    684700  } 
    685701   
    686   private int getPixelValue(CompositeImage ci, int channel, boolean indexed) 
    687   { 
    688     int rawValue = iIndex(ci.getProcessor(channel)); 
    689     if (indexed) 
    690       return ci.getChannelLut(channel).getRGB(rawValue); 
    691     else 
    692       return rawValue; 
    693   } 
    694    
    695702  private void colorCompositeTest(boolean indexed, int pixType, int sizeX, int sizeY, int sizeZ, int sizeC, int sizeT, int numSeries) 
    696703  { 
     
    739746     
    740747    colorTests(ci,sizeC,DefaultColorOrder); 
     748 
     749    ci.reset();  // force the channel processors to get initialized, otherwise nullptr  - TODO : does this point out a IJ bug? 
     750     
     751    System.out.println("Checking index vals"); 
     752    System.out.println("maxes z c t = "+ci.getNSlices()+" "+ci.getNChannels()+" "+ci.getNFrames()); 
     753    // check that each image in the overall series has the correct iIndex value 
     754    for (int z = 0; z < ci.getNSlices(); z++) 
     755      for (int c = 0; c < ci.getNChannels(); c++) 
     756        for (int t = 0; t < ci.getNFrames(); t++) 
     757        { 
     758          //getIndexPixelValue(ci,z,c,t,indexed); 
     759          assertEquals((6*t+3*z+c),getIndexPixelValue(ci,z,c,t,indexed)); 
     760        } 
    741761  } 
    742762   
     
    11661186    // BF only supporting C from 2 to 7 and due to IJ's slider limitation (C*numSeries*3) <= 25 
    11671187 
     1188    colorCompositeTest(false,FormatTools.UINT8,55,44,2,3,4,1); 
    11681189    colorCompositeTest(true,FormatTools.UINT8,55,44,2,3,4,1); 
    11691190 
     
    11761197    int[] series = new int[] {1,2,3,4}; 
    11771198     
    1178     for (int pixFormat : pixTypes) { 
    1179       for (int x : xs) { 
    1180         for (int y : ys) { 
    1181           for (int z : zs) { 
    1182             for (int c : cs) { 
    1183               for (int t : ts) { 
    1184                 for (int s : series) { 
     1199    for (int pixFormat : pixTypes) 
     1200      for (int x : xs) 
     1201        for (int y : ys) 
     1202          for (int z : zs) 
     1203            for (int c : cs) 
     1204              for (int t : ts) 
     1205                for (int s : series) 
    11851206                  if ((c*s*3) <= 25)  // IJ slider limitation 
    1186                   { 
    1187                     for (boolean indexed : BooleanStates) { 
     1207                    for (boolean indexed : BooleanStates) 
     1208                    { 
    11881209                      //System.out.println("indexed "+indexed+" format "+pixFormat+" x "+x+" y "+y+" z "+z+" c "+c+" t "+t+" s "+s); 
    11891210                      colorCompositeTest(indexed,pixFormat,x,y,z,c,t,s); 
    11901211                    } 
    1191                   } 
    1192                 } 
    1193               } 
    1194             } 
    1195           } 
    1196         } 
    1197       } 
    1198     } 
    11991212  } 
    12001213   
     
    13211334    // throughout the stack. 
    13221335 
     1336    autoscaleTest(FormatTools.DOUBLE,false); 
     1337    autoscaleTest(FormatTools.FLOAT,false); 
    13231338    autoscaleTest(FormatTools.UINT8,false); 
    13241339    autoscaleTest(FormatTools.UINT16,false); 
     
    13271342    autoscaleTest(FormatTools.INT16,false); 
    13281343    autoscaleTest(FormatTools.INT32,false); 
    1329     autoscaleTest(FormatTools.DOUBLE,false); 
    1330     autoscaleTest(FormatTools.FLOAT,false); 
    1331      
     1344     
     1345    autoscaleTest(FormatTools.DOUBLE,true); 
     1346    autoscaleTest(FormatTools.FLOAT,true); 
    13321347    autoscaleTest(FormatTools.UINT8,true); 
    13331348    autoscaleTest(FormatTools.UINT16,true); 
    13341349    autoscaleTest(FormatTools.UINT32,true); 
    13351350    autoscaleTest(FormatTools.INT8,true); 
    1336     //autoscaleTest(FormatTools.INT16,true);  // TODO in this case IJ via ShortProcessor::setMinAndMax() clamps the min value to 0 : bug due to obliviousness to sign? 
    13371351    autoscaleTest(FormatTools.INT32,true); 
    1338     autoscaleTest(FormatTools.DOUBLE,true); 
    1339     autoscaleTest(FormatTools.FLOAT,true); 
     1352    autoscaleTest(FormatTools.INT16,true);  // TODO in this case IJ via ShortProcessor::setMinAndMax() clamps the min value to 0 : bug due to obliviousness to sign? 
    13401353 
    13411354    /* 
Note: See TracChangeset for help on using the changeset viewer.