Ear-segmentation-ai

Image Processing API

ImageProcessor

The main class for processing static images.

Class Definition

from earsegmentationai import ImageProcessor

Constructor

ImageProcessor(
    device: str = "cpu",
    threshold: float = 0.5,
    batch_size: int = 1
)

Parameters:

Methods

process()

Process single or multiple images for ear segmentation.

def process(
    input_data: Union[str, Path, np.ndarray, List[Union[str, Path, np.ndarray]]],
    return_probability: bool = False,
    return_visualization: bool = False,
    save_results: bool = False,
    output_dir: Optional[Union[str, Path]] = None,
) -> Union[ProcessingResult, BatchProcessingResult]

Parameters:

Returns:

ProcessingResult

Result object for single image processing.

Attributes:

BatchProcessingResult

Result object for batch processing.

Attributes:

Examples

Basic Usage

from earsegmentationai import ImageProcessor

# Initialize processor
processor = ImageProcessor(device="cpu")

# Process single image
result = processor.process("path/to/image.jpg")
if result.success:
    print(f"Ear detected: {result.num_ears > 0}")
    print(f"Confidence: {result.confidence:.2f}")

Batch Processing

# Process directory
results = processor.process("path/to/images/")
print(f"Processed {results.total_images} images")
print(f"Detection rate: {results.detection_rate:.1f}%")

# Process list of images
image_list = ["img1.jpg", "img2.jpg", "img3.jpg"]
results = processor.process(image_list)

Advanced Usage

# Process with all options
result = processor.process(
    "image.jpg",
    return_probability=True,
    return_visualization=True,
    save_results=True,
    output_dir="output/"
)

# Access probability map
if result.probability_map is not None:
    prob_map = result.probability_map

# Access visualization
if result.visualization is not None:
    cv2.imwrite("visualization.jpg", result.visualization)

Error Handling

try:
    result = processor.process("image.jpg")
    if not result.success:
        print("Processing failed")
except Exception as e:
    print(f"Error: {e}")