psycho-narrator.C File Reference

#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 <signal.h>
Include dependency graph for psycho-narrator.C:

Go to the source code of this file.

Classes

struct  SESSION_EXP12
struct  SESSION_EXP3
struct  SESSION_EXP4

Defines

#define CACHELEN   150
#define PROC_NORMAL   0
#define PROC_EXP1   1
#define PROC_EXP2   2
#define PROC_EXP3   3
#define PROC_EXP4   4
#define PROC_INVALID   -1
#define STIM_IMAGE   0
#define STIM_MOVIE   1
#define STIM_UNKNOWN   -1
#define REC_NONE   0
#define REC_DURING   (1 << 0)
#define REC_AFTER   (1 << 1)
#define REC_ALL   (REC_DURING | REC_AFTER)

Functions

int readRecordStyle (const std::string &recStr)
int readProcType (const std::string &procType)
int getStimulusType (const std::string &fname)
void getStimulusName (const std::string &stimPath, std::string &stimName)
void pause (bool mouse, nub::soft_ref< PsychoDisplay > &d)
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)
void saveAudioRecord (const std::string &wavname, nub::soft_ref< PsychoDisplay > &d)
static void * grabAudio (void *arg)
static int submain (const int argc, char **argv)
int main (const int argc, char **argv)

Variables

const char * imageExtensions [] = { ".pnm", ".pgm", ".ppm", ".pbm", ".pfm", ".png", ".jpeg", ".jpg", ".dpx", NULL }
const char * movieExtensions [] = { ".avi", ".mpg", ".mpeg", ".m4v", ".m2v", ".mov", ".flv", ".dv", NULL }
static const ModelOptionDef OPT_ProcedureType
static const ModelOptionDef OPT_EyeTrackerRecalib
static const ModelOptionDef OPT_ShuffleOrder
static const ModelOptionDef OPT_MouseInput
static const ModelOptionDef OPT_BlankPeriod
static const ModelOptionDef OPT_StaticPeriod
static const ModelOptionDef OPT_EyeTrackerRec
static const ModelOptionDef OPT_AudRec
static pthread_mutex_t audMutexKey = PTHREAD_MUTEX_INITIALIZER
volatile bool audExit = false
volatile bool audRec = false
std::vector< AudioBuffer< byte > > rec

Detailed Description

Psychophysics interactive display of still images or movies with speech recording

Definition in file psycho-narrator.C.


Variable Documentation

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 179 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 visual stimulus presentations. "
                "If set to 0, no blank session will be presented. If set bigger than 999,"
                "blank session continues until the user presses mouse button or a key.",
                "blank-period", '\0', "<int>", "5" }

Definition at line 159 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 presentation.",
                "et-rec", '\0', "<During|All>", "During" }

Definition at line 172 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 143 of file psycho-narrator.C.

const ModelOptionDef OPT_MouseInput [static]
Initial value:
        { MODOPT_FLAG, "MouseInput", &MOC_DISPLAY, OPTEXP_CORE,
                "Make mouse input available and use it instead of key presses.",
                "mouse-input", '\0', "<bool>", "false" }

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

const ModelOptionDef OPT_ProcedureType [static]
Initial value:
        { MODOPT_ARG_STRING, "ProcedureType", &MOC_DISPLAY, OPTEXP_CORE,
                "Use experiment specific procedure types that would override relevant parameter settings.",
            "proc-type", '\0', "<Normal|Exp1|Exp2|Exp3|Exp4>", "Normal" }

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

const ModelOptionDef OPT_ShuffleOrder [static]
Initial value:
        { MODOPT_FLAG, "ShuffleOrder", &MOC_DISPLAY, OPTEXP_CORE,
                "Whether shuffle the order of input stimuli or not.",
                "shuffle", '\0', "<bool>", "false" }

Definition at line 149 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. For video clips, this option is ignored.",
                "static-period", '\0', "<int>", "5" }

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

Generated on Sun May 8 08:07:44 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3