Mercurial > hg > segmentation
diff novelty.py @ 7:294f66d285af
some previous changes
author | mitian |
---|---|
date | Tue, 05 May 2015 08:54:09 +0100 |
parents | c11ea9e0357f |
children | a34f9c5d0cd9 |
line wrap: on
line diff
--- a/novelty.py Thu Apr 09 19:22:39 2015 +0100 +++ b/novelty.py Tue May 05 08:54:09 2015 +0100 @@ -11,9 +11,25 @@ import numpy as np from scipy.signal import correlate2d, convolve2d import matplotlib.pyplot as plt +from utils.PeakPickerUtil import PeakPicker -# from utils.PeakPickerUtil import PeakPicker - + +peak_picker = PeakPicker() +peak_picker.params.alpha = 9.0 # Alpha norm +peak_picker.params.delta = 0.0 # Adaptive thresholding delta +peak_picker.params.QuadThresh_a = (100 - 20.0) / 1000.0 +peak_picker.params.QuadThresh_b = 0.0 +peak_picker.params.QuadThresh_c = (100 - 20.0) / 1500.0 +peak_picker.params.rawSensitivity = 20 +peak_picker.params.aCoeffs = [1.0000, -0.5949, 0.2348] +peak_picker.params.bCoeffs = [0.1600, 0.3200, 0.1600] +peak_picker.params.preWin = 5 +peak_picker.params.postWin = 5 + 1 +peak_picker.params.LP_on = True +peak_picker.params.Medfilt_on = True +peak_picker.params.Polyfit_on = True +peak_picker.params.isMedianPositive = False + def getNoveltyCurve(ssm, kernel_size, normalise=False): '''Return novelty score from ssm.''' @@ -61,8 +77,11 @@ return kernel -def process(ssm, kernel_size, peak_picker, normalise=False, plot=False): +def segmentation(ssm, peak_picker=peak_picker, kernel_size=48, normalise=False, plot=False): '''Detect segment boundaries in the ssm.''' + # peak_picker for the 1st round boudary detection + + novelty = getNoveltyCurve(ssm, kernel_size, normalise=False) smoothed_novelty, novelty_peaks = peak_picker.process(novelty)