Warning: session_start(): open(/var/lib/php/sessions/sess_2g8on3k0mu712uamfkht06cukv, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
replace MarkedImage with BWImageAndRange.
static L markedImages;
p-exp {
L files = audioRecordingsWithSingleClip();
pnl(files);
markedImages = map_printProgress(f audioFileToBWImageAndRange, files);
showOriginalClips();
//showYAveraged();
showYAveragedOnDifferentBands();
}
svoid showYAveragedOnDifferentBands {
// Select a band, y-average, auto-contrast
repeat with sleep 1 {
int h = first(markedImages).image.getHeight();
double a = random()*0.9, b = a+0.1;
final int y1 = iround(a*h), y2 = iround(b*h);
final new Scorer scorer;
quickShowZoomedImage(mergeBWImagesVertically(map(markedImages,
func(MarkedImage img) -> BWImage {
BWImage bandImage = clipBWImage(img.image, 0, y1, img.image.getWidth(), y2-y1);
BWImage img2 = bwAutoContrast(squishTo1Pixel(bandImage);
L streaks = findBrightHorizontalStreaks(img2, 0.3f);
streaks = joinIntRangesWithDistanceLessThan(streaks, 10);
L entryPoints = startsOfIntRanges(streaks);
scorer.addZeroToOne(
1-distanceOfClosestIntTo(img.start, entryPoints)/20);
scorer.addZeroToOneError(absDiff(l(entryPoints), 1)/5);
ret markIntRangesOnTopOfBWImage(
markIntRangesOnTopOfBWImage(squishBWImage(img2, 20),
intsToSize2Ranges(entryPoints), 5),
ll(intRange(img.start, img.end)), 5);
})));
print(scorer + " / Band: " + y1 + " to " + y2 + " of " + h);
}
}
svoid showYAveraged {
// Show y-averaged, auto-contrasted on whole image
showImage(mergeBWImagesVertically(map(markedImages,
func(MarkedImage img) -> BWImage {
markIntRangesOnTopOfBWImage(
bwAutoContrast(squishBWImage(squishTo1Pixel(img.image), 20)),
ll(intRange(img.start, img.end)))
})));
}
svoid showOriginalClips {
showImage(mergeBWImagesVertically(map renderBWImageAndRange(markedImages)));
}