import uvicorn from fastapi import FastAPI, File, UploadFile from starlette.responses import RedirectResponse from application.components import predict, read_imagefile from application.schema import Symptom from application.components.prediction import symptom_check app_desc = """

Use this 🦠 API by uploading any image with `predict/image`

🦠 Brain Tumor Prediction API - it is just for research learning


by Olusegun Odewole - AIOT lab""" app = FastAPI(title=' 🦠 Brain Tumor Prediction API', description=app_desc) @app.get("/", include_in_schema=False) async def index(): return RedirectResponse(url="/docs") @app.post("/predict/image") async def predict_api(file: UploadFile = File(...)): extension = file.filename.split(".")[-1] in ("jpg", "jpeg", "png") if not extension: return "Image must be jpg or png format!" image = read_imagefile(await file.read()) prediction = predict(image) return prediction if __name__ == "__main__": uvicorn.run(app, debug=True)