Changeset 2166
- Timestamp:
- Dec 9, 2013, 4:08:44 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/base2/net.sf.basedb.normalizers/trunk/src/net/sf/basedb/plugins/AverageNormalization.java
r2154 r2166 347 347 parameters.add(getChildDescriptionParameter(null, null, null)); 348 348 // Average normalization options 349 Formula.AverageMethod defaultAverageMethod = Formula.AverageMethod.ARITHMETIC_MEAN; 350 IntensityTransform transform = bas.getIntensityTransform(); 351 if (transform == IntensityTransform.NONE) 352 { 353 defaultAverageMethod = Formula.AverageMethod.GEOMETRIC_MEAN; 354 } 349 // Default is always set to geometric mean, since averaging is performed on untransformed data 350 Formula.AverageMethod defaultAverageMethod = Formula.AverageMethod.GEOMETRIC_MEAN; 355 351 StringParameterType spt = new StringParameterType 356 352 ( … … 399 395 long numSpots; 400 396 long normalizedSpots = 0; 397 IntensityTransform transform = source.getIntensityTransform(); 401 398 402 399 // Create Transformation … … 489 486 { 490 487 d.setNormalizableData(scaleFactor * d.getNormalizableData()); 491 batcher.insert(bioassayColumn, d.getPosition(), d.getChannelData()); 488 // Average is calculated for untransformed data, transform channel data before storing 489 float[] channelDataArr = d.getChannelData(); 490 float[] transformedChannelDataArr = new float[channelDataArr.length]; 491 for (int i=0; i < channelDataArr.length; i++) 492 { 493 // d1 = untransormed value, d2 = transformed value (0 if d1 is out of range) 494 float d1 = channelDataArr[i]; 495 float d2 = 0F; 496 if (!Float.isNaN(d1) && !Float.isInfinite(d1)) 497 { 498 d2 = (float) transform.transform(d1); 499 } 500 transformedChannelDataArr[i] = d2; 501 } 502 batcher.insert(bioassayColumn, d.getPosition(), transformedChannelDataArr); 492 503 normalizedSpots++; 493 504 } 505 child.setIntensityTransform(transform); 494 506 if (progress != null) 495 507 progress.display((int)((100L * normalizedSpots) / numSpots),
Note: See TracChangeset
for help on using the changeset viewer.