Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

psycho-narrator.C File Reference


Detailed Description

Psychophysics interactive display of still images or movies with speech recording

Definition in file psycho-narrator.C.

#include "Component/ModelManager.H"
#include "Component/ComponentOpts.H"
#include "Component/ModelOptionDef.H"
#include "Component/EventLog.H"
#include "Image/Image.H"
#include "Raster/Raster.H"
#include "Video/VideoFrame.H"
#include "Util/Types.H"
#include "Util/MathFunctions.H"
#include "Util/FileUtil.H"
#include "Util/sformat.H"
#include "rutz/time.h"
#include "Psycho/PsychoDisplay.H"
#include "Psycho/EyeTrackerConfigurator.H"
#include "Psycho/EyeTracker.H"
#include "Psycho/PsychoOpts.H"
#include "GUI/GUIOpts.H"
#include "Devices/AudioGrabber.H"
#include "Devices/AudioMixer.H"
#include "Devices/DeviceOpts.H"
#include "Audio/AudioWavFile.H"
#include "Media/MPEGStream.H"
#include "Media/MediaOpts.H"
#include "Neuro/NeuroOpts.H"
#include <vector>
#include <pthread.h>

Include dependency graph for psycho-narrator.C:

Go to the source code of this file.

Classes

struct  AudioArg

Defines

#define CACHELEN   150
#define REC_NONE   0
#define REC_DURING   (1 << 0)
#define REC_AFTER   (1 << 1)
#define REC_ALL   (REC_DURING | REC_AFTER)

Enumerations

enum  StimulusType { STIM_IMAGE, STIM_MOVIE, STIM_UNKNOWN }

Functions

StimulusType getStimulusType (const std::string &fname)
uint readRecordStyle (const std::string &recStr)
void snooze (uint sec, nub::soft_ref< PsychoDisplay > &d)
void trackEyes (bool trk, nub::soft_ref< EyeTracker > &et, nub::soft_ref< PsychoDisplay > &d)
void recordAudio (bool rec, nub::soft_ref< PsychoDisplay > &d)
void calibrateISCAN (bool mouse, nub::soft_ref< PsychoDisplay > &d)
static bool cacheFrame (nub::soft_ref< InputMPEGStream > &mp, std::deque< VideoFrame > &cache)
static void * grabAudio (void *arg)
static int submain (const int argc, char **argv)
int main (const int argc, char **argv)

Variables

const char * imageExtensions []
const char * movieExtensions []
static const ModelOptionDef OPT_EyeTrackerRecalib
static const ModelOptionDef OPT_EyeTrackerRec
static const ModelOptionDef OPT_ShuffleImg
static const ModelOptionDef OPT_MouseClick
static const ModelOptionDef OPT_BlankPeriod
static const ModelOptionDef OPT_StaticPeriod
static const ModelOptionDef OPT_AudRec
static pthread_mutex_t audMutexKey = PTHREAD_MUTEX_INITIALIZER
volatile bool audExit = false
volatile bool audRec = false


Variable Documentation

const char* imageExtensions[]
 

Initial value:

 { ".pnm", ".pgm", ".ppm", ".pbm", ".pfm", ".png",
                                                         ".jpeg", ".jpg", ".dpx", NULL }

Definition at line 80 of file psycho-narrator.C.

Referenced by getStimulusType().

const char* movieExtensions[]
 

Initial value:

 { ".avi", ".mpg", ".mpeg", ".m4v", ".m2v", ".mov",
                                                         ".flv", ".dv", NULL }

Definition at line 82 of file psycho-narrator.C.

Referenced by getStimulusType().

const ModelOptionDef OPT_AudRec [static]
 

Initial value:

  { MODOPT_ARG_STRING, "AudioRecordStyle", &MOC_DISPLAY, OPTEXP_SAVE,
    "During when audio(speech) should be grabbed and recorded. "
    "'During' means the recording is done only during the stimulus presentation whereas "
    "'After' is done only after the presentation - i.e. during the blank sessions.",
    "aud-rec", '\0', "<None|During|After|All>", "All" }

Definition at line 150 of file psycho-narrator.C.

const ModelOptionDef OPT_BlankPeriod [static]
 

Initial value:

  { MODOPT_ARG(uint), "BlankPeriod", &MOC_DISPLAY, OPTEXP_CORE,
    "The period (in sec) of the blank sessions between the image presentations. "
    "if set to 0, no blank session will be presented.",
    "blank-period", '\0', "<int>", "5" }

Definition at line 138 of file psycho-narrator.C.

const ModelOptionDef OPT_EyeTrackerRec [static]
 

Initial value:

  { MODOPT_ARG_STRING, "EyeTrackerRecordStyle", &MOC_EYETRACK, OPTEXP_SAVE,
    "During when eye-tracker data should be grabbed and recorded. "
    "'During' means the recording is done only during the stimulus presentation whereas "
    "'All' is done even after the presentation - i.e. including the blank sessions.",
    "et-rec", '\0', "<During|All>", "During" }

Definition at line 111 of file psycho-narrator.C.

const ModelOptionDef OPT_EyeTrackerRecalib [static]
 

Initial value:

  { MODOPT_ARG(uint), "EyeTrackerRecalibration", &MOC_EYETRACK, OPTEXP_CORE,
    "Recalibration frequency of EyeTracker. Set 0 if you don't want recalibration at all."
    "If you set to 1, then recalibration will be done after every single image session.",
    "et-recalib", '\0', "<int>", "0" }

Definition at line 104 of file psycho-narrator.C.

const ModelOptionDef OPT_MouseClick [static]
 

Initial value:

  { MODOPT_FLAG, "WaitForMouseClick", &MOC_DISPLAY, OPTEXP_CORE,
    "Wait for mouse clicks instead of key presses.",
    "mouse-click", '\0', "<bool>", "false" }

Definition at line 133 of file psycho-narrator.C.

const ModelOptionDef OPT_ShuffleImg [static]
 

Initial value:

  { MODOPT_FLAG, "ShuffleImage", &MOC_DISPLAY, OPTEXP_CORE,
    "Whether shuffle the order of input stimuli or not.",
    "shuffle", '\0', "<bool>", "false" }

Definition at line 128 of file psycho-narrator.C.

const ModelOptionDef OPT_StaticPeriod [static]
 

Initial value:

  { MODOPT_ARG(uint), "StaticImagePeriod", &MOC_DISPLAY, OPTEXP_CORE,
    "The period (in sec) of static images (if the currently showing image is a raster file) "
    "during which they are presented on the screen.",
    "static-period", '\0', "<int>", "5" }

Definition at line 144 of file psycho-narrator.C.


Generated on Sun Nov 22 13:43:25 2009 for iLab Neuromorphic Vision Toolkit by  doxygen 1.4.4