// // MPT_GenderController.m // GenderController // // Created by Andrew Salamon on 9/22/08. // Copyright 2008 Machine Perception Laboratory, University of California San Diego. All rights reserved. // #import "MPT_GenderController.h" #import @implementation MPT_GenderController - (id)initWithBundle:(NSBundle *)_bundle { if( self = [super initWithBundle:_bundle] ) { gender = new GenderClassifier; } return self; } - (void)dealloc { delete gender; [super dealloc]; } - (id)copyWithZone:(NSZone *)zone { id cp = [super copyWithZone:zone]; return cp; } - (void)makeThreadsafe { [super makeThreadsafe]; gender = new GenderClassifier; } - (NSString *)localizedName { return NSLocalizedStringFromTableInBundle(@"Gender Detector", nil, [self bundle], @""); } - (NSString *)internalName { return @"gender"; } - (NSString *)step { return MPT_PluginStep_AfterFaces; } - (id)processFace:(ObjectWithFeatures &)face fromFeatureDetector:(FeatureDetector *)fd withImage:(RImage &)pixels { NSNumber *res = NULL; res = [NSNumber numberWithFloat:gender->classifyGender( pixels, face.x, face.y, face.xSize )]; return res; } - (id)processFaces:(EyeFaceList &)faces fromEyefinder:(MPTSlidingWindow *)eyefinder withImage:(RImage &)pixels { NSNumber *res = NULL; if( faces.size() > 0 ) res = [NSNumber numberWithFloat:gender->classifyGender( pixels, faces[0].x, faces[0].y, faces[0].xSize )]; return res; } - (id)processFace:(FaceObject &)face withImage:(RImage &)pixels { return NULL; } - (void)processNoFace { } @end