From 1de21e93e12606a5d9d47112aafcc2a32dd0fdda Mon Sep 17 00:00:00 2001 From: turtlebasket Date: Mon, 14 Nov 2022 22:47:43 -0800 Subject: [PATCH] basic firebrand recognition Co-authored-by: Alex --- examples/pyrometry/edge_detection.py | 37 ++++++- examples/pyrometry/edge_detection_figure.png | Bin 87387 -> 85024 bytes .../pyrometry/firebrand_contours_opencv.png | Bin 0 -> 14464 bytes flask_frontend.py | 55 ++++------ plotly_util.py | 64 +++++++++++ ratio_pyrometry.py | 102 +++++++++++++++++- templates/index.html | 9 +- templates/pyrometry-results.html | 44 ++++++++ 8 files changed, 264 insertions(+), 47 deletions(-) create mode 100644 examples/pyrometry/firebrand_contours_opencv.png create mode 100644 plotly_util.py diff --git a/examples/pyrometry/edge_detection.py b/examples/pyrometry/edge_detection.py index c8292b8..2d19b5a 100644 --- a/examples/pyrometry/edge_detection.py +++ b/examples/pyrometry/edge_detection.py @@ -28,7 +28,11 @@ gray = cv.copyMakeBorder( value=0 ) -contours = measure.find_contours(array=gray, level=100) +# cv.imshow('gray', gray) +# cv.waitKey(0) + +# contours = measure.find_contours(array=gray, level=100) +_img, contours = cv.findContours(gray, cv.RETR_LIST, cv.CHAIN_APPROX_NONE)[0] fig, ax = plt.subplots() ax.imshow(gray, cmap=plt.cm.gray, alpha=1) @@ -36,14 +40,37 @@ ax.imshow(gray, cmap=plt.cm.gray, alpha=1) def calculate_area(countour): c = np.expand_dims(countour.astype(np.float32), 1) c = cv.UMat(c) - + return cv.contourArea(c) +def center_of_mass(X): + x = X[:,0] + y = X[:,1] + g = (x[:-1]*y[1:] - x[1:]*y[:-1]) + A = 0.5*g.sum() + cx = ((x[:-1] + x[1:])*g).sum() + cy = ((y[:-1] + y[1:])*g).sum() + + return 1./(6*A)*np.array([cx,cy]) + + +img_new = cv.cvtColor(gray, cv.COLOR_GRAY2BGR) + for contour in contours: area = calculate_area(contour) - - if calculate_area(contour) > 250: - ax.plot(contour[:, 1], contour[:, 0], linewidth=0.5, color='orangered') + + # if area > 250: + # cnt = np.array(contour).reshape((-1, 1, 2)).astype(np.int32) + # cv.drawContours(img_new, [cnt], -1, (0, 200, 255), thickness=10) + + cv.drawContours(img_new, [contour], -1, (0, 200, 255), thickness=3) + + # ax.plot(contour[:, 1], contour[:, 0], linewidth=0.5, color='orangered') + +# cv.imshow('contours', img_new) +# cv.waitKey(0) + +cv.imwrite("firebrand_contours_opencv.png", img_new) ax.axis('image') ax.set_xticks([]) diff --git a/examples/pyrometry/edge_detection_figure.png b/examples/pyrometry/edge_detection_figure.png index 53beaf4c0d2129b0c72a1526ea3ddd287e2733cb..1b6bbb7d59c6d1415f08c92afbd1b6685264ceeb 100644 GIT binary patch literal 85024 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 UfB( firebrand_min_area: + mask = np.zeros(img.shape[0:2], dtype='uint8') + cv.fillPoly(mask, pts=np.int32([np.flip(contour, 1)]), color=(255,255,255)) + + retval, mask = cv.threshold(mask, 0, 255, cv.THRESH_BINARY) + + #apply the mask to the img + masked = cv.bitwise_and(img, img, mask=mask) + + masked_ratio_rg, ptemps_indiv = rg_ratio_normalize( + masked, + I_Darkcurrent, + f_stop, + exposure_time, + ISO, + MIN_TEMP, + MAX_TEMP, + eqn_scaling_factor, + ) + + # build & apply smoothing conv kernel + k = [] + for i in range(smoothing_radius): + k.append([1/(smoothing_radius**2) for i in range(smoothing_radius)]) + kernel = np.array(k) + + masked_ratio_rg = cv.filter2D(src=masked_ratio_rg, ddepth=-1, kernel=kernel) + + # write colormapped image + masked_ratio_rg_jet = cv.applyColorMap(masked_ratio_rg, cv.COLORMAP_JET) + + # Generate key + step = (MAX_TEMP - MIN_TEMP) / (key_entries-1) + temps = [] + key_img_arr = [[]] + + for i in range(key_entries): + res_temp = MIN_TEMP + (i * step) + res_color = scale_temp(res_temp, MIN_TEMP, MAX_TEMP) + temps.append(math.floor(res_temp)) + key_img_arr[0].append([res_color, res_color, res_color]) + + key_img = np.array(key_img_arr).astype(np.uint8) + key_img_jet = cv.applyColorMap(key_img, cv.COLORMAP_JET) + + tempkey = {} + + for i in range(len(temps)): + c = key_img_jet[0][i] + tempkey[temps[i]] = f"rgb({c[2]}, {c[1]}, {c[0]})" + + individual_firebrands.append({ + "img_data": masked_ratio_rg_jet, + "legend": tempkey, + "ptemps": ptemps_indiv + }) + + img, ptemps = rg_ratio_normalize( img_orig, I_Darkcurrent, @@ -112,7 +206,9 @@ def ratio_pyrometry_pipeline( # write colormapped image img_jet = cv.applyColorMap(img, cv.COLORMAP_JET) - # --- Generate temperature key --- + # --------------------------------------------------------- + # -- Generate temperature key + # --------------------------------------------------------- # Generate key step = (MAX_TEMP - MIN_TEMP) / (key_entries-1) @@ -133,4 +229,4 @@ def ratio_pyrometry_pipeline( tempkey[temps[i]] = f"rgb({c[2]}, {c[1]}, {c[0]})" # original, transformed, legend - return img_orig, img_jet, tempkey, ptemps + return img_orig, img_jet, tempkey, ptemps, individual_firebrands diff --git a/templates/index.html b/templates/index.html index a05d6ed..6a36f70 100644 --- a/templates/index.html +++ b/templates/index.html @@ -50,8 +50,13 @@

Firebrand Detection Settings

- - + + +
+ + + +

Output Settings

diff --git a/templates/pyrometry-results.html b/templates/pyrometry-results.html index 494dce6..0490e50 100644 --- a/templates/pyrometry-results.html +++ b/templates/pyrometry-results.html @@ -7,6 +7,9 @@ {% block content %}
+ +

General Results

+ @@ -40,6 +43,44 @@
Input Image
+ +

Individual Firebrands

+ + + + + + + + {% for item in individual_firebrands %} + + {# output heatmap #} + + + + {# legend #} + + + {% endfor %} + +
Output HeatmapLegend
+ result image + +

Firebrand {{ loop.index }}

+ + + + + + {% for temp, color in item["legend"].items() %} + + + + + {% endfor %} +
ColorTemperature
{{ temp }}°C
+
+
{# Temperature Frequency Plot #}
@@ -50,6 +91,9 @@ onclick="saveData(`{{csv_data}}`, 'temperature-data.csv')">Download Data as CSV<
{{ freq_plot | safe }} + + +
{% endblock %}