AI NEXUS Facial Edema Analysis V2025.b
Uploading and Processing...
This may take a few moments for large files.
Welcome to the AI Nexus Edema Analysis App. Follow these simple steps to analyze facial swelling:
This allows you to capture images directly from your webcam.
This is your "before" photo or mesh file (`.npy`). It is needed for comparison.
This is your "after" photo or mesh file (`.npy`).
Click the "Process Images" button to run the analysis. The results, including key metrics, will be displayed below.
For the most accurate analysis, please ensure images meet the following criteria:
You can also use the API directly for automated analysis. The endpoint accepts both image files (e.g., `.jpg`, `.png`) and pre-calculated mesh files (`.npy`).
curl -X POST \
-F "baseline_input=@/path/to/your/baseline.jpg" \
-F "current_input=@/path/to/your/current.npy" \
https://AI-Nexus-server-url.com/api/analyze
import requests
API_URL = "https://AI-Nexus-server-url.com/api/analyze"
with open("baseline.jpg", "rb") as f1, open("current.jpg", "rb") as f2:
files = {'baseline_input': f1, 'current_input': f2}
response = requests.post(API_URL, files=files)
results = response.json()
print(results)
The `ratios` and `scores` keys in the JSON output correspond to the fields from the server's `FaceMetrics` data structure. The following fields are returned:
#Bilateral (Right and Left)
eyebrow_fulness_right_ratio: float
eyebrow_fulness_left_ratio: float
cheek_fulness_right_ratio: float
cheek_fulness_left_ratio: float
mid_cheek_fulness_right_ratio: float
mid_cheek_fulness_left_ratio: float
jaw_fulness_right_ratio: float
jaw_fulness_left_ratio: float
cheek_curvature_right_ratio: float
cheek_curvature_left_ratio: float
cheek_area_right_ratio: float
cheek_area_left_ratio: float
periorbital_volume_right: float
periorbital_volume_left: float
cheek_volume_right_ratio: float
cheek_volume_left_ratio: float
#Global (Singular)
lip_fulness_ratio: float
face_aspect_ratio: float
lower_to_upper_face_ratio: float
#Note: The `scores` dictionary is only populated for the 'current_results' object.
Conversely, the 'baseline_results' object will have an empty `scores` dictionary.
This is shown in the example JSON output below.
{
"success": true,
"baseline_results": {
"ratios": {
"eyebrow_fulness_right_ratio": 0.512,
"eyebrow_fulness_left_ratio": 0.515,
"cheek_area_right_ratio": 0.834,
"...": "..."
},
"scores": {}
},
"current_results": {
"ratios": {
"eyebrow_fulness_right_ratio": 0.531,
"eyebrow_fulness_left_ratio": 0.533,
"cheek_area_right_ratio": 0.866,
"...": "..."
},
"scores": {
"eyebrow_fulness_right_ratio": 1.037,
"eyebrow_fulness_left_ratio": 1.035,
"cheek_area_right_ratio": 1.038,
"...": "..."
}
}
}