GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Code Duplication    Length = 54-55 lines in 2 locations

voltcycle/core.py 1 location

@@ 347-401 (lines=55) @@
344
    y_base = y_fitted_line(m, b, x)
345
    return y_base
346
347
def peak_detection_fxn(data_y):
348
    """The function takes an input of the column containing the y variables in the dataframe,
349
    associated with the current. The function calls the split function, which splits the
350
    column into two arrays, one of the positive and one of the negative values.
351
    This is because cyclic voltammetry delivers negative peaks, but the peakutils function works
352
    better with positive peaks. The function also runs on the middle 80% of data to eliminate
353
    unnecessary noise and messy values associated with pseudo-peaks.The vectors are then imported
354
    into the peakutils.indexes function to determine the significant peak for each array.
355
    The values are stored in a list, with the first index corresponding to the top peak and the
356
    second corresponding to the bottom peak.
357
    Parameters
358
    ______________
359
    y column: must be a column from a pandas dataframe
360
361
    Returns
362
    _____________
363
    A list with the index of the peaks from the top curve and bottom curve.
364
    """
365
366
    # initialize storage list
367
    index_list = []
368
369
    # split data into above and below the baseline
370
    col_y1, col_y2 = split(data_y) # removed main. head.
371
372
    # detemine length of data and what 10% of the data is
373
    len_y = len(col_y1)
374
    ten_percent = int(np.around(0.1*len_y))
375
376
    # adjust both input columns to be the middle 80% of data
377
    # (take of the first and last 10% of data)
378
    # this avoid detecting peaks from electrolysis
379
    # (from water splitting and not the molecule itself,
380
    # which can form random "peaks")
381
    mod_col_y2 = col_y2[ten_percent:len_y-ten_percent]
382
    mod_col_y1 = col_y1[ten_percent:len_y-ten_percent]
383
384
    # run peakutils package to detect the peaks for both top and bottom
385
    peak_top = peakutils.indexes(mod_col_y2, thres=0.99, min_dist=20)
386
    peak_bottom = peakutils.indexes(abs(mod_col_y1), thres=0.99, min_dist=20)
387
388
    # detemine length of both halves of data
389
    len_top = len(peak_top)
390
    len_bot = len(peak_bottom)
391
392
    # append the values to the storage list
393
    # manipulate values by adding the ten_percent value back
394
    # (as the indecies have moved)
395
    # to detect the actual peaks and not the modified values
396
    index_list.append(peak_top[int(len_top/2)]+ten_percent)
397
    index_list.append(peak_bottom[int(len_bot/2)]+ten_percent)
398
399
    # return storage list
400
    # first value is the top, second value is the bottom
401
    return index_list
402
403
404
def peak_values(DataFrame_x, DataFrame_y):

voltcycle/functions_and_tests/peak_detection_fxn.py 1 location

@@ 12-65 (lines=54) @@
9
import main
10
11
12
def peak_detection_fxn(data_y):
13
    """The function takes an input of the column containing the y variables in the dataframe,
14
    associated with the current. The function calls the split function, which splits the
15
    column into two arrays, one of the positive and one of the negative values.
16
    This is because cyclic voltammetry delivers negative peaks, but the peakutils function works
17
    better with positive peaks. The function also runs on the middle 80% of data to eliminate
18
    unnecessary noise and messy values associated with pseudo-peaks.The vectors are then imported
19
    into the peakutils.indexes function to determine the significant peak for each array.
20
    The values are stored in a list, with the first index corresponding to the top peak and the
21
    second corresponding to the bottom peak.
22
    Parameters
23
    ______________
24
    y column: must be a column from a pandas dataframe
25
    Returns
26
    _____________
27
    A list with the index of the peaks from the top curve and bottom curve.
28
    """
29
30
    # initialize storage list
31
    index_list = []
32
33
    # split data into above and below the baseline
34
    col_y1, col_y2 = main.split(data_y)
35
36
    # detemine length of data and what 10% of the data is
37
    len_y = len(col_y1)
38
    ten_percent = int(np.around(0.1*len_y))
39
40
    # adjust both input columns to be the middle 80% of data
41
    # (take of the first and last 10% of data)
42
    # this avoid detecting peaks from electrolysis
43
    # (from water splitting and not the molecule itself,
44
    # which can form random "peaks")
45
    mod_col_y2 = col_y2[ten_percent:len_y-ten_percent]
46
    mod_col_y1 = col_y1[ten_percent:len_y-ten_percent]
47
48
    # run peakutils package to detect the peaks for both top and bottom
49
    peak_top = peakutils.indexes(mod_col_y2, thres=0.99, min_dist=20)
50
    peak_bottom = peakutils.indexes(abs(mod_col_y1), thres=0.99, min_dist=20)
51
52
    # detemine length of both halves of data
53
    len_top = len(peak_top)
54
    len_bot = len(peak_bottom)
55
56
    # append the values to the storage list
57
    # manipulate values by adding the ten_percent value back
58
    # (as the indecies have moved)
59
    # to detect the actual peaks and not the modified values
60
    index_list.append(peak_top[int(len_top/2)]+ten_percent)
61
    index_list.append(peak_bottom[int(len_bot/2)]+ten_percent)
62
63
    # return storage list
64
    # first value is the top, second value is the bottom
65
    return index_list