Programs overview
Non-EEG related Matlab functions
Qsubfunc
Gui Matlab functions
Function keyword input/output arguments processing
Web and Matlab help
Others

Neuron's simulation files

C/C++ functions
Convolution
Chono
Format_biblio
Image processing librairy
Fusion sort

Java
Simple scroll
Rebound scroll
Spiking neurons

Unix tips
Send a mail automatically in non-interactive mode
Log in remotelly and redirect/assess ressources
Schedule automatically a task (for instance to check your quota)

Flash 5 buttons and movies

Publishing photo albums using Linux (external page)

Publishing digital camera movies using Linux (external page)




Non-EEG related Matlab functions

For all EEG related Matlab functions, refer to EEGLAB function index

Qsubfunc

qsubfunc is a Matlab function that can submit jobs on the queu system of a Sun Grid EngineQsubfunc page. (the Unix cluster does not  have to be made of Sun machines though). See the

Gui Matlab functions

supergui
a comprehensive gui automatic builder. This function help to create GUI very fast without bothering about the positions of the elements. After creating a geometry, elements just place themselves into the predefined locations. It is especially usefull for figure where you intend to put text button and descriptions.
inputgui
A comprehensive gui automatic builder. This function helps to create GUI very quickly without bothering about the positions of the elements. After creating a geometry, elements just place themselves in the predefined locations. It is especially useful for figures in which you intend to put text buttons and descriptions.
inputdlg2
inputdlg function clone with coloring and help button.
questdlg2
questdlg function clone with coloring and help button.
listdlg2
listdlg function clone with coloring and help button.
errordlg2
same as errordlg with coloring.
slider
add slider to a figure.

Function keyword input/output arguments processing

finputcheck
check matlab function { 'key', 'val' } inputs
getkeyval
get variable value from a 'key', 'val' sequence string.
parsetxt
parse text input into cell array
vararg2str
transform arguments into string for evaluation using the eval() command

Web and Matlab help

help2html
Convert a Matlab m-file help-message header into an .html help file
makehtml
generate .html function-index page and function help pages composed automatically from formatted Matlab function help messages
pophelp
Same as matlab hthelp but does not crash under windows.

Others

imagesctc
imagesc in true color. Can help plot different colormap on the same window.
getallmenus
get all submenus of a window or a menu and return a tree.
loadtxt
load ascii text file into numeric or cell arrays


Neuron's simulation files

See my neuron's page


C/C++ functions

Convolution

These programs are intended for non matlab user to perform simple operation on convolutions (text matrix files). They were primarally intended to generate pattern of connectivity for neurons.

genCon.cc (genConv, executable under linux) : generate a convolution matrix (Gabor, Bidimentionnal gaussian (shifted...)).

oper.cc (oper, executable under linux) : various operations on 2 convolutions files (addition, soustraction, noramilization...).
 

Chono

A C++ class for profiling C++ code under Linux (maybe work under Windows, but there are more precise functions for Windows). Precision in only +-10 milliseconds though. I found the files in a public software distribution (see function headers) and made this small compiltation. Achive chrono.tar contains the following files:

README - content of archive and how to compile
chrono.h - class header file (also documents how the Chrono class work)
chrono.c - the chrono class itself
chonotest.c - the chrono class with a main entry point to test it


Format_biblio

Simple program to autoformat text-abtrast into HTML. Allow to automatically generate a huge number of abstract in the same format. Type formatbiblio for help on the input format. Feel free to modify the program and the output style in the HTML output file.

SOURCE file formatbilbio.cc (compile using "make formatbilbio" under UNIX)
EXECUTABLE file formatbiblio (FREEBSD, should also work under linux)
EXAMPLE of file input (type formatbiblio without argument for help on the input format).
EXAMPLE of file output


Image processing librairy

This custom package handle not compressed Targa 16M colors and PPM 256 gray levels. These are Unix formats where one can easilly acess and modify directly pixels values. The structures are kept to a minimum (height, width, raw datas) and you can perform any operation you want on the pixels values. Here are the classes and functions included in the package.

BaseImg: BaseImg.h and BaseImg.cpp (basic image definition and operations)

PicturePPM: PicturePPM: PicturePPM.h and PicturePPM.cpp (read/write pnm images)
PictureTARGA: PictureTARGA.h and PcitureTARGA.cpp (read/write targa images)
GlobalImg: GlobalImg.h and GlobalImg.cpp (base class definition for GlobalImgTreat)

GlobalImgTreat: GlobalImgTreat.h and GlobalImgTreat.cpp (process images subclass)

defImg.h (basic definitions)

Inheritance is as follow

BaseImg
  |
  |___PicturePPM
  |
  |___PictureTARGA
  |
  \___GloabalImg ___ GlobalImgTreat

C++ Package (work under, Mac, PC and Unix) : sources-imgs.tar.gz distributed under a GNU license.
Contact me at arnosalk.edu (fake 'at' sign to prevent spam) if you experience any problem (these functions are also part of the SpikeNET distribution).

Fusion sort

fusion.cc : custom fusion sorting algorithm optimized for speed.
 

Java 

These buttons are distributed under a GNU public license and cannot be used for commercial purposes (Contact me at arnosalk.edu (fake 'at' sign to prevent spam) for using them on commercial web sites).

Simple scroll - source

Rebound scroll - source

Spiking neurons - source



Unix tips

Send a mail automatically in non-interactive mode

Mail -s "subject" toto@server.com < textfile
(textfile contain the message you want to send, and toto@server.com is the recipient of the message)
Log in remotelly and redirect/assess ressources
The following command exectute "top" non-interactive and redirect display when you log on a remote computer. These commands are to be placed in your ".cshrc" file (which is at the root of your home directory).
if (`hostname` != station.salk.edu) then
    setenv DISPLAY station.salk.edu:0.0
    top -n
endif

(assuming I work locally on station.salk.edu, this command automatically redirect the display toward this computer if I log to a remote computer and display the processes that are currently running on the remote computer)
Schedule automatically a task (for instance to check your quota)
1 - Save this file testquota.cc into a directory and compile it (type "make testquota"). You can also download the executable for freeBSD (should be linux compatible) which send a warning if you g under 10 Mb.

2 - Use crontab. Type "crontab -e" and a new editing window should appear. Type in here  "* * * * * /home/you/locationexe/testquota" with the exact location of the executable file you just compile or download (do not use ~). Save and you're done. Click here if you want to know how to use crontab.

The file will be called every minute to check your quota. If it's in under 10MB it will beep and display a message in the console. If there is a problem, it will send you a mail (all text output from crontab are redirected to your mail).


Flash 5 buttons and movies
I designed all the buttons and movies on my cover page. The Flash 5 source file is avaliable here. Feel free to modify buttons and movies to put on your own page. These buttons are distributed under a GNU public license and cannot be used for commercial purposes (Contact me at arnosalk.edu (fake 'at' sign to prevent spam) for using them on commercial web sites).