import requests from pathlib import Path def test_endpoint(image_path, point_coords=None, point_labels=None): # URL for local Flask server url = "http://localhost:5000/predict" # Open image file with open(image_path, 'rb') as f: files = {'file': f} data = {} # Add point prompts if provided if point_coords is not None and point_labels is not None: data['point_coords'] = str(point_coords) data['point_labels'] = str(point_labels) # Make request response = requests.post(url, files=files, data=data) print(f"Status Code: {response.status_code}") if response.status_code == 200: result = response.json() print("\nSuccess!") print(f"Number of masks: {len(result['masks']) if 'masks' in result else 0}") print(f"Scores: {result['scores'] if 'scores' in result else None}") else: print(f"Error: {response.text}") if __name__ == "__main__": # Test with your image image_path = Path("images/20250121_gauge_0001.jpg") if not image_path.exists(): print(f"Error: Image not found at {image_path}") exit(1) # Test without points print("\nTesting without points...") print(f"Testing with image: {image_path}") test_endpoint(image_path) # Test with points print("\nTesting with points...") test_endpoint( image_path, point_coords=[[500, 375]], # Example coordinates point_labels=[1] # 1 for foreground )