how to upload pdf file in database using asp.net c# : Select text in pdf reader SDK Library service wpf asp.net winforms dnn PsychoPyManual7-part834

PsychoPy - Psychology software for Python, Release 1.84.0
actually running the study. If your experiment is not behaving as you expect it to, this is an excellent place to
begin to work out what the problem is.
Screen settings
Monitor The name ofthe monitorcalibration. Must match one of the monitor names fromMonitorCenter.
Screen: If multiple screens are available (and if the graphics card is not an intel integrated graphics chip) then the
user can choose which screen they use (e.g. 1 or 2).
Full-screen window: If this box is checked then the experiment window will fill the screen (overriding the window
size setting and using the size that the screen is currently set to in the operating systemsettings).
Window size: The size of the window in pixels,if this is not to be a full-screen window.
Units The default units ofthe window(seeUnitsforthewindowandstimuli). These can be overridden byindividual
Components.
6.6 Defining the onset/duration of components
As ofversion 1.70.00,the onset and offset times ofstimuli can be defined in several ways.
Start and stop times can be entered in terms of seconds (time (s)), by frame number (frameN)or in relation to another
stimulus (condition). Conditionwouldbe used tomakeComponentsstart orstop dependingonthe status of something
else,for example when a sound has finished. Duration can also be varied using aCodeComponent.
If you need very precise timing (particularly for very brief stimuli for instance) then it is best to control your on-
set/duration by specifying the number of frames the stimulus will be presented for.
Measuring duration in seconds (or milliseconds) is not very precise because it doesn’t take into account the fact that
your monitor has a fixed frame rate. For example if the screen has a refresh rate of 60Hz you cannot present your
stimulus for 120ms; the frame rate would limit you to 116.7ms (7 frames) or 133.3ms (8 frames). The duration of a
frame (in seconds) is simply 1/refresh rate in Hz.
Condition would be used to makeComponentsstart or stop depending on the status of something else, for example
when a movie has finished. Duration canalso be varied using a code component.
In cases where PsychoPycannotdeterminethestart/endpointofyourComponent(e.g. because it is a variable)you can
enter an ‘Expected’start/duration. This simply allows components with variable durations to be drawn in the Routine
window. If you do not enter the approximate duration it will not be drawn, but this will not affect experimental
performance.
For more details of howto achieve good temporal precision seeTimingIssuesandsynchronisation
6.6.1 Examples
• Use time(s)or frameN and simply enternumeric values into the start and duration boxes.
• Use time(s) or frameN and enter a numeric value into the start time and set the duration to a variable name by
preceeding it with a $ as describedhere. Then set expected time to see an approximation in yourroutine
• Use condition to cause the stimulus to start immediately after a movie component called myMovie, by entering
$myMovie.status==FINISHED into the start time.
6.6. Defining the onset/duration of components
65
Select text in pdf reader - search text inside PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn how to search text in PDF document and obtain text content and location information
pdf text search; cannot select text in pdf
Select text in pdf reader - VB.NET PDF Text Search Library: search text inside PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn How to Search Text in PDF Document and Obtain Text Content and Location Information in VB.NET application
search a pdf file for text; select text in pdf file
PsychoPy - Psychology software for Python, Release 1.84.0
6.7 Generating outputs (datafiles)
There are 4 main forms ofoutputfile from PsychoPy:
• Excel 2007 files (.xlsx) seeExcelDataFilesfor more details
• text data files (.csv, .tsv,or .txt) seeDelimitedTextFilesfor more details
• binary data files (.psydat) seePsychoPyDataFilesfor more details
• log files (.log) seeLogFilesfor more details
6.8 Common Mistakes (aka Gotcha’s)
6.8.1 General Advice
• Python and therefore PsychoPy is CASE SENSITIVE
• To use a dollar sign ($) for anything other than to indicate a code snippet for example in aTextComponent,
precede it witha backslash \$ (the backslash won’t be printed)
• Have you entered your the settings for yourmonitor? If you are using degrees as a unit of measurement and
have not entered your monitor settings,the size of stimuli will not be accurate.
• If your experiment is not behaving in the way that you expect. Have you looked at thelogfile? This can point
you in the right direction. Did you know you can change the type of information that is stored in the log file in
preferences by changing thelogginglevel.
• Have you tried compiling the script andrunning it. Does this produce a particular error message that points you
at a particular problemarea? You can also change things in a more detailed way in the coder viewand if you are
having problems, reading through the script can highlight problems. Reading a compiled script can also help
with the creation of aCodeComponent
6.8.2 My stimulus isn’t appearing, there’s only the grey background
• Have you checked the size of your stimulus? If it is 0.5x0.5 pixels you won’t be able to see it!
• Have you checked the position of your stimulus? Is it positioned off the screen?
6.8.3 The loop isn’t using my Excel spreadsheet
• Have you remembered to specify the file youwant to use when setting up the loop?
• Have you remembered to add the variables proceeded by the $ symbol to yourstimuli?
6.8.4 I just want a plain square, but it’s turning into a grating
• Ifyou don’t want yourstimulus to have a texture, you need Image to be None
66
Chapter 6. Builder
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
C#: Select All Images from One PDF Page. C# programming sample for extracting all images from a specific PDF page. C#: Select An Image from PDF Page by Position.
pdf find text; how to select text in pdf and copy
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
VB.NET : Select An Image from PDF Page by Position. Sample for extracting an image from a specific position on PDF in VB.NET program.
how to select text in pdf; convert a scanned pdf to searchable text
PsychoPy - Psychology software for Python, Release 1.84.0
6.8.5 The code snippet I’ve entered doesn’t do anything
• Have you remembered toput a $ symbol at the beginning (this isn’t necessary, and should be avoided in aCode
Component)?
• A dollar sign as the first character of a line indicates to PsychoPy that the rest of the line is code. It does not
indicate a variable name (unlike in perl or php). This means that if you are, for example, using variables to
determine position, enter $[x,y]. The temptation is touse [$x,$y], which will not work.
6.8.6 My stimulus isn’t changing as I progress through the loop
• Have youchanged the settingforthe variable that you wanttochange to‘change every repeat’ (or‘change every
frame’)?
6.8.7 I’m getting the error message AttributeError: ‘unicode object has no attribute
‘XXXX’
• This type of error is usually caused by a naming conflict. Whilst we have made every attempt to make sure that
these conflicts produce a warning message it is possible that they may still occur.
• The most common source of naming conflicts in an external file which has been imported to be used in a loop
i.e. .xlsx, .csv.
• Checktomake sure thatall ofthevariable names are unique. There canbe no repeatedvariable names anywhere
in your experiment.
6.8.8 The window opens and immediately closes
• Have you checked all of your variable entries are accepted commands e.g. gauss but not Gauss
• If you compile your experiment and run it from the coder window what does the error message say? Does it
point you towards a particularvariable which may be incorrectly formatted?
If you are having problems getting the application to run please seeTroubleshooting
6.9 Compiling a Script
If you click the compile script icon this will display the script for your experiment in theCoderwindow.
This can be used for debugging experiments, entering small amounts of code and learning a bit about writing scripts
amongst other things.
The code is fully commented and so this can be an excellent introduction to writing yourown code.
6.10 Set up your monitor properly
It’s a really good idea to tell PsychoPy about the set up of your monitor, especially the size in cm and pixels and its
distance, so that PsychoPy can present your stimuli in units that will be consistent in another lab with a different set
up (e.g. cm ordegrees ofvisual angle).
6.9. Compiling a Script
67
C# PDF Text Redact Library: select, redact text content from PDF
Free online C# source code to erase text from adobe PDF file in Visual Studio. NET class without adobe reader installed. Provide
search text in pdf image; find text in pdf files
VB.NET PDF Text Redact Library: select, redact text content from
PDF Image Extract; VB.NET Write: Insert text into PDF; VB.NET Annotate: PDF Markup & Drawing. XDoc.Word for C#; C#; XImage.OCR for C#; XImage.Barcode Reader for C#
search pdf for text; how to make a pdf document text searchable
PsychoPy - Psychology software for Python, Release 1.84.0
You should do this inMonitorCenterwhich can be opened from Builder by clicking on the icon that shows two
monitors. InMonitorCenteryou can create settings for multiple configurations, e.g. different viewing distances or
different physical devices and then select the appropriate one by name in your experiments or scripts.
Having set up your monitor settings you should then tell PsychoPy which of your monitor setups to use for this
experiment bygoing to theExperimentsettingsdialog.
6.11 Future developments
The builder view still has a few rough edges, but is hopefully fairly usable. Here are some of the ways I hope it will
improve:
• More components. Several of the stimuli and events that PsychoPy can handle don’t currently show up as
components in the builder view, butthey can be added easily (take a lookinside the components directory to see
how easy it is to create a component).
• Dialogue entry validation. Dialogue boxes currently allow you to type almost anything into theirwindows. The
only current checking is that a name is givento the component and that this is unique. More checking is needed
to reduce errors.
• Similar to the above, I hope to add suggested entries to go into dialogs, as a form of help. e.g. on right-clicking
an entry box, say for stimulus orientation, a context menu should appear with ideas including numeric values,
known local variables (e.g. “thisTrial.rgb”, based on the existing loops in theFlow) and global variable ideas
(e.g. “frameN*360”)
• Bettercodeoutput. I hopethat the builderoutput codewill illustrate bestpractice forprecise timingandstimulus
presentation (it willprobablyalways take more lines than a man-made script,but itshould be atleast as precise).
At the moment that isn’t the case. e.g. The buildershould strongly recommend an interval between trials where
only static stimuli are drawn (e.g. fixation) and update components for this trial in that interval.
68
Chapter 6. Builder
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Barcoding. XImage.Barcode Reader. XImage.Barcode Generator. Others. XDoc.Tiff. XDoc.Dicom. 1. Select tool. Select text and image on PDF document. 2. Hand tool.
convert pdf to searchable text; how to make pdf text searchable
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
Barcoding. XImage.Barcode Reader. XImage.Barcode Generator. Others. XDoc.Tiff. XDoc.Dicom. 1. Select tool. Select text and image on PDF document. 2. Hand tool.
how to search pdf files for text; how to select text in pdf reader
CHAPTER
SEVEN
CODER
Note: These do not teach you about Python per se, and you are recommended also to learn about that (Pythonhas
many excellent tutorials for programmers and non-programmers alike). In particular, dictionaries, lists and numpy
arrays are used a great deal in most PsychoPy experiments.
Youcanlearn to use the scriptinginterfacetoPsychoPyinseveralways,andyoushouldprobablyfollowa combination
ofthem:
• BasicConcepts: some of the logic of PsychoPy scripting
• PsychoPyTutorials: walk you through the development of some semi-complete experiments
• demos: in the demos menu of Coder view. Many and varied
• use theBuildertocompileascriptand see how it works
• check theReferenceManual(API)forfurther details
• ultimately go into PsychoPy and start examining the source code. It’s just regular python!
7.1 Basic Concepts
7.1.1 Presenting Stimuli
Note: Before you start, tell PsychoPy about your monitor(s)using theMonitorCenter. That way you get to use units
(like degrees of visual angle) that will transfereasily to other computers.
Stimulus objects
Python is an ‘object-oriented’ programming language, meaning that most stimuli in PsychoPy are represented by
python objects,with various associated methods and information.
Typically you should create your stimulus once, at the beginning of the script, and then change it as you need to later
using set____() commands. For instance,create your text and then change its color any time you like:
from psychopy import visual, core
win = visual.Window([400,400])
message = visual.TextStim(win, text='hello')
message.setAutoDraw(True)
# automatically draw every frame
win.flip()
core.wait(2.0)
message.setText('world')
# change properties of existing stim
69
VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
Barcoding. XImage.Barcode Reader. XImage.Barcode Generator. Hand. Pan around the PDF document. Ⅱ. Select text and image to copy and paste using Ctrl+C and Ctrl+V
select text in pdf reader; search text in pdf using java
C# WPF PDF Viewer SDK to view PDF document in C#.NET
Barcoding. XImage.Barcode Reader. XImage.Barcode Generator. Hand. Pan around the PDF document. Ⅱ. Select text and image to copy and paste using Ctrl+C and Ctrl+V
search text in multiple pdf; how to make a pdf document text searchable
PsychoPy - Psychology software for Python, Release 1.84.0
win.flip()
core.wait(2.0)
Setting stimulus attributes
Stimulus attributes are typically setusing either
• a string,which is just some characters (as message.setText(‘world’)above)
• a scalar (a number; see below)
• an x,y-pair (two numbers; see below)
x,y-pair: PsychoPy is very flexible in terms of input. You can specify the widely used x,y-pairs using these types:
• A Tuple (x, y) with two elements
• A List [x, y]with twoelements
• A numpy array([x, y]) with two elements
However, PsychoPy always converts thex,y-pairs to numpyarraysinternally. Forexample,all three assignments
of pos are equivalent here:
stim.pos = (0.5-0.2)
# Right and a bit up from the center
print stim.pos
# array([0.5, -0.2])
stim.pos = [0.5-0.2]
print stim.pos
# array([0.5, -0.2])
stim.pos = numpy.array([0.5-0.2])
print stim.pos
# array([0.5, -0.2])
Choose your favorite :-) However, you can’t assign elementwise:
stim.pos[14
# has no effect
Scalar: Int or Float.
Mostly, scalars are no-brainers to understand. E.g.:
stim.ori 90
# Rotate stimulus 90 degrees
stim.opacity 0.8
# Make the stimulus slightly transparent.
However, scalars can also be used to assign x,y-pairs. In that case, bothx and y get the value of the scalar. E.g.:
stim.size 0.5
print stim.size
# array([0.5, 0.5])
Operations on attributes: Operations during assignment of attributes are a handy way to smoothly alter the appear-
ance ofyour stimuli in loops.
Most scalars and x,y-pairs support the basic operations:
stim.attribute += value
# addition
stim.attribute -= value
# subtraction
stim.attribute
*
value
# multiplication
stim.attribute /= value
# division
stim.attribute %= value
# modulus
stim.attribute
**
value # power
They are easy to use and understand onscalars:
70
Chapter 7. Coder
C# Image: Select Document or Image Source to View in Web Viewer
Supported document formats: TIFF, PDF, Office Word, Excel, PowerPoint, Dicom; Supported Viewer Library enables Visual C# programmers easily to select and load
search text in pdf image; search multiple pdf files for text
C# WPF PDF Viewer SDK to annotate PDF document in C#.NET
Click to select drawing annotation with default properties. Other Tab. Item. Name. Description. 17. Text box. Click to add a text box to specific location on PDF
pdf find and replace text; how to select text on pdf
PsychoPy - Psychology software for Python, Release 1.84.0
stim.ori 5
# 5.0, set rotation
stim.ori += 3.8
# 8.8, rotate clockwise
stim.ori -= 0.8
# 8.0, rotate counterclockwise
stim.ori /= 2
# 4.0, home in on zero
stim.ori
**
3
# 64.0, exponential increase in rotation
stim.ori %= 10
# 4.0, modulus 10
However, they can also be used on x,y-pairs in very flexible ways. Here you can use both scalars and x,y-pairs
as operators. In the latter case, the operations are element-wise:
stim.size 5
# array([5.0, 5.0]), set quadratic size
stim.size +=2
# array([7.0, 7.0]), increase size
stim.size /= 2
# array([3.5, 3.5]), downscale size
stim.size += (0.52.5# array([4.0, 6.0]), , a little e wider and d much taller
stim.size
*
(20.25)
# array([8.0, 1.5]), upscale horizontal and downscale vertical
Operations are not meaningful forstrings.
Timing
There are various ways to measure andcontrol timing in PsychoPy:
• using frame refresh periods (most accurate, least obvious)
• checking the time on Clock objects
• using core.wait() commands (most obvious, least flexible/accurate)
Using core.wait(), as in the above example, is clear and intuitive in your script. But it can’t be used while something
is changing. For more flexible timing, you could use a Clock() object fromthe core module:
from psychopy import visual, core
#setup stimulus
win=visual.Window([400,400])
gabor = visual.GratingStim(win, tex='sin', mask='gauss', sf=5, name='gabor')
gabor.setAutoDraw(True)
# automatically draw every frame
gabor.autoLog=False#or we'll get t many messages s about phase change
clock = core.Clock()
#let's draw a stimulus for 2s, drifting for middle 0.5s
while clock.getTime() 2.0:
# clock times are in seconds
if 0.5 <= clock.getTime() 1.0:
gabor.setPhase(0.1'+')
# increment by 10th of cycle
win.flip()
Clocks are accurate to around 1ms (better on some platforms), but using them to time stimuli is not very accurate
because it fails to account for the fact that one frame onyour monitorhas a fixed frame rate. In the above, the stimulus
does not actually get drawn for exactly 0.5s (500ms). If the screen is refreshing at 60Hz (16.7ms per frame) and the
getTime() call reports that the time has reached 1.999s, then the stimulus will draw again for a frame, in accordance
with the while loop statement and will ultimately be displayed for 2.0167s. Alternatively, if the time has reached
2.001s, there will not be an extra frame drawn. So using this method you get timing accurate to the nearest frame
period but with little consistent precision. An error of 16.7ms might be acceptable to long-duration stimuli, but not to
abrief presentation. It also might also give the false impression that a stimulus can be presented for any given period.
At 60Hz refresh you can not present your stimulus for, say, 120ms; the frame period would limit you to a period of
116.7ms (7 frames) or133.3ms (8frames).
As a result, the most precise way to control stimulus timing is to present them for a specified number of frames. The
frame rate is extremely precise, much better than ms-precision. Calls to Window.flip() will be synchronised to the
7.1. Basic Concepts
71
PsychoPy - Psychology software for Python, Release 1.84.0
frame refresh; the script will not continue until the flip has occurred. As a result, on most cards,as long as frames are
not being ‘dropped’ (seeDetectingdroppedframes) you can present stimuli for a fixed,reproducible period.
Note: Some graphics cards, such as Intel GMA graphics chips under win32, don’t support frame sync. Avoid
integrated graphics forexperiment computers wherever possible.
Using the concept of fixed frame periods and flip() calls that sync to those periods we can time stimulus presentation
extremely precisely with the following:
from psychopy import visual, core
#setup stimulus
win=visual.Window([400,400])
gabor = visual.GratingStim(win, tex='sin', mask='gauss', sf=5,
name='gabor', autoLog=False)
fixation = visual.GratingStim(win, tex=None, mask='gauss', sf=0, size=0.02,
name='fixation', autoLog=False)
clock = core.Clock()
#let's draw a stimulus for 2s, drifting for middle 0.5s
for frameN in range(200):#for exactly y 200 0 frames
if 10 <= frameN 150:
# present fixation for a subset of frames
fixation.draw()
if 50 <= frameN 100:
# present stim for a different subset
gabor.setPhase(0.1'+')
# increment by 10th of cycle
gabor.draw()
win.flip()
Using autoDraw
Stimuli are typically drawn manually on every frame in which they are needed, using the draw() function. You can
also set any stimulus to start drawing every frame using setAutoDraw(True) or setAutoDraw(False). If you use these
commands on stimuli that alsohave autoLog=True, then these functions will also generate alogmessageon the frame
when the first drawing occurs and on the first frame when it is confirmed to have ended.
7.1.2 Logging data
TrialHandlerandStairHandlercan bothgenerate data outputs in which responses are stored,in relationto the stimulus
conditions. In addition to those data outputs, PsychoPy can created detailed chronological log files of events during
the experiment.
Log levels and targets
Logmessages have various levels ofseverity: ERROR, WARNING, DATA,EXP, INFO and DEBUG
Multiple targets can also be created to receive log messages. Each target has a particular critical level and receives all
logged messages greater than that. For example, you could set the console (visual output) to receive only warnings
and errors, have a central log file that you use to store warning messages across studies (with file mode append), and
another to create a detailed log of data and events within a single study with level=INFO:
from psychopy import logging
logging.console.setLevel(logging.WARNING)
#overwrite (filemode='w') a detailed log of the last run in this dir
lastLog=logging.LogFile("lastRun.log", level=logging.INFO, filemode='w')
72
Chapter 7. Coder
PsychoPy - Psychology software for Python, Release 1.84.0
#also append warnings to a central log file
centralLog=logging.LogFile("c:/psychopyExps.log", level=logging.WARNING, filemode='a')
Updating the logs
For performance purposes log files are not actually written when the log commands are ‘sent’. They are stored in a
list and processed automatically when the script ends. You might also choose to force a flush of the logged messages
manually during the experiment (e.g. during an inter-trial interval):
from psychopy import logging
...
logging.flush()#write messages s out to o all l targets
This should only be necessary if you want to see the logged information as the experiment progresses.
AutoLogging
New in version1.63.00
Certain events will log themselves automatically by default. For instance, visual stimuli send log messages every
time one of their parameters is changed, and when autoDraw is toggled they send a message that the stimulus has
started/stopped. All such log messages are timestamped with the frame flip on which they take effect. To avoid
this logging, for stimuli such as fixation points that might not be critical to your analyses, or for stimuli that change
constantly and will flood the logging system with messages, the autoLogging can be turned on/off at initialisation of
the stimulus and can be alteredafterwards with .setAutoLog(True/False)
Manual methods
In addition to a variety of automatic logging messages, you can create your own, of various levels. These can be
timestamped immediately:
from psychopy import logging
logging.log(level=logging.WARN, msg='something important')
logging.log(level=logging.EXP, msg='something about the e conditions')
logging.log(level=logging.DATA, msg='something about a a response')
logging.log(level=logging.INFO, msg='something less important')
There are additional convenience functions for the above: logging.warn(‘a warning’)etc.
Forstimulus changesyouprobablywant the log messagetobe timestampedbased on the frameflip (when the stimulus
is next presented) rather than the time that the log message is sent:
from psychopy import logging, visual
win = visual.Window([400,400])
win.flip()
logging.log(level=logging.EXP, msg='sent immediately')
win.logOnFlip(level=logging.EXP, msg='sent on actual flip')
win.flip()
Using a custom clock for logs
New in version1.63.00
7.1. Basic Concepts
73
PsychoPy - Psychology software for Python, Release 1.84.0
By defaulttimes for log files are reported as seconds afterthevery beginning ofthe script (often it takes a few seconds
to initialise and import all modules too). You can set the logging system to use any given core.Clock object
(actually,anything with a getTime() method):
from psychopy import core, logging
globalClock=core.Clock()
logging.setDefaultClock(globalClock)
7.1.3 Handling Trials and Conditions
TrialHandler
This is what underlies the random and sequential loop types inBuilder, they work using themethodofconstants. The
trialHandler presents a predetermined list of conditions in eithera sequential orrandom(without replacement) order.
see TrialHandler for more details.
StairHandler
This generates thenext trialusing anadaptivestaircase. The conditions are not predeterminedandaregenerated based
on the participant’s responses.
Staircases are predominately used in psychophysics to measure the discrimination and detection thresholds. However
they can be used in any experiment which varies a numeric value as a result of a 2 alternative forced choice (2AFC)
response.
The StairHandler systematically generates numbers based on staircase parameters. These can then be used to define a
stimulus parametere.g. spatialfrequency,stimulus presentationduration. Iftheparticipant gives the incorrect response
the numbergenerated will get larger and if the participant gives the correct response the numberwill get smaller.
seeStairHandler for more details
7.2 PsychoPy Tutorials
7.2.1 Tutorial 1: Generating your first stimulus
Atutorial to get you going with yourfirst stimulus display.
Know your monitor
PsychoPy has been designed to handle your screen calibrations for you. It is also designed to operate (if possible) in
the final experimental units that you like to use e.g. degrees of visual angle.
In order to do this PsychoPy needs to know a little about your monitor. There is a GUI to help with this (select
MonitorCenterfromthe tools menu ofPsychoPyIDE or run ...site-packages/monitors/MonitorCenter.py).
In the MonitorCenter window you can create a new monitor name, insert values that describe your monitor and run
calibrations like gamma corrections. For nowyou can just stick to the [testMonitor] but give it correct values for your
screen size in number of pixels and width in cm.
Now, when you create a window on your monitor you can give it the name ‘testMonitor’ and stimuli will know how
they should be scaled appropriately.
74
Chapter 7. Coder
Documents you may be interested
Documents you may be interested