Muhammad Ahad Hassan Khan commited on
Commit
93a18ad
·
1 Parent(s): 19b89fd
Files changed (1) hide show
  1. app.py +17 -15
app.py CHANGED
@@ -25,20 +25,22 @@ async def predict_ndvi_api(file: UploadFile = File(...)):
25
  norm_img = normalize_rgb(np.array(img))
26
  pred_ndvi = predict_ndvi(model, norm_img)
27
 
28
- # Prepare visualization image
29
- vis_img_io = create_visualization(norm_img, pred_ndvi)
30
- vis_img_io.seek(0)
31
- vis_img_base64 = base64.b64encode(vis_img_io.read()).decode("utf-8")
32
-
33
- # Convert NDVI array to nested list (e.g., for JSON)
34
- ndvi_list = pred_ndvi.tolist()
35
-
36
- return JSONResponse(
37
- content={
38
- "ndvi_array": ndvi_list,
39
- "visualization": vis_img_base64
40
- }
41
- )
 
 
 
42
  except Exception as e:
43
  return JSONResponse(status_code=500, content={"error": str(e)})
44
-
 
25
  norm_img = normalize_rgb(np.array(img))
26
  pred_ndvi = predict_ndvi(model, norm_img)
27
 
28
+ # Create preview (small visualization)
29
+ img_io = create_visualization(norm_img, pred_ndvi)
30
+ img_io.seek(0)
31
+ preview_img = Image.open(img_io)
32
+ preview_img.thumbnail((256, 256)) # Resize for fast rendering
33
+ preview_bytes = BytesIO()
34
+ preview_img.save(preview_bytes, format="PNG")
35
+ preview_bytes.seek(0)
36
+
37
+ img_base64 = base64.b64encode(preview_bytes.read()).decode("utf-8")
38
+ ndvi_array = pred_ndvi.tolist() # Convert NumPy array to list
39
+
40
+ return {
41
+ "preview_base64": img_base64,
42
+ "ndvi_array": ndvi_array # This can be big depending on image size
43
+ }
44
+
45
  except Exception as e:
46
  return JSONResponse(status_code=500, content={"error": str(e)})