// // MPT_CERT.h // AUCoderDemo // // Created by Andrew Salamon on 5/17/06. // Copyright (c) 2006 Machine Perception Laboratory // University of California San Diego. // #import @class MPT_Face; @class MPT_RimageAdaptor; @interface MPT_CERT : NSObject { NSImage *grayImage; NSImage *videoImage; NSMutableArray *results; NSMutableDictionary *pluginResults; NSPoint leftEye; NSPoint rightEye; NSRect face; NSMutableArray *faceArray; // MPT_Face *largestFace; BOOL findFaces; BOOL doFilters; BOOL linearCombo; void *mpeyefinder; ///< MP_eyefinderWrapper. void *rotatingEyefinder; ///< mp_rotatingEyefinder. void *gabor; ///< Can be either mp_threadedGabor or MP_Gabor. void *rotator; ///< MP_RotateFace. void *patch; ///< RImage used to hold the rotated face patch. void *filters; ///< ExpressionFilterWrapper which is used to convert and smooth raw AU data into probabilities. float eyefinderOffset; float eyefinderDropoff; NSMutableDictionary *featuresByName; // convenience object so we don't have to search through all feature plugins every time } - (unsigned int)AUCnt; - (int)AUAtIndex:(unsigned int)ind; - (NSString *)nameForAU:(int)au; - (void)processImage:(NSImage *)image; - (void)processRImageFile:(NSString *)rimagePath; - (void)processRImageAdaptor:(MPT_RimageAdaptor *)rimageAdaptor; - (NSArray *)results; - (NSMutableDictionary *)pluginResults; - (NSImage *)grayImage; - (NSImage *)videoImage; - (NSPoint)left; - (NSPoint)right; - (NSRect)face; - (NSArray *)faces; - (MPT_Face *)findLargestFace; - (void)clearResults; - (void)setDoingSequence:(BOOL)seq; ///< YES if this is a time sequence of images (e.g. video). - (BOOL)findFaces; - (void)setFindFaces:(BOOL)value; - (BOOL)displayGray; - (BOOL)doFilters; - (BOOL)multipleRotations; - (BOOL)linearCombo; - (void)setLinearCombo:(BOOL)value; - (unsigned int)alignmentMethod; - (float)eyefinderOffset; - (float)defaultEyefinderOffset; - (void)setEyefinderOffset:(float)value; - (float)eyefinderDropoff; - (float)defaultEyefinderDropoff; - (void)setEyefinderDropoff:(float)value; - (void)pluginStateHasChanged:(id)plugin; @end