Welcome To LabBook! :  1/1/2024 9:10:56 AM 

Welcome to LabBook!

LabBook is a general tool for note taking in Laboratory settings. It is meant to replace the 'traditional' paper laboratory note books. It is designed to ease, secure and standardize laboratory note taking, and includes facilities to directly interface with data acquisition and data analyses software, if available. At the time of this writing, LabBook interfaces includes Cheetah (Neuralynx), DataLogger (Deuteron), Matlab, Excel and other Labview behavioral programs.
It is appropriate for researcher conducting experiments or students in laboratory-class settings.

This Demo LabBook is a small tutorial that outlines some of the main features of LabBook versions 2.6x.

- This version of LabBook is under development and is distributed freely. Feedback is greatly appreciated! See Help > About LabBook for web links and acknowledgments.
There is also a 'README.txt' file with additional information.
LabBook can be downloaded from the Fellous Lab (http://amygdala.psychdept.arizona.edu/lab.html)
- This document is up to date as of 1/2024.
- This file and the other sample files referred to in this manual can be found in the application data folder for the current user. Typically: C:\Users\<username>\AppData\Local\LabBook.

 LabBook Basics :  1/1/2024 2:02:25 PM 

 LabBook Basics

Think of LabBook as a 'smart' text editor. As such, it has all the basic functionalities of a text editor, and additional functions tailored to laboratory settings. An overview of the basic editing functions follows. Note: We will refer to the 'NoteBook' when discussing the actual file created LabBook (i.e. this is the NoteBook 'DemoNoteBook.txt'). 

Pages
- Pages can be created and turned by clicking the green 'Turn Page' arrows at the bottom of this window. There is a limit of 300 pages. A page can be of any length. The page number is at the bottom right of this window. Pages can be inserted using the Edit > 'Insert Page Before' menu option. Note that pages CANNOT be deleted, but can be edited at will. Each page is tagged with a creation date and a modification date (blue areas, just above the Page Title). 

- You can flip to a page by right-clicking on the text area and selecting the page to display. The 'Page Title' will be displayed in this menu, so you might want to make it informative.

- You can also navigate the NoteBook by creation date. Click on the Cal icon (green toolbar, near the magnifiers). A calendar will pop up. The dates for which a NoteBook page exist are in bold. Simply click on them to flip to the page. If several pages exist with the same creation date, click multiple times to turn to them successively. Click on the icon a second time to hide the calendar. When clicked, the calendar will be automatically set to the date of current page of the book. Click on 'Today' to move to today's date.

- If you have a mouse with a central roller button and the text window is active (cursor blinking), CTRL+roller will zoom-in/zoom-out all text in the window (try it!). Zoom in and out are also accessible on the green toolbar above (magnifiers). Zooming does not change the font sizes of the page and is restored to normal when you flip pages.

- The entire window can be made transparent by clicking on the 'Opacify' button at the upper right corner. Click again to get the opacity back. This may be useful for monitoring data acquisition while you are typing in an environment where screens are busy.

Technical notes
- Taking good notes during an experiment is essential. We believe it is the hallmark of good scientists. LabBook has a number of security features.
•	1) It is automatically saved. Autosaves are indicated by the small 'S' changing background color in the upper right part of this window. The default AutoSave Time is 90 sec, but you can adjust it depending on your needs between 30 sec and 600 sec (i.e. 10 mins) using the AutoSaveTime option in LBConfig.txt.
•	2) It generates a separate backup file (Temp_<name>) upon exit. See AutoGenerateLabBookBackupFile in LBConfig.txt
•	3) It saves (natively) all the notes in plain text format (extension is .txt but content is RTF) which is human readable.
•	4) An additional copy of the last LabBook opened by the user is kept in tmp_LabBook.txt in the <user>/AppData/Local/LabBook folder.
•	5) When LabBook opens a file (say Rat23Book.txt) it creates a 'Lock file' (Rat23Book.Lock). This file prevents other users from opening Rat23Book.txt while you are using it! It will be deleted (or can be deleted manually) when you close it.
•	6) Tools> Set Backup Location will let you enter a path to a folder where you should put your data backups for that LabBook. It will not do the data backups for you (depends on what data you have, what files you need to backup etc!), but if the 'Remind To Do Backups' option in LBConfig.txt exists (see next page), it will remind you to do them when you exit! 

- The double quotes are special. They will be automatically replaced by single quotes

- We gratefully acknowledge i00SpellCheck for the spell checker functionality.

 LabBook Configuration :  3/3/2024 9:59:14 AM 

 LabBook Configuration

- LabBook style and functionalities can be setup on an user-by-user basis (i.e. may be tailored to a specific Windows user account). The configuration options are in LBConfig.txt and can be edited/viewed using Tools > Preferences > Main LabBook Config. 
- These configurations options can be over-written on a notebook-by-notebook basis. Tools > Preferences > NoteBook Config will allow you to attach a configuration file to the current NoteBook (save it in the same folder as your NoteBook, to make things clean). These settings will be read the next time the NoteBook is opened. 

- In general, when looking for a file, LabBook searches first in the folder in which the current Notebook is located. If not found there, it looks into the default folder specified in LBConfig.txt by the keyword DefaultSearchPath. If the file is not found there, LabBook looks for it in C:\Users\<username>\AppData\Local\LabBook. 

- There are many cool options that let you configure LabBook and match your 'style' of work. Take a few minutes and look at the LBconfig.txt file!
Here is a quick overview. The # just comments that option out (i.e. not active)

CopyLinkImageFile
A copy of each linked picture is placed in the Data folder (if connected to Cheetah)
DON'T Copy Link Image File		
No copies (default). Note: You could have written: DONTCopyLinkImageFile too... 

IncludeLinkedImagesInRTF
When generating a RTF file, all linked pictures are included and will print. Beware of the size/memory issue if you have a lot of linked images...
DONTIncludeLinkedImagesInRTF
Linked files will only be mentioned as linked (default)

DoTheAnnouncements			
Look for an announce.txt file, and display the announcement at the start
DONTDoTheAnnouncements			
Skip announcements (default)
DefaultAnnouncePath, Z:\CENLShare\Docs\Misc			
Default directory for the announcements (blank means <user>/AppData/Local/LabBook)

AutoGenerateLabbookBackupFile		
Will automatically generate a unique backup file after each LabBook exit (default)
DONTAutoGenerateLabbookBackupFile
Will prompt the user

AutoSaveTime, 90			
In seconds: time between two consecutive LabBook autosaves

DefaultSearchPath, C:\Users\Public\CENLSharedSpace\LabBookDefaults
Default local path to lookfor .ini files or other files (any accessible folder)

ShowMilliSecTimeFromMidnight	
Shows the time as one number (nb millisecond from midnight)
Don't ShowMilliSecTimeFromMidnight
Shows the time in palletable format (hh:mm:ss.ms) (default)

The following can be changed to adapt to the screen, or to the darkness of the room where the computer is located:
MainWindowGray, 225
Will set the grey value of the background of the main window (1=black, 255=white)
TextWindowYellow, 210		
Will set the yellow value of the background of the main text (1=very yellow, 255=white)

The following will set the default font type and size in the main window (to accomodate different screen sizes)
DefaultFontName, Arial	
Sets the default font for the main window 
DefaultFontSize, 12	
Sets the default font size for the main window (between 3 and 36)

Do Button Text in Color             
When a button is pressed, the text will be the same color as the button
Don't do Button Text in Color

Remind To Do Backups
Remind users to Do backups when exiting the program (default)
Don't Remind To Do Backups

Note: Notice the freedom of syntax!
Don't remind to do backups = dontremingtodobackups - DONT Remind to do BACKUPS...
Note: If you can think of another configuration option, feel free to let us know!

 LabBook Basic Editing Functions :  1/1/2024 2:47:23 PM 

 LabBook Basic Editing Functions

The main window (this window) supports basic editing facilities accessible through the icons in the green tool bar above. They include: choice of font, resizing of font, change of font color, alignments, and change in font style (bold, italic, underlined). Strikeout is accessible through the choice of font menu.  'N' goes back to the normal font (Arial 12pt, regular, black, unless otherwise specified in LBConfig.txt). 

- Bullets can be added, and typing CTRL+SHIFT+L will switch the type of bullets (point, numbered, alphabetical, Roman numeral...)
•	bullet
1.	numbered
A.	alpha...

- The window automatically recognizes url such as
http://amygdala.psychdept.arizona.edu/lab.html
clicking on the link will open the default browser

- The window will also recognize file linking such as
file://C:\JM\Progs\VBprogs\NewLabBook\LabBook\LabBook\Documents\SampleForm.txt
which, if clicked will call the appropriate program to manipulate the file (here the default text editor). Note that linking a file can be simply done by choosing the 'Link a File' option in the Tools menu.

- An spell checker is included and can be triggered by the SpellCheck button in the green toolbar on this window. Right clicking on a word will also give a definition of that word. There are 4 types of graphical displays for the spelling errors (Default, Boxed In, Opera, and Draft Plan). Each can be selected by the choice drop down near the SpellCheck button. The AutoSpellCheck box lets you choose whether you want to check-as-you-type and automatically check every page. If it is unclicked, you need to click on SpellCheck to trigger the spell checker. You can edit the dictionary by choosing the Edit > 'Edit the SpellCheck Dictionary' option. 

- The following are short-cuts active in this window
CTRL+Z (undo),CTRL+E (center), CTRL+C (copy), CTRL+Y, CTRL+X (cut), CTRL+SHIFT+L (make bullets), CTRL+BACKSPACE, CTRL+V (paste), CTRL+DELETE, CTRL+A (select all), SHIFT+DELETE, CTRL+L (justify left), SHIFT+INSERT, CTRL+R (justify right)

- LabBook supports templates. Templates are typical pieces of text that are placed on a new page by default. The Edit menu let's you load a template from a file (see LBPageTemplate.txt for an example). When active, the template filename is saved with the NoteBook, and is automatically reloaded, each time the LabBook is opened. 
As a matter of good practice, keep the templates in the same folder as the NoteBook. Only one template file can be active at a time, but you can certainly switch as often as you like (depending on what experiment is currently done, and so on). You can view/edits templates using Tools > Preferences > Page Template.

Strategy notes
The editing facilities of LabBook are designed to provide enough flexibility for effective communication and readability, but are intentionally limited. These limitations ensure a good level of standardization and re-usability. NoteBooks can be exported to RTF format and can be read by regular word processors in which more 'sophisticated' facilities are included such as drawings, equations, styles, interaction with databases, interfacing with bibliography programs and so on...

Technical notes
The initial SpellCheck dictionary is in the program distribution. The first time LabBook is opened it will make a copy of this dictionary in the user application-data folder (LBdic.dic) and all edits/additions will be done there. When you erase/upgrade LabBook, this dictionary will remain intact.

 Making Announcements :  1/1/2024 12:44:37 PM 

 Announcements

When working in a laboratory or classrom, or more generally when working in a team it may be a good idea to pass messages along. For example, if several researchers work on the same experiment (same NoteBook), in shifts, say morning and afternoon, the morning person my want to pass along a message 'All went well!' or 'Need to redo this manipulation' to the afternoon person. Another possibility is if you want to communicate a general information to everyone who opens up a NoteBook (for example 'Interesting seminar at 3pm today!' or 'Remember to backup your files!'. LabBook allows you to do just that!

- At startup, and each time LabBook is opened, an announcement can be made. 
The default startup announcement is in a file called 'Announce.txt' and will be opened each time the program starts. You can edit it manually, or through the Tools>Preferences>Anouncement menu. Use this feature for computer-dependent announcements (i.e. any user on that computer will see the startup announcement).
- You can also create other announcements with a different filename and attach them to a specific NoteBook, again using Tools>Preferences>Anouncement, or manually by creating a new text file.  This announcement will be opened and displayed each time a specific NoteBook is opened (unless it is disabled, see below). Use this feature for LabBook-specific announcements (i.e. any user opening this specific NoteBook file will see the announcement).

You have 3 ways to dismiss an announcement:
•		This Session Only (the announcement will be shown again the next time you open the NoteBook)
•		Permanently (the announcement will not be shown again, unless the file has changed). This applies to any announcement except the default startup announcement (see below).
•		Redisplay on Exit (the announcement will be  displayed again when you close LabBook, and again when you open it again)

- You can disable the entire announcement feature by setting DONTDoTheAnnouncements in the Tools> Preferences> Main LabBook Config (or NoteBook Config)

- You can specifiy the default directory where announcements should be found by setting DefaultAnnouncePath in the Tools> Preferences> Main LabBook Config (or NoteBook Config).

- You can make the default startup announcement inactive by simply changing its file name to anything but 'Announce.txt'. This way, you can keep several 'typical' announcements on disk, and simply make them active by editing their filename back to 'Announce.txt'.

- Strategy Notes: In a lab, it is a good idea to set the DefaultAnnouncePath to a shared server space. This way, all computers of the lab will show the same startup announce when LabBook starts. It is also a good idea to keep a NoteBook-specific announce file locally, with the actual NoteBook file.

 User Defined Events :  1/1/2024 2:13:25 PM 

 User Defined Events (Buttons)

LabBook includes facilities to automatically log and timestamp predefined events.
12 buttons (to the left of this window) are user definable and dynamically changeable. Each button can be accompanied by a sound and a single key shortcut.

- At start up, LabBook looks for a file called 'ButtonConfig.txt' which contain the specification for these buttons in plain text format. A second file called 'SoundConfig.txt' is also read, and contains a library of sounds. Each NoteBook can have its own set of buttons and sounds. Both files can be viewed/edited using Tools > Preferences> Button/Sound Config. You can test the looks of the buttons by editing the file and clicking 'Save & Load'.

The first line of ButtonConfig.txt is the number of buttons (up to 12), each subsequent lines contain a 5 comma separated list of strings: 
•	a button label
•	a string to be copied in the NoteBook when the button is pushed
•	a one character shortcut
•	a sound index (see information in SoundConfig.txt)
•	a color specification for the button
•	an action 

Note: if the string-to-be-copied start with an asterisk (*), the string that follows will be copied in bold.
See the default ButtonConfig.txt for more details.
Note: There is a switch in LBconfig.txt called: DoButtonTextInColor. If so, the text included in the NoteBook will be the same color as the button.

- A word on sounds: The first line in SoundConfig.txt file is the number of user defined sounds (up to 20). Each subsequent line contains the sounds. The first item on each line is the sound name (how you call it!), the second is a number representing the sound type (1= beep, 2= sound file (.wav), 3= predefined computer generated sound).
If 1: The 2 next parameters are the frequency (Hz) and duration (ms) of the beep
If 2: The next parameter is the filename of the sound file
if 3: The next parameter is the internal name of the tune (so far only 3 predefined: Mary, Beep and Noise)

- A word on Actions: These buttons can be paired with a predefined set of 'commands'. Typically, these commands control external software (e.g. Tracker or data acquisition system, see 'External functions')

- When clicked, the event is automatically recorded in the NoteBook at the end of the current page (now clicking)
14:18:43.656	 -> Stop Sleep1
The event is preceded by the time (clock, upper right corner) with ms second resolution (here 656 ms). If there is a sound, the timestamp corresponds to the onset of the sound.

- These buttons can be reassigned at any time, by reading a new button configuration (Tools > Preferences>Button Config menu). The sounds can also be redefined by loading a new Sound Configuration file (Tools>Preferences> Sound Config menu). Both files will be re-opened and the buttons and sounds will be re-assigned when the NoteBook is loaded.

Try opening ButtonConfig2.txt (these buttons are not associated with any sound)
14:23:59.656	 -> New Trial

Note: The current button and sound (and template) configurations are conserved when you create a new NoteBook. This way you can create a new NoteBook using the configuration of an other. 

- These buttons can be triggered by a single key stroke, if one of the button is in focus. Click on the first one, then use the key board keys for the next ones:
14:25:22.953	 -> The subject now takes a break
14:25:26.62	 -> The subject now back from break
14:25:30.984	 -> New Trial
14:25:34.250	 -> End of the trial
14:25:48.156	 -> The subject now takes a break

- There is a switch in LBconfig.txt Main configuration file which adds the time in millisecond from Midnight. This may be useful if you are copy-pasting there events in excel (or other programs) and want to do some simple time arithmetics. The switch is called ShowMilliSecTimeFromMidnight / DontShowMilliSecTimeFromMidnight.

- These buttons can be associated with a timer for countdown (i.e. clicking on it will start the countdown in a specified timer). See the section on Timers.

Cheetah support: 
- When connected to Cheetah, the event is timestamped with Cheetah time stamps and is also automatically sent to the Cheetah software and logged in Events.nev. There is a slight time delay between the time stamp logged by LabBook and the one saved in Events.nev. This delay depends on many factors. If Cheetah and LabBook are running on the same machine, and no other program is running, that delay is in the range of 80 ms.
See also the 'technical note' in 'cheetah functions' on page 18.
WARNING: For Cheetah versions earler than 5.7, you have to keep the Cheetah event window opened to have the LabBook event register in Cheetah. If the Cheetah window is minimized, the event will NOT be registered in Events.nev (but the time stamps will still be correct in LabBook).
For Cheetah 5.7 and later, the event will be registered only if the acquisition is ON (irrespective of whether record is ON or OFF)
- The same time stamp support is implemented for the Deuteron connection.
- By convention time stamps reported between parentheses are in microseconds. Those reported between square bracquets are in milliseconds.

 The Timers :  1/1/2024 2:33:25 PM 

 Timers

Experiments often require that time be measured. They also may require that some actions be performed after a certain amount of time. LabBook has 3 timers/stop watches/alarms.

- Click on 'Timers' at the bottom of the button list.
A new window opens with 3 independent timers. Start one of them, then write 'this is timer 1' in the blank space below.

- At any point, clicking on 'Record in LabBook Now' will automatically record the value of the timer in the NoteBook
 [14:36:12: [734] ] Timer1:(0:1:13) -> this is timer1

The record will include the actual (machine) time, including [ms], and the value of the timer (it took 1 minute 13 second to get to the click while typing this!)

- Timers can be stopped, restarted and reset, as any timer can.

- Closing the timer window will reset it (but minimizing it won't)

- Timers can be used as alarms in countdown mode. Click on the time area of one of the timer. A new window should come up. You can set the time for countdown (say 10 seconds on timer 2) by clicking on the small arrow near the hours, min, sec indicators. You can also set what kind of action(s) should be taken when the time elapses: make a Beep, pop up a window are the basic ones, and can be set by checking the appropriate boxes. You can also instruct the timers to repeat, in which case the countdown will start again just after it reaches 0 and the actions (see below) are taken.

- On the right hand-side, you will also see a list of other actions, depending on what is active. For example, if Cheetah is active, you will see options for starting or stopping the recordings, or sending an event. If a web camera is active, you will see an option to take a picture. All these will be triggered when the time elapses.
You will also see a 'Trigger with user button' option. Clicking on it will prompt you for a button name. The countdown will start when the specified button is clicked. The counter will be automatically reset to the initial value, so you can click/trigger again. There is also a 'Play a Sound' option which lets you select a sound to play when the time elapses (sounds are defined in SoundConfig.txt)

- Click 'Set' when you are done. The countdown will start when you click on 'start'. The following was included automatically after timer 2 expired:

Timer 2 Expired at: 8:30:15.234

- Technical note: The precision of these timers is 1/4 second (about the reaction time of a well trained experimenter using a real stop watch).

 The Counters :  1/1/2024 11:36:03 AM 

 Counters

It is sometimes necessary to count specific events. For example it might be a good idea to count the number of times an animal 'rests' during a task, or the number of times an animal makes contact with an object on the maze.
LabBook provides the user with 5 time-stamped counters. They are accessible by clicking on the 'Counters' button on the lower left corner of the main window. LabBook records each counter increment/decrement/reset with time stamps as a 'counter history'.

- To change a counter value, simply click on the '+' or '-' buttons. This will increment/decrement the counter value.

- To reset the counter, click on 'R'. After confirmation, the value will be reset to 0. This option does not reset the history of the counter, just its value.

- 'Record in LabBook' will include the current value of the counter, with the current time [time at which you clicked the button]. If the 'Full history?' check box is clicked, the entire history of the counter will be copied. 
For example, here is the history of counter 1:

Counter 1 : (Count=3) + 1 [11:42:57], + 2 [11:42:58], + 3 [11:42:58], + 4 [11:42:59], - 3 [11:43:0], + 4 [11:43:1], + 5 [11:43:2], + 6 [11:43:2], + 7 [11:43:3], RESET 0 [11:43:6], + 1 [11:43:8], + 2 [11:43:8], + 3 [11:43:9], 

This says that the counter was incremented until 4, then decremented to 3, then incremented again until 7, then reset, then incremented until 3. The times indicated between brackets are the times when the respective buttons were clicked.

Here is a record of counter 1 [without full history]'

Counter 1 : 3 [11:48:27]

This says that the counter value is 3, and that this value was included on this labBook page at 11:48:27.

- You can associate a counter with a key stroke. Simply enter the character in the textbox near the '+', and hit reset,- or + to bring the 'focus to the '+' button. The <esc> or <backspace> keys will undo the last keystroke.

- Note that the counter values and history are preserved when the window closes. They will be shown again when you re-open with window. You can reset a counter and erase all of its history from the Tools menu.

- You can copy-paste these strings in a text file, and open it as text in Excel (when prompted for the format, choose delimited, and choose the space and comma characters as delimiters).

Cheetah support:
If a connection with Cheetah is active, the time will include the Cheetah time stamp. Same applies for a Deuteron connection.

 Link an Image/Picture or File :  1/1/2024 3:00:09 PM 

 Link an Image/Picture or File

LabBook allows you to associate (link) pictures (or any other files) to each page. For example, one can include a screenshot of any window on the computer. The link is tagged with a time stamp, and there is a maximum of 150 links per page (to add more links, you will be prompted to simply turn the page)

- Click on the window of your choice to make it active. Then press CTRL+ALT+<Print Screen > (on most keyboards) to capture the active window. Or CTRL+< Print Screen > for the entire screen.

- In the Tools menu, choose 'Link Clipboard Image'. There is also a dedicated button at the lower right corner of this window. A new window (Pictureview in the title) should come up, and will allow you to enter a figure caption/comment. (e.g. 'This is my Lab!').

- Then click on 'link to current LabBook page' and the following is automatically included in the NoteBook:
Clipboard Link- 16:59:45	[250]	  -> This is my lab!!

- Note the time indicated is that when the 'link clipboard' option was activated (the closest time to when the window was actually grabbed, irrespective of how long it took you to, say, write the figure caption).
- Note the number of links associated with this page will increase (upper right corner of this text area). 

- To view this link and edit the caption, click on 'View Current Links' below. Don't forget to click 'update' if you edit the caption. Then just close the window. Note that 'delete link' will separate the link from the notebook, but will not delete the file. The caption will also appear in the 'Title' field of any window explorer window (Windows Vista and above). See link below.

Clipboard Link- 4:49:42	 [953]	 -> The 'Title' column contains the figure caption

- The image is automatically saved in the same location as the NoteBook file, with a unique name. When copying/moving a NoteBook, make sure to move all these pictures as well (or better yet, use the 'Pack the LabBook' option, see 'export for Sharing' later in this document). For this reason, it is advisable to create a separate folder which will contain a specific NoteBook (and all its associated files).

- You can also link an arbitrary file to the LabBook by pushing the 'Link a File' button at the bottom of this window. Your will be prompted to select a file. This file can be of any type (if it is an image, it will be displayed by 'View Current Links', as above). A reference to the file will be included in the current NoteBook page. If the file type is known, clicking on it will open it (e.g. if you link a powerpoint file, Powerpoint will open it!). An advantage of linking a file is that it will be part of the NoteBook when you 'pack' it (see 'export for Sharing' page in this document)

Cheetah support
- The configuration file of LabBook (LBConfig.txt) has a switch that allows you to duplicate the picture in the current Cheetah Data directory. By default, that option is turned off.

Link Section: 
>> This is my lab!! Yeah! 
>> The 'Title' column contains the figure caption 

 Include an Image/Picture :  1/1/2024 4:47:40 PM 

 Include an Image/Picture

LabBook allows you to include a picture from the clipboard directly in the text area. Doing so will automatically format the picture (e.g will resize it). Unlike with the Link option (previous page), the resolution and other aspects of the picture might be changed in order to fit it into the LabBook.

- Place a picture on the clipboard (e.g. from a web page)
- Click on the place where you want to insert the picture
- From the tools menu, choose 'include Clipboard Image'

Figure Caption: This banner was obtained from the web

- The image is inserted and a line for a figure caption is inserted

- Note that ctrl-v will also work, but will simply paste the image with no formatting (i.e. no resizing, no figure caption line)

- Images are embedded in the NoteBook, and are not saved independently, so they will not appear as 'links'. No time stamp is saved. The pictures are still accessible by simply clicking on them. Be aware that a lot of pictures like these will increase the NoteBook size (linking pictures will not).

- Use this method for 'esthetics' and/or 'informative' purposes. If the picture is related to the data, you might prefer to Link it instead (previous page).

 Using a Webcam :  1/1/2024 3:13:04 AM 

 Using a Webcam

In addition to being able to link/include pictures from the clipboard, LabBook allows you to take pictures or movies from one or multiple webcams. This can be useful to document the state of an experimental setup (e.g. position of visual cues in a room), or add additional information about the experiment (e.g. take histology pictures), To use this feature, you need to have a USB camera active on your computer. Click on the option Tools> 'Take WebCam Pictures'. A new window will pop up that will display in real time a preview of the camera input.

Camera preview window
- The top section (left) shows the different cameras recognized by LabBook on your system. On the right is the list of video compressors found on your machine. Select whichever you wish.

Making Movies
- By default, and to save space, movies are recorded at half size (320x240). Unclik this option to double the size.
- By default movies are saved at 30 fps. Click on HalfSpeed if you want 15 fps (the compressor should allow this).
- To shoot a movie, click on Start Recording. LabBook will ask you for a file name. Within a few seconds the movie will start (the current length of the movie will appear at the top and a red R will appear on the upper right corner). Note: size and speed cannot be changed once the movie recording has started.
- Click on Stop Recording when you are done.

Taking pictures
- When you are ready to take a picture, click on the 'Take Picture' button. A new window should appear. Taking a picture can also be done using the timers. Pictures can be taken during a movie.
- In this window, you have the option to add a short figure caption. You can choose to link the image to the current NoteBook page (check the link-to-LabBook box). You can resize the window (the original image is unaffected).
- If the 'AutoName?' option is checked, LabBook will pick a unique filename for you, and the image will be saved in the current NoteBook folder. If the option is unchecked, you will be prompted for a file and path name.
- When you are ready, click in the 'Save Image' button. The image will be saved in JPEG format, and the window will close. As with clipboard images, the caption will appear in the 'Title' field in Windows Explorer.

Technical Notes
- You can take multiple pictures, before deciding to save any (multiple windows will appear). Closing a window (click on the X top right window icon) will simply discard the picture without saving it.
- When recording a movie, you may want to try several compressors, make sure the resulting movie has enough resolution for your needs.
- Time stamps appearing in the upper left corner are only saved when pictures are taken. At this time, they cannot be saved in the movies.

 Recording/Playing Audio :  1/1/2024 11:53:34 AM 

 Recording and Playing Audio Files

It may be useful to record additional information using a voice track. LabBook allows the user to record from the default microphone, and to play sound files in the background (whether they have been recorded by the microphone or not). This functionality is accessible through 'Tools>Audio Playback/Recording'

- Record/pause/resume button: will do as indicated.
- Play: Will ask for an audio file, and will launch the default media player on your computer.
- Save: Will save the currently recorded file as a .wav file. Note that recording and closing the window will not save the recording and you will discard what was recorded. You have to save the file. If the 'autoname?' option is checked, the file name will automatically be created and the file will be saved in the current NoteBook folder. if not, the user will be prompted for a file name.

Technical note:
While this functionality is intended for voice recordings, any analog signal will work. In other words, you can use this option to acquire 2 channels (left + right) of highly sampled data. Future implementations will allow for the control of sampling rate and data time-stamping.

 Include a Table :  1/1/2024 9:43:02 AM 

 Include a Table

LabBook offers limited Table support.
At any point in a page, you can include a simple table by using the Edit> Insert Table option.
You will be prompted for the number of rows and columns.

- here	-	-	-	
-	-	-	-	
-	-	-	-	
these rows	were	added		
			after initial insertion point	
  
- by default, the table will occupy the entire width of the page. To add rows, simply hit return in the last (lower right-most) cell of the table. Formatting applies independently to each cell.

- You can move from cell to cell using the TAB key. If you reach the end of the table (lower right) and hit TAB again, a new row will automatically be created.

- At this point, you cannot add/remove columns or change their size. Table formatting (borders, background colors...) is also not available at this time.

- If you select a table, copy it (CTRL-C), you can then paste it to Excel. You can also create a table in Excel and paste it in LabBook. This functionality and interfacing with Excel will be developed further soon.

 Calculator :  1/1/2024 8:41:20 AM 

 Calculator

During an experiment, or upon review of experimental notes, you might need to perform simple calculations. You can of course connect to Matlab (if you have it installed). However, for quick and simple calculations, LabBook includes a function evaluator. You can call it from the Tools menu 'Calculator'.

- You can use this as a calculator by simply writing the operation you need to compute (say (1+2)/5 ) and clicking 'Compute!'. The result will be shown next to the arrow. The result can also be included directly into the NoteBook by checking the 'copy Result to LabBook' box.

- This 'calculator' can handle complex functions such as sin(), cos(), tan(), log(), sqrt() and so on...

Technical Note
This evaluator is actually implemented as a dynamic code compilation. This means that whatever is written in the 'expression' field is first compiled as a function, then called. It may be a bit slow at first (until the evaluator is brought in the computer memory cache), but it is very general. If you need speed, use a separate calculator (Windows has one by default).

 Dynamic Database Entry Forms :  1/1/2024 3:25:52 PM 

 Dynamic Database Entry Forms

LabBook allows you to enter data by creating your own database. This is useful to standardize data entry, or to ease repetitive data entries. Forms are just text files (see SampleForm.txt) that contain on the first line, the number of fields. All other lines are the labels of the fields in the form.

- Go to Tools> Preferences> Database Form and choose a form file (e.g. SampleForm.txt). You can see how it is organized. Then click 'Save & Load'.

- A new window should pop up allowing you to enter the data by filling in the fields

- Choose the output option. Record in the labBook will copy the answers on the current page (see below). 'Output to a data file' will collect the answers in a text file (with date/time) of the same name as the form, with the word 'Data_' pre-pended to it: i.e  'Data_SampleForm.txt'. This data file can be read directly in Excel, with the proper formatting (1st row are the questions, all others rows are the data...)
You can also output directly in an Excel spreadsheet (this assumes you do have Excel installed on your machine). If the workbook does not exist it will be created (same name as the form, with .xlsx extension). The data will be placed in a sheet called Data, as it is entered.

- Click 'Accept' to save the data.

1.  Name of the experiment:: The smart experiment
2.  Name of the rat:: Toto
3.  Weight of the rat:: 380 g
4.  Name of the experimenter:: Alice
5.  Enter the number of trials:: 20
6.  Any other comments?: nope....

- Choosing Tools> Refill Last Form will recall the last form used and allow a new entry. Use 'Alt+R' as a short cut.

- This facility can be used to pose a quiz to students, format data entry, ...

 Exporting for Sharing :  1/1/2024 8:57:45 AM 

 Exporting for Sharing

A NoteBook is saved in plain text format. The format is Rich Text Format (RTF), and includes additional information such as links, dates of creation/modification and so on. With a bit of practice, this file can be read by anyone. You can see this information with the File > LabBook Properties option.
NoteBooks can be compressed as a zip file and LabBook includes three options to export the notes in formatted RTF, HTML or ASCII files.The first can be read by most word processors, the second  can be read by any web browser, the last can be read by anything.

- The Open, Save and SaveAs options are self-explanatory. LabBook keeps the last 10 opened files in memory in the Recent Files menu. By default, all NoteBooks are text files (extension .txt). LabBook will refuse to overwrite an existing NoteBook (i.e. you need to move or rename the existing NoteBook).

- The 'Import and Merge' option allows you to import an existing NoteBook into the current one. This option may be useful to consolidate different NoteBook files saved on different computers, or generate a master NoteBook containing multiple experiments (e.g. by different experimenters). The pages will be inserted according to the date they were created. Two pages created on the same day will be appended. Be aware that there is no Undo, so it is recommended that you backup the original NoteBooks before merging in a new one (the file you are merging-in remains unaffected in any case).

- The option 'Pack the LabBook' creates a ZIP (compressed) file of the current NoteBook. This zip files contains all the links (images, files, button/sound configuration files...) of all pages, so it is self contained. Use this option to create backups, or communicate your NoteBook to others. The zip file is in the same folder as the original with a unique extension (so you can create multiple zip files). Feel free to rename these files if you like.

- RTF file creation requires that Microsoft Word be installed on your machine. By default, linked items are included as hyperlinks, at the end of each page. There is a switch in the LabBook configuration file (LBConfig.txt) to include the linked images within the RTF file if you wish. This switch is off by default.

- HTML documents can be created in two ways:
Full: This is an HTML 'dump' of the NoteBook. All pictures, links and formatting are conserved. This option silently uses an interface with Microsoft Word, so Word needs to be installed on the machine for this option to work.
Simple: This is a formatted output, with a summary and headings on the first page. All links are included, but included pictures are ignored (at the moment). Formatting may be slightly different and simplified. This option does not use Word, so should work on any computer.

- ASCII (raw text) files can be created simply by clicking on 'Export to Raw Text'. The file name will end with _RawTxt.txt. All the text information will be saved, including the link captions and file names. Pictures will be ignored.

- These three options can be found in the File menu. The exported files are saved in the same folder as the NoteBook.

 Printing the LabBook :  1/1/2024 5:36:00 AM 

 Printing the LabBook

It is important to be able to print hard copies of your LabBook. This can be done by exporting in printable format (HTML or RTF, see previous page), then by reading the files in a text processor, edit/embellish them and print them. LabBook can also print directly. However, printing will occur for the current page only. Use the RTF or HTML options below to print the entire NoteBook.

The File menu contains 3 printing related options:

- Page Setup will let you modify the margins, orientation and paper types.

- Print Page Preview will show you a preview of the page (resize the window to see details, there is also a zoom tool)

- Print Page will call the print dialog where you can choose your printer, number of copies and so on...

- Note: If you have Adobe Acrobat installed on your machine, you can also print in PDF format, by choosing the 'PDF writer' as a printer. This will create a PDF file of your page.

 Electrode Turning - I :  1/1/2024 9:48:45 AM 

 Electrode Turning - I

LabBook was initially developed to assist in chronic, high-density, multi-unit recordings, and it includes a tool to keep track of, and manage electrode turning. Note: 'Electrodes' can be tetrodes, stereotrodes or single wires. This module is accessible through the Electrode-Turning menu.

- Open an electrode turning file. LabBook keeps electrode turning and Note data separately. Choose the 'sample-turninglog-7889.txt' file, provided in this distribution. For security reasons, electrode turning files are automatically saved every 30 seconds. An additional 'backup' file is saved as soon as the electrode session starts (.bkp extension) and contains the depths and orientations of all electrodes *before* editing.

Note: If you are creating a new electrode file, you will be prompted for a file name, the number of independently movable electrodes you wish to turn, the number of microns per turn and which direction (clockwise/counterclockwise) is moving the electrode downwards (the last three pieces of information are device specific)

- A new window 'turnInputData' comes up. This is the main data entry window. It is configured by default for 12 electrodes (T1-T12) and two references (R1, R2). If you have less electrodes, the others will be disabled. You can go up to 24 electrodes.

- At any point after this file is opened, the user can include the current position of all electrodes in the NoteBook. Simply select: Electrode-Turning> Include electrode positions

Current electrode depths
TT1 -> 2972  (N)
TT2 -> 10699  (E)
TT3 -> 10936  (S)
TT4 -> 7687  (E)
TT5 -> 4914  (N)
TT6 -> 3962  (N)
TT7 -> 3962  (S)
TT8 -> 10144  (N)
TT9 -> 9946  (W)
TT10 -> 10699  (E)
TT11 -> 10184  (E)
TT12 -> 12442  (W)
TT13 -> 2060  (S)
TT14 -> 2972  (E)

- You can also include the name of the electrode turning file  Electrode-Turning> Include turning file name

- Click on one of the electrode button to visualize its information in the 'last stored' portion (yellow). You will see the last number of turns (in 1/8 of turns), the current direction of the screw, the total depth of the tip of the electrode (in microns), some comments, the date and time of the last turning event, and the 'quality' of the recording at the time of turning.

- The right hand side of this windows allows for the entering of new data for the next movement of the electrode. Make sure to click on 'store this event' before moving to the next event, or next electrode.

- If an electrode has never been turned, the user will be prompted with a new window for the initial position of the screw (to be recorded just after surgery), the initial depth (in case the drive was pushed inside the brain during surgery, or the electrodes were retracted). For example, if the drive tip has been pushed 250 microns, and the electrodes were retracted 150 microns within the tip (to protect them during surgery), then enter 100. You will also be asked for the name of the electrode (e.g TT2 or R1 or PFC2...). 

- This tools has a graphical interface accessible by clicking on 'Display Tetrode History' (see next page).

- The File menu contains an option to save the 'daily summary' of the electrode depths. This will generate a text file showing the final depths of all electrodes each day between the first day of turning until the last. Only the electrodes that were actually turned that day will be shown. The file has a _summary.text extension and is a text file.

Technical notes: An additional copy of the last electrode position file opened on the computer is kept in tmp_tetrodes.txt in the <user>/AppData/Local/LabBook folder. Also, LabBook maintains a cummulative backup of the last known depth/orientation of each tetrode before the file is edited. You will find it under <FileName>.bkp in the same folder as the Log file.

 Electrode Turning - II :  1/1/2024 10:03:03 AM 

 Electrode Turning - II

The Electrode(s) History window displays a general view of all electrodes. Experimenters can see at a glance the relative position of all electrodes, and their movement history in a graphical and intuitive fashion.
In sample-turninglog-7889.txt, tetrodes 4, 5,6,7,8,9,10 were targeted at the hippocampus (depth 2-3mm), while tetrodes 2,3,11,12 were targeted at the Ventral Tegmental Area (depth ~8mm). Tetrode 1 remained in cortex. Tetrode 4 missed the hippocampus and was retracted to reach it again later....

- A red vertical dotted line marks the day currently selected. A red dot on the electrode track means that the electrode was turned that day. Change the selected day by clicking on the < and > buttons on the lower right.

- You can see an overall history of the quality of the recordings. Check the box 'show recording quality'. Small dots should appear along electrode tracks. The size of these dots are proportional to the recording quality. Adjust their size by increasing or decreasing the number to the right of the check box ('node size'...say to 2). 

- Click on one of the electrode  trace in the graphical window (say TT4)

- The display changes and zooms on this electrode only. The trace is expanded and individual electrode turning events are visible as circles. plain circles contain comments, empty circles do not.

- As in full view mode, the size of these circles can be made to represent the quality of the recordings. Check the box 'show recording quality' and adjust the size by increasing or decreasing the node size, as above.

- The trace now shows depths at which cells were found. The VTA is clearly apparent on the lower right corner, as a string of large dots. Some tetrode placements resulted in good cell isolation at lower depths.

- Click on one of the black dots to see its depth, its direction and the notes taken. Use  the < and > buttons on the lower right to move from turning event to turning event.

- Notes and Recording quality can be edited at any time. make sure to click on 'Update Notes' to save changes. An event (node of the graph) can be removed, or appended at the end.

- Click on 'Draw all' to go back to the global view.

- The window can be re-sized.

- The daily summary can be printed from the 'tools' menu (see previous page)

 Cheetah Functions :  1/1/2024 10:21:12 AM 

 Cheetah Functions

One of the main feature of LabBook is its ability to interface with data acquisition software (Neuralynx, Plexon, any ActiveX program) and its modules are tailored for the specifics of experiments. Cheetah is the Neuralynx Data acquisition program. LabBook is designed to interface with Cheetah and exchange information at the 'top level'. LabBook can also control various aspects of Cheetah: Start and stop recordings, automatically adjust thresholds and gains, trigger events depending on time...

Cheetah Interaction Window
After you succesfully connect to Cheetah, the Cheetah Interaction Window pops up with a few options. It will be activated every so often (Time Interval, in minutes). If Recording? is selected, it will check that Cheetah is indeed saving the data! (give you a warning if not). It can also periodically send a synchronization message to Cheetah with the local, machine time stamp. It will appear in the Cheetah Event window as 'LBSync: ...'. You can also periodically clear the spike window (assuming overlay mode), to always have a clear view of your spikes. The name of the Cheetah window is specified in the CheetahInteraction.ini file, along with other useful options.

Command Center: Viewing Raw Data and Manipulating Acquisition Parameters
- The first step in using this functionality is to 'connect to cheetah'. It is in the 'External-Functions' menu. Once successfully connected, the connection number should be incremented and turn green. From then on, you should see the Cheetah timestamps appear near the clock (upper right). Note that the time stamps will be updated every few seconds, in order not to 'jam' the communications with Cheetah.
- Then choose the External-Functions >  'Cheetah Command Center' option
- Then choose an acquisition channel (only the ones currently available in cheetah will be displayed). At the time of this writing only TT and CSC channels are supported.
- The data will be displayed, as they are streamed from Cheetah. The user can change the acquisition parameters (e.g. input range, or threshold) and they will be automatically changed in Cheetah.
- There are several options to display the data (those are local to LabBook)
- This functionality is under development...

Include Cheetah Data Folder
- Assuming you are connected, this option will include in LabBook  the current folder where cheetah data is stored.  This functionality is in the 'External-Functions' menu.

Technical Note: LabBook uses the NETCOM cheetah functionality. Cheetah versions earlier than 5.7 can only allow one connection of that type. So if you have another program that requires this connection (e.g. Trial Control of Neuralynx) you have to use the NetCom Router (free, available from Neuralynx's Website). Simply run the router, just after opening Cheetah. Then connect the router to the server ('connect to server'), which is by default your current machine.

 Connecting LabBook to Matlab :  1/1/2024 3:56:47 PM 

 Interacting With Matlab

Provided Matlab is installed on a network-accessible machine (or the local computer), LabBook can allow you to use Matlab dynamically. The user can execute Matlab programs and read programs outputs. The execution and return values of these Matlab scripts can be automatically included, time stamped, in the current NoteBook page.

- The first step is to connect to Matlab. This functionality is accessible from the External-Functions menu. Enter the IP address (or name) of the computer on which Matlab should be run. Leave blank if Matlab is on the same computer as LabBook. Then click Connect. Upon successful completion of the connection, the 'External Connection' indicator should turn green and the number of connections should be incremented. If Matlab was not running already on the computer it will be started (which takes a few seconds).

- Once connected, you can call the Matlab Interaction window from the External-Functions menu. A new window will open. The top box is the input area: Enter there any valid Matlab command. Then click Send (or just hit <return>). The command will be sent verbatim to Matlab, and the response will be shown in the text area underneath.

- If Copy Command to LabBook is checked, then the command is time stamped just before it is sent to Matlab, and copied on the current NoteBook page. If Copy Response to LabBook is checked, then the response of Matlab is timestamped just after it completes, and copied on the current NoteBook page.
Note: If the command generates multiple outputs at different times, they will be returned to LabBook after the last one.

- You can load a Matlab Script and execute it from the Tools menu in this window. You can also save the content of the Interaction window as raw text in a file, if you wish.

 Connecting LabBook to Other Programs :  1/1/2024 3:30:43 PM 

 Connecting LabBook to Other Programs

In principle, LabBook can connect to any external program using the ActiveX protocol. This protocol is designed for the standard exchange of information between executables that have been compiled by entirely different people, possibly using entirely different programming languages. LabBook can connect to multiple programs simultaneously (the number of active connections is indicated in the upper left corner of this window)

For example, LabBook can connect to our tracker software that has been implemented in LabView, or to a behavioral program also written in LabView. These programs should be running/installed on your machine before selecting these options. Other standard Active-X-enabled programs include Excel and MSWord.

At the time of this version, LabBook can connect to 
	- The Cheetah data acquisition software from Neuralynx
	- Our Video Tracker (see our website)
	- Our behavioral programs (see our website)
	- Our Video/audio recording software, single camera or 
		synchronized 2 cameras (see our website)
	- Our wifi-coupled Button Box (see our website)
	- Matlab (if it is installed on your machine)
	- The wireless datalogger acquisition software from Deuteron Technologies

These options are in the 'External-Functions' menu. Each of these external connections have their own sets of possible functions (depending on what is provided by the manufacturer). Most of these Connection open an 'Interaction Window' containing specific functionalities (i.e. plot the track data of the animal when connecting to our VideoTracker). Parameters for these options are located in a specific .ini file on the search path (e.g. TrackerInteraction.ini).

As LabBook develops (and as users are requesting it!) other program will be interfaced...

 The LabBook Sequencer :  1/1/2024 3:51:33 AM 

 The Sequencer

Experiments often involve a precise sequence of steps. These steps may include the control of equipment, or simply taking note of what is happening 'now'. The Sequencer allows for the sending of a precisely timed (ms) sequence of commands to external programs (e.g. Cheetah or Matlab, at the time of this writing). These commands may include events or TTL pulses. The Sequencer is accessible from the 'External-Functions' Menu. 

- At this time, the Sequencer does not allow for the design of the sequence online. The user has to write the commands off-line in a text file, and simply read it in. 

- A sequence file can be created for Cheetah only commands (see SampleCheetahSequence.txt), Matlab only commands (see SampleMatlabSequence.txt) or more generally for a mixture of the two! (See 'SampleMixSequence.txt' for an example). Look into these files for more infos on the syntax.

- Any Cheetah Command is allowed. A full list is included in the Cheetah documentation (help> Cheetah reference guide > Cheetah commands). Any Matlab command is allowed as well.

- The file format is simply a comma-separated list:
<Type>, <Delay in ms>, <Cheetah Command, between doublequote>, <Event to record, between doublequote>

-The first line being the version (e.g. Seq1.1), <number of loops>, <FileType>

if number of loops is -1 (or negative), the 'run continuously' option is set
if the number is 0: The sequence is run only once
if the number is positive (say N), the 'Run N loops' option is set, the sequence will run N times, then stops.
<File Type> is 'Cheetah', 'Matlab' or 'Mix'

- Delay is the delay before the command is sent to Cheetah or Matlab. The command and the event are sent immediately after one another (minimal delay, ~10-20ms. SampleCheetahSequence.txt will actually help you estimate this delay for Cheetah on your machine!).
If a commands requires a doublequoted argument, just double quote it. e.g 

4000, '-PostEvent ''Test Event'' 256 0', 'Hello4'

- The user has the option to loop the sequence (the number of loops or 'trials' is automatically incremented).

- The bottom window shows what command has been last sent, and what Cheetah or Matlab replied. Red indicates that the command resulted in a Cheetah error. Green indicates an event.

- The Sequencer can be started or stopped using the timers (see timers).

- Technical Note: Be aware that the '-Delay 10000' Cheetah command, while valid, will freeze LabBook for 10 s. If you need to add a delay to your sequence, simply add a line
10000, '','Delay is now over'
to the sequence file instead. This delay will be multi-threaded and all LabBook functionalities will continue to be accessible. The optional event 'Delay is now over' will be generated at the end of the 10 s delay period.

 The End :  1/1/2024 2:27:02 PM 

...This is the Last Page...

Flip back to page 1, using the green arrow keys below or
right click to see all pages and jump to page 1

Feedback always appreciated!

 Additional Notes:

-