2009-12-09 Journal Club : The good, the bad and the NOISE

2009-12-09 09:34:16

Comments

2009-12-06 convert a bitmap image to a vectorized PDF using mkbitmap and potrace

2009-12-06 19:04:41
  • to convert a bitmap image to a vectorized PDF, use potrace and mkbitmap

  • it' a snap to install using MacPorts

    $ port info potrace
    potrace @1.8 (graphics)
    Variants:             a4_default, metric_default, universal
    
    Description:          Potrace is a utility for tracing a bitmap, which means, transforming a bitmap into a smooth, scalable image. The
                          input is a bitmap (PBM, PGM, PPM, or BMP), and the default output is one of several vector file formats. A
                          typical use is to create EPS files from scanned data, such as company or university logos, handwritten notes,
                          etc. The resulting image is not jaggy like a bitmap, but smooth. It can then be rendered at any resolution.
    Homepage:             http://potrace.sourceforge.net/
    
    Library Dependencies: zlib
    Platforms:            darwin
    License:              unknown
    Maintainers:          nomaintainer@macports.org
    manga:~ lup$ port variants potrace
    potrace has the variants:
       a4_default: compile potrace with A4 as the default page size.
       metric_default: compile potrace with centimeters as the default unit  instead of inches.
       universal: Build for multiple architectures
    
  • to install

    sudo port install potrace +a4_default +metric_default
    
  • check man pages and open your input for inspection

    man mkbitmap
    man potrace
    open dubout.png
    
  • you can use directly this workflow

    convert dubout.png ppm:- | mkbitmap -f 2 -s 2 -t 0.48 | potrace -t 5 --progress -b pdf -o dubout.pdf
    
  • but convert being what it is, first do

    convert dubout.png dubout.ppm
    
  • to take some more time fine tuning parameters:

    cat dubout.ppm | mkbitmap  -t 0.48 | potrace -t 15 --progress -b pdf -o dubout.pdf
    
  • in particular, the -x option resets defaults:

    cat dubout.ppm | mkbitmap  -x -s 2 -3 -t 0.5 | potrace -t 25 --progress -b pdf -o dubout.pdf
    
  • wait and ... enjoy!

Please Note
This is a code snippet.

Comments

2009-12-02 CRAAC: Compte rendu annuel d'activité des chercheurs du CNRS. Année 2008 - 2009

2009-12-02 10:08:52
logo_cnrs Compte rendu annuel d'activité des chercheurs du CNRS Année 2008 - 2009
  • Identité

Nom (nom de jeune fille)

PERRINET

Prénom

Laurent

Date de naissance

23/02/1973

Grade

CR1

N° d'agent

00024609

Téléphone

04 91 16 43 08

Télécopie

04 91 16 44 98

Adresse électronique

laurent.perrinet@incm.cnrs-mrs.fr

Section(s) du Comité National

7

Département scientifique

Sciences du vivant

Délégation régionale

Provence et Corse

  • Affectation

Intitulé de l'unité

Institut de neurosciences cognitives de la méditerranée, approches fondamentale et clinique

Code unité

UMR6193

Directeur

Driss BOUSSAOUD

Adresse électronique du directeur

driss.boussaoud@incm.cnrs-mrs.fr

Adresse

31 Chemin Joseph Aiguier

13402 MARSEILLE CEDEX 20

France

Téléphone

04 91 16 43 18

Télécopie

04 91 77 49 69

Délégation

Provence et Corse

Site Web

  • Distinction(s)
  • Qualification

Habilitation à diriger des recherches

non

Doctorat d'Etat

non

Doctorat

oui

Année d'obtention

2003

Qualification "Maître de conférences"

non

Qualification "Professeur"

non

  • Période d'inactivité
 
  • Mobilité(s) antérieure(s)
  • Activités de recherche développées
  • Rattachement à(aux) activité(s) de recherche de l'unité UMR6193
Intitulé d'activité Date fin du rattachement
DYNAMIQUE DE LA PERCEPTION VISUELLE ET DE L'ACTION (DyVA)  

Mots clés des sections/CID du Comité national

Section 1 : Probabilités, processus et algorithmes stochastiques, statistique, analyses des données
Section 1 : "Modélisation et interactions des mathématiques avec, en particulier, la mécanique, la physique, la biologie, l’informatique, les télécommunications, la chimie, l’environnement, l’économie ; applications industrielles"
Section 7 : Réseaux, systèmes répartis, parallélisme
Section 7 : Traitement, analyse, interprétation et synthèse du signal, de la parole et de l'image
Section 7 : Modélisation, analyse, commande et supervision des systèmes dynamiques
  • Points forts de vos activités de recherche et /ou informations complémentaires
Mon objectif de recherche est d’étendre la compréhension des modèles des facultés cognitives sous la forme de réseaux de neurones impulsionnels qui réalisent des algorithmes de la perception visuelle. En effet, les brèves impulsions du potentiel de membrane se propageant au fil des neurones sont une caractéristique universelle des systèmes nerveux et permettent de construire des modèles événementiels efficaces de traitement dynamique de l’information. Dans un but fonctionnel, je désire notamment implanter dans ces modèles des stratégies d’inférence grâce à des mécanismes d’apprentissage auto-organisés fixant les relations spatio-temporelles entre les neurones. Dans le cadre du projet FACETS, nous envisageons la création de nouveaux types d'algorithmes basés sur ces recherches.
  • Publication(s), parue(s) ou sous presse, dans des revues à comité de lecture
Référence
Andrew P Davison, Daniel Bruderle, Jochen Eppler, Jens Kremkow, Eilif Muller, Dejan Pecevski, Laurent Perrinet, and Pierre Yger. Pynn: A common interface for neuronal network simulators. Frontiers in Neuroinformatics, 2:11, 2008. http://frontiersin.org/neuroinformatics/paper/10.3389/neuro.11/011.2008/
Emmanuel Daucé and Laurent Perrinet. Computational neuroscience, from multiple levels to multi-level. Journal of Physiology (Paris), 2009. http://www.incm.cnrs-mrs.fr/LaurentPerrinet/Publications/Daucé09
  1. Barthélemy, L. Perrinet, E. Castet, and G. Masson. Dynamics of distributed 1D and 2D motion representations for short-latency ocular following. Vision Research, 48(4):501-22, 2008. http://www.incm.cnrs-mrs.fr/LaurentPerrinet/Publications/Barthelemy07
Jens Kremkow, Laurent Perrinet, Guillaume S. Masson, and Ad Aertsen. Functional consequences of correlated excitatory and inhibitory conductances. 2009. Journal of Computational Neuroscience (accepted).
Laurent Perrinet. Adaptive sparse spike coding : applications of neuroscience to the compression of natural images. In Gabriel Cristóbal Frédéric Truchetet Peter Schelkens, Touradj Ebrahimi, editor, Optical and Digital Image Processing Conference 7000 - Proceedings of SPIE Volume 7000, 7 - 11 April 2008, pages 15 - S4, 2008.
Laurent Perrinet. Role of homeostasis in learning sparse representations. 2009. Neural Computation (accepted).
Laurent U. Perrinet, Alexandre Reynaud, Frédéric Chavane, and Guillaume S. Masson. Inferring monkey ocular following responses from V1 population dynamics using a probabilistic model of motion integration. In Vision Science Society, number 23.411, 2009. Journal of Vision, Volume 9, Number 8, Page 745a.
Nicole Voges and Laurent Perrinet. Phase space analysis of networks based on biologically realistic parameters. Journal of Physiology (Paris), Accepted., 2009. http://www.incm.cnrs-mrs.fr/LaurentPerrinet/Publications/Voges09neurocomp
  • Publication(s), parue(s) ou sous presse, dans des revues sans comité de lecture
  • Ouvrage(s) ou chapitre(s) d'ouvrage(s), paru(s) ou sous presse
Référence
Emmanuel Daucé and Laurent Perrinet, editors. Computational neuroscience, from multiple levels to multi-level: a special issue of Journal of Physiology (Paris), 2009.
Proceedings of the second french conference on Computational Neuroscience, Marseille. 330 pages. Editors Perrinet, Laurent U. and Daucé, Emmanuel. October 2008, Url http://2008.neurocomp.fr/neurocomp08proceedings.pdf, Isbn 978-2-9532965-0-1
  • Participation à des manifestations scientifiques

Manifestation

CNS

Type de manifestation

( international )

Lieu

Berlin ( Allemagne )

Durée

7 (jour(s))

Intervention(s)

Control of the temporal interplay between excitation and inhibition by
the statistics of visual input. par Jens Kremkow, Laurent Perrinet,
Cyril Monier, Yves Fregnac, Guillaume S. Masson, and Ad Aertsen.
Communication orale
Decoding the population dynamics underlying ocular following response
using a probabilistic framework. par Jens Kremkow, Laurent Perrinet,
Alexandre Reynaud, Ad Aertsen, Guillaume S. Masson, and Frédéric
Chavane.
Affiche/poster

Decoding the population dynamics underlying ocular following response using a probabilistic framework. par Laurent Perrinet and Guillaume S. Masson

Dynamics of cortical networks based on patchy connectivity patterns. par Nicole Voges, Jens Kremkow, and Laurent Perrinet

Manifestation

COSYNE

Type de manifestation

( international )

Lieu

Salt Lake City ( Etats-Unis )

Durée

6 (jour(s))

Intervention(s)

Modeling spatial integration in the ocular following response to
center-surround stimulation using a probabilistic framework par
Perrinet, Laurent U. and Masson, Guillaume S.
Affiche/poster
What adaptive code for efficient spiking representations? A model for
the formation of receptive fields of simple cells. par Perrinet, Laurent
U.
Affiche/poster

Manifestation

Deuxième conférence française de Neurosciences Computationnelles, "Neurocomp08"

Type de manifestation

( international )

Lieu

Marseille, France

Durée

Intervention(s)

Jens Kremkow et al. Functional properties of feed-forward inhibition. Deuxième conférence française de Neurosciences Computationnelles,

Nicole Voges et al. Analyzing cortical network dynamics with respect to different connectivity assumptions. Deuxième conférence française de Neurosciences Computationnelles,

Manifestation

Eighth Göttingen Meeting of the German Neuroscience Society

Type de manifestation

( national )

Lieu

Göttingen ( Allemagne )

Durée

3 (jour(s))

Intervention(s)

Neural codes for adaptive sparse representations of natural images.
par Laurent Perrinet
Communication orale

Manifestation

SPIE Photonics Europe

Type de manifestation

( international )

Lieu

Strasbourg, France

Durée

Intervention(s)

Laurent Perrinet. Sparse Spike Coding : applications of Neuroscience to the processing of natural images. Proceedings of SPIE Volume 7000 "Optical and Digital Image Processing" SPIE Photonics Europe 2008 Strasbourg FR

Manifestation

Vision Science Society

Type de manifestation

( international )

Lieu

Naples ( Etats-Unis )

Durée

7 (jour(s))

Intervention(s)

Control of the temporal interplay between excitation and inhibition by the statistics of visual input: a V1 network modelling study. par Jens Kremkow, Laurent Perrinet, Pierre Baudot, Manu Levy, Olivier Marre, Cyril Monier, Yves Fregnac, Guillaume Masson, and Ad Aertsen.

  • Activité éditoriale

Type d'intervention

Editeur

Type de document

Revues

Informations complémentaires

Emmanuel Daucé and Laurent Perrinet, editors. Computational neuroscience, from multiple levels to multi-level: a special issue of Journal of Physiology (Paris), 2009.

Type d'intervention

Rapporteur/Relecteur dans des revues

Type de document

Autres

Informations complémentaires

International Conference of Numerical Analysis and Applied Mathematics 2009

Type d'intervention

Rapporteur/Relecteur dans des revues

Type de document

Informations complémentaires

Journal of Physiology (Paris)

Type d'intervention

Rapporteur/Relecteur dans des revues

Type de document

Informations complémentaires

Frontiers in Neuroinformatics, http://frontiersin.org/neuroinformatics/paper/10.3389/neuro.11/004.2008/

Type d'intervention

Rapporteur/Relecteur dans des revues

Type de document

Informations complémentaires

Neurocomputing

  • Séjour(s) dans d'autres laboratoires
  • Mission(s) sur le terrain
  • Formation personnelle
  • Collaborations

Organisme partenaire

INRIA

Pays

FRANCE ( Europe )

Unité partenaire

Odyssee

Intitulé

Sophia

Cadre de la coopération

AUTRE - FACETS

Nature de l'activité

Organisme partenaire University Freiburg
Pays Allemagne ( Europe )
Unité partenaire FACETS
Intitulé FACETS
Cadre de la coopération AUTRE - FACETS
Nature de l'activité Participation à un réseau

Organisme partenaire

University Ulm

Pays

Allemagne ( Europe )

Unité partenaire

NeuroInformatics

Intitulé

Perception of Motion

Cadre de la coopération

Nature de l'activité

  • Encadrement et animation scientifique

Chercheurs

CNRS

Enseignement supérieur

Autres EPST

Autres

Total

0

0

0

1
Post-doc en CDD

1

Doctorants

Thèse

Doctorants étrangers

Doctorants ayant soutenu une thèse

Total

Direction

Codirection

0

1

1

0

1

IT

Stagiaires

IT CNRS

IT non CNRS

Total

Master 2

Licence, master 1

Ecole d'ingénieur

IUT

Autre

Total

0

0

0

1

2

0

0

1

4

Animation scientifique
Organisation à Marseille de la deuxième conférence internationale en Neurosciences Computationnelles Participation au réseau NeuroComp.fr Animation d'un réseau marseillais des NeuroComp
  • Enseignement
  • Valorisation et partenariat
  • Vulgarisation
Type d'information Intitulé Type de participation
Conférence/débat public Peut-on parler d’intelligence mécanique? http://www.incm.cnrs-mrs.fr/LaurentPerrinet/Presentations/09-11-24_IntelligenceM%C3%A9canique Participation ponctuelle
  • Administration de la recherche
  • Management et gestion

Responsable d'un service commun de l'unité

Maintien plateforme Web + intranet

Vice-présicent CLAS GLM de Marseille-Joseph Aiguier

Comments

2009-11-26 inkscape native

2009-11-26 09:27:37
  • trying out http://wiki.inkscape.org/wiki/index.php/CompilingMacOsX#Building_Aqua_November_2009

  • build dependencies

    sudo port install autoconf automake
    
    sudo port install librsvg libwpd libwpg libcroco
    
    sudo port install libxslt boost boehmgc gtkmm lcms intltool popt
    
    sudo port install cairo +quartz+no_x11 cairomm pango +quartz+no_x11 poppler +quartz gtk2 +quartz
    
    sudo port install gsl
    
    sudo port install hicolor-icon-theme
    
    sudo port install subversion
    
    sudo port install libxml2 libxslt
    
    # optional to speed up the compiling process:
    sudo port install ccache
    export CC="ccache gcc"
    export CXX="ccache g++"
    
  • getting the sources

    cd tmp
    svn co https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk inkscape
    cd inkscape/packaging/macosx/
    
  • compile

    # Edit the file osx-build.sh to remove the configure option --enable-osxapp
    # (line 24)
    
    # I used TextWrangler for this, pico or another command line editor will do the same.
    
    # Back to the terminal:
    
    # configure it:
    sudo ./osx-build.sh c
    
    # build it:
    sudo ./osx-build.sh b
    
    # install it:
    sudo ./osx-build.sh i
    
    # test it:
    ../../Build/bin/inkscape
    

    compiles ok :-), but crashes rather rapidly :-(

Comments

2009-11-22 some unix tips

2010-11-11 13:40:37
  • find / -nouser te donneras tous les fichiers dont le nom du propriétaire est inexistant de la table /etc/passwd

  • batch converting

    for draw in `find /path/to/wiki/data -name \*.draw`; do
        file=`dirname $draw`/`basename $draw .draw`
        if [ -e "${file}.gif" ]; then
            echo "Converting ${file}.gif to ${file}.png"
            convert "${file}.gif" "${file}.png"
        fi
    done
    
  • You may always pipe the output of commands through grep to find specific words, but it can also be used to find files that contain a text string:

    grep -lir "some text" *
    

    The -l switch outputs only the names of files in which the text occurs (instead of each line containing the text), the -i switch ignores the case, and the -r descends into subdirectories.

  • compression

    in : tar cvf nom.tar dir/*
    out : tar xvf nom
    liste : tar tvf nom
    
  • du -sk : occupation des fichiers sur un disque

  • a2ps archives/unix.txt -Prsi2 imprime joliement...

  • dos2unix fic1 fic2 transforme fic1 en fichier texte unix nomme fic2

  • Pour connaitre le taux d'occupation de l'UC d'une machine, utiliser la commande sar. Exemple : sar -u 1 5 donne la consommation UC pendant 1s et 5 fois de suite

Comments

2009-11-15 MoinMoin: howto install a new theme

2010-11-11 13:35:33
  • locally

    scp Downloads/moniker18_2.1.1.zip  perrinet@195.221.164.4:/var/www/moin/perrinet/data/plugin/theme/tmp
    
  • on the server

    cd /var/www/moin/perrinet/data/plugin/theme/
    export USER=www-data
    export GROUP=www-data
    export INSTANCE=/usr/share/moin/htdocs/moniker
    unzip moniker18_2.1.1.zip
    cd moniker18_2.1.1
    cat read\ me\ on\ installing.txt
    cp -r moniker /usr/share/moin/htdocs/
    cp moniker18.py ../../
    chgrp -R $GROUP $INSTANCE
    chgrp -R $GROUP ../../moniker18.py
    vim ../../../../../../perrinet.py # set moniker18 as default
    

Comments

2009-11-01 floating point magic

2009-11-01 13:32:43

Comments

2009-08-29 Tips on Filesystems, security and al on mac os x

  • mount with AFP sharepoints from the command line (thanks to this hint) :

    # mount_afp [-i] [-o options] afp_url node
    mkdir /Volumes/truc
    mount_afp afp://user:PASSWORD@server/truc /Volumes/truc
    umount /Volumes/truc
    rmdir /Volumes/truc
    

finder nags when changing a file's extension

  • read the default value (should be 0)

    defaults read com.apple.finder FXEnableExtensionChangeWarning
    
  • change it:

    defaults write com.apple.finder FXEnableExtensionChangeWarning False
    

Make spell check show only desired languages

HFS+

  • Mac OS X Filesystems

  • One feature of HFS volumes is that fle are referred to as links: for instance you can read a PDF file while changing the name at the same time. No problem!

  • Safely remove '._' files created by HFS(+)

    find . -name '._*' -print0 | xargs -0 rm
    

Spotlight

  • to remove the remaining index files on the volume using the command: sudomdutil-E/Volumes/volume_name utilitaires CLI :

    sudo mdutil --help
    mdutil: unrecognized option `--help'
    usage: mdutil -pE volume ...
            mdutil can be used to manage the metadata stores used by Spotlight.
            -p              publish metadata for the provided volumes.
            -i (on|off)     set indexing status for the provided volumes.
            -E              erase the master copy of the metadata stores for the provided volumes.
            -s              print indexing status for the provided volumes.
    

System & Security

nmap

  • to scan for open ports on a remote machine :

    sudo nmap -T3 -vv -sS -p 1-65535 -P0 google.com
    Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2006-04-05 16:32 CEST
    Initiating SYN Stealth Scan against google.com [65535 ports] at 16:32
    Discovered open port 80/tcp on google.com
    SYN Stealth Scan Timing: About 2.18% done; ETC: 16:55 (0:22:26 remaining)
    

Dash board

  • Don't use Dashboard? No particular reason to leave it running, consuming memory. Following http://www.macosxhints.com/article.php?story=20050723123302403, you can turn Dashboard off by doing:

    defaults write com.apple.dashboard mcx-disabled -boolean YES
    killall Dock
    
  • Unsurprisingly, you change YES to NO to re-enable Dashboard:

    defaults write com.apple.dashboard mcx-disabled -boolean NO
    killall Dock
    

Unix - X11

Change login window on (Snow) Leopard

  • disrupted by the look of the plasma flames? think it looks like a cheap star trek sundae? check http://paulstamatiou.com/2007/10/31/how-to-change-leopards-login-wallpaper :

    cd /System/Library/CoreServices
    sudo rm DefaultDesktop.jpg
    #sudo mv DefaultDesktop.jpg DefaultDesktop_old.jpg # if you want to keep the Aurora stuff (it stills around, do a 'locate Aurora'
    sudo ln -s /Library/Desktop\ Pictures/Nature/Stones.jpg DefaultDesktop.jpg
    

Comments

2009-08-26 Creating Proceedings (almost) automatically using python and latex

In order to produce proceedings for the NeuroComp08 that we organized, I used a combination of LaTeX and Python to generate a PDF from our preprint server based on ConfMaster. This was due to the lack of an appropriate tool for this system and the need to be flexible to any change made in last minute by the authors. I used the following steps (these are summarized in the included Makefile file at the bottom that allowed to rebuild everything when any small change in these steps were done). Please edit this page.

  1. First, in ConfMaster, download the papers from the system (Admistrator/Export DB/Download Files/Submit) but also all metadata in CSV format (Admistrator/Export DB/CSV Data to export/Papers). The CSV file had to be manually cleaned-up (using vim and OpenOffice) to correct character encoding and some errors from users. In fact, people had sometimes accents in their names and I found out ultimately that the most flexible way to get all accents was to translate everything to a good old latex-type of encoding.

  2. the following script body.py generated a link between the CSV and the folder of PDFs, but also generated index terms in the resulting body.tex file for the creation of the authors and keywords tables:

    1. extracting the information

      1. first, reading the CSV:

        1 # the csv module allows high-level reading of cells.
        2 import csv, os
        3 root = '.' # where you stored the CSV and the PDF folder
        4
        5 ## gather information from the CSV
        6 papers = list(csv.reader(open(os.path.join(root,'paper_Neurocomp2008.csv'), "rb"), delimiter=',', quotechar = '"'))
        
      2. getting the index of particular columns of interest identified in the first line papers[0] of the CSV file:

         1 def index(vector, match):
         2     for index, value in enumerate(vector):
         3         #print value
         4         if value == match:
         5             index_ = index
         6     return index_
         7
         8 index_title = index(papers[0],'Title')
         9 index_contact_author = index(papers[0],'ContactAuthor_LastName')
        10 index_author1 = index(papers[0],'CoAuthor_1_LastName')
        11 index_kw1 = index(papers[0],'Keyword1')
        
      3. getting the relevant data from the CSV by looping over all lines:

         1 first_author, id = [], []
         2 db = {}
         3 for paper in papers[1:]:
         4     id = int(paper[0])
         5     db.update( {id : {'contact_author':paper[index_contact_author+1] + ', ' + paper[index_contact_author] } })
         6
         7     index = index_author1 #index of the name of Contact author 1
         8     author_list = []
         9     while True:
        10         if len(paper[index])>1:
        11             author_list.append(paper[index+1] + ' ' + '{\\sc ' + paper[index] + '}')
        12         else:
        13             #print paper[index]
        14             break
        15         index += 5
        16     #print author_list
        17     db[id].update({'author_list':author_list})
        18     db[id].update({'title':paper[index_title]})
        19
        20     keywords, index_kw = [] , index_kw1
        21     while (index_kw < index_kw +5):
        22         kw = paper[index_kw]
        23         #print kw
        24         if (kw == ''):
        25             break
        26         else:
        27             keywords.append(kw)
        28         index_kw += 1
        29     db[id].update({'keywords':keywords})
        
      4. identify relevant papers using the name of the PDF which contains its ID:

         1 ## link the db with the collection of papers retrieved by the export db feature of confmaster
         2 paper_directory = os.path.join(root,'NEUROCOMP2008Submissions_final')
         3
         4 paper_list = os.listdir(paper_directory)
         5
         6 for paper in paper_list:
         7     if paper.find('.pdf') > -1:
         8         conf, id_str, md5 = paper.split('_')
         9         id_list = int(id_str)
        10         #print id_list, paper
        11         db[id_list].update({'pdf':paper} )
        
      5. remove some:

        1 ## exclude some papers (rejected / not participating)
        2 list_excluded = [50,57,18,44]
        3 for id in list_excluded:
        4     print ' * Removing ', db[id]['title'], ' from ',  db[id]['author_list']
        5     del db[id]
        
      6. sorting data

        1 # sorting the dictionary by contact_author: (see http://code.activestate.com/recipes/52306/)
        2 items=db.items()
        3 backitems = [ [v[1]['contact_author'],v[0]] for v in items]
        4 backitems.sort()
        5 sortedlist=[ backitems[i][1] for i in range(0,len(backitems))]
        
      7. and manually include the program:

         1 program=[{'Cortical treatments':[56,16]},
         2             {'Neuron models':[67,39,15,27,47,64,32, 58,48,21,54]},
         3             {'Neural fields and attractor networks':[31,43,8,65]},
         4             {'Computational vision':[19,77,13,41,11,12,38,40]},
         5             {'Biophysical models':[46,9,51,52,59]},
         6             {'Action selection': [22,20,74,37]},
         7             {'Connectionnist models':[6,72]},
         8             {'BMI and signal processing':[42,70,49,60,63,66,45,7,10,14,76,33,75]},
         9             {'Population coding':[61,35,68,26,36,53]},
        10             {'Plasticity and  functional specialization':[69,62,29,5,34,24]},
        11             {'Network dynamics':[28,25,23,73]},
        12             {'Neural interfaces and softwares':[55,71,30]}]
        
    2. We begin to write the file:

      1. first, the script opens the file and writes a header (I'm using TexShop):

        1 # write the header
        2 fic = open('body.tex','w')
        3 # write the includes for all papers
        4 fic.write("""%!TEX TS-program = pdflatex
        5 %%!TEX encoding = Latin1
        6 %!TEX root = neurocomp08proceedings.tex
        7 """)
        
      2. Define the templates of latex commands

         1 MODEL_include = """\includepdf[pages=-,%saddtotoc={1,subsection,2,%s,%s}]{%s}
         2 """
         3 MODEL_index_first = """\index{author}{%s|bb}
         4 """
         5 MODEL_index = """\index{author}{%s}
         6 """
         7 MODEL_index_kw = """\index{keyword}{%s}
         8 """
         9 MODEL_section = """
        10 \\refstepcounter{section}
        11 \\addcontentsline{toc}{section}{%s}
        12 """
        
      3. Define a function to correctly write th author list

         1 def make_author_list(author_list):
         2
         3     if len(author_list)==1:
         4         s= author_list[0]
         5     else:
         6         s= author_list[0]
         7         if len(author_list)>1:
         8             for author in author_list[1:-1]:
         9                 s +=  ', ' +  author
        10         s += ' and ' + author_list[-1]
        11     return s
        
      4. Main loop

         1 for themes in program:
         2     print (themes.keys()[0])
         3     fic.write(MODEL_section %(themes.keys()[0]))
         4     for id in themes.values()[0]:
         5         try:
         6             for i_author, author in enumerate(db[id]['author_list']):
         7                 if i_author == 0: fic.write(MODEL_index_first %(author))
         8                 else: fic.write(MODEL_index %(author))
         9             for kw in db[id]['keywords']:
        10                 fic.write(MODEL_index_kw %(kw))
        11
        12             # some papers were not vertically centered, correcting that manually
        13             option = '' # default option
        14             if id == 55: option =' offset = 0 -1cm, '
        15             if id == 65: option =' offset = 0 -1.9cm, '
        16             if id == 13: option =' offset = 0 -2cm, '
        17             if id == 40: option =' offset = 0 -1cm, '
        18             if id == 70: option =' offset = 0 -2cm, '
        19             if id == 62: option =' offset = 0 -1cm, '
        20             if id == 29: option =' offset = 0 -2.5cm, '
        21
        22             if id == 73: option =' offset = 0 1cm, '
        23             if id == 55: option =' offset = 0 -1cm, '
        24             if id == 70: option =' offset = 0 -2cm, '
        25
        26             #print db[id]['title'] + ', ' + db[id]['author_list']
        27             titre = '{\\bf ' + db[id]['title'] + '} by \\emph{' + make_author_list(db[id]['author_list']) + '}'
        28             fic.write(MODEL_include %(option, titre,id,os.path.join(paper_directory,db[id]['pdf']) ))
        29         except:
        30             print ' /!\\ Paper ', db[id], ' has no pdf!'
        
      5. Closing the file

        1 fic.close()
        
  3. once this file is created, you may include it in a traditional proceedings latex file neurocomp08proceedings.tex:

    1. Defining the classes: In particular, we use pdfpages and multind.

      %!TEX TS-program = pdflatex
      %!TEX encoding = ISO Latin 1
      %!TEX root = neurocomp08proceedings.tex
      \documentclass[twoside,a4paper]{article}%,draft
      \usepackage[applemac]{inputenc}%
      %
      \usepackage[final]{pdfpages}%
      \usepackage[pdftex, pdfusetitle ,colorlinks=false,pdfborder={0 0 0},pdftitle={Proceedings of the second french conference on  Computational Neuroscience: NeuroComp08}]{hyperref}%
      %
      \usepackage{makeidx}%,showidx}
      \usepackage{multind,multicol} % http://www.cs.ubc.ca/local/computing/software/latex/local-guide/node24.shtml
      \makeindex{author}%
      \makeindex{keyword}%
      %\renewcommand{\indexname}{List of authors}
      \newcommand{\bb}[1]{{\bf #1}} % to make first author bold
      %
      \usepackage{color}%
      \setlength\fboxsep{3pt}%
      %
      % Support for adding page headers and footers
      \usepackage{fancyhdr}
      %% Set the top and left margins so that the header hugs the to right corner of the paper
      %\topmargin -70pt
      %\oddsidemargin -70pt
      % Commands for adding headers and footers
      \pagestyle{fancy}
      %\fancyhead{} % clear all header fields
      %\fancyhead[RO,LE]{\sectionmark}
      \fancyfoot{} % clear all footer fields
      %\renewcommand{\sectionmark}[1]{\bfseries\markboth{\thesection.\ #1}{}}
      \renewcommand{\sectionmark}[1]{\markboth{#1}{}}
      \fancyfoot[LE,RO]{\thepage}
      \fancyfoot[LO,RE]{\colorbox{white}{Proceedings  of the second french conference on  Computational Neuroscience:  NeuroComp08}}
      \renewcommand{\headrulewidth}{0.2pt}
      \renewcommand{\footrulewidth}{0.4pt}
      %\setlength\textwidth{15cm}
      \setlength\headwidth{18.5cm}
      \setlength\textheight{25.85cm}
      %\setlength\hoffset{1cm}
      \topmargin=-1.95cm
      %\usepackage[a4paper,hmargin=1cm,vmargin=1cm]{geometry}
      %\usepackage[a4paper]{geometry}
      
    2. Begin the document by including the cover as a one-page PDF (converted from a SVG in the Makefile below)

      \begin{document}
      \includepdf[pages=-]{affiche_NeuroComp.pdf}
      \newpage
      
      \includepdfset{pages=-,pagecommand=\thispagestyle{fancy}}
      \newpage
      
    3. Including a page with the BibTex entry and the ISBN number (using macro file ean13.tex)

      %%  FRONTMATTER:
      %
      %%\emptyheads
      \thispagestyle{empty}
      \include{titlepage}
      %\frontmatter
      %\newpage
      %\setcounter{page}{3}
      %\pagestyle{fancy}
      \pagestyle{empty}
      \subsection*{How to cite this proceedings book?}
      \begin{verbatim}
      @proceedings{NeuroComp08,
               Title = {Proceedings of the second french conference on
                           Computational Neuroscience, Marseille},
               Editor = {Laurent U. Perrinet and Emmanuel Dauc{\'e}},
               Isbn = {978-2-9532965-0-1},
               Url = {http://2008.neurocomp.fr},
               Month ={October},
               Year = {2008}}
      \end{verbatim}
      \vfill
      \begin{flushright}
      \input ean13
      \ISBN 978-2-9532965-0-1 %
      \vspace{2cm}
      \EAN 978-29-532965-0-1
      \end{flushright}
      \newpage
      \pagestyle{empty}
      \setlength{\parskip}{1ex plus 0.3ex minus 0.3ex}
      \setlength{\parindent}{1em}
      
    4. Some verbose introduction, see also titlepage.tex:

      \subsection*{Introduction}
      Ce recueil contient les actes de la seconde conférence française de neurosciences computationnelles qui s'est tenue à Marseille du 8 au 11 octobre 2008.
      
      Les neurosciences computationnelles portent sur l'étude des processus de traitement de l'information dans le système nerveux, du niveau de la cellule jusqu'à celui des populations de neurones et du contrôle du comportement. Le but de cette conférence est de rassembler des chercheurs issus de différentes disciplines, incluant les neurosciences, les sciences de l'information, la physique statistique ou encore la robotique, afin d'offrir un large panorama des recherches menées dans le domaine.
      
      Ce recueil présente les 68 contributions qui ont été présentées lors de la conférence, dans leur ordre d'apparition dans le programme. Le premier jour était consacré aux modèles de la cellule neurale, aux modèles des traitements visuels et corticaux, ainsi qu'aux modèles de réseaux de neurones bio-mimétiques. La seconde journée était consacrée aux interfaces cerveau-machine, à la dynamique des grands ensembles de neurones, à la plasticité fonctionnelle et aux interfaces neurales.
      
      Cette conférence a été rendue possible grâce au soutien de nombreuses institutions, et nous tenons à remercier le CNRS, la Société des neurosciences, Le conseil régional de la région Provence Alpes Côte d'Azur, le conseil général des Bouches de Rhône, la mairie de Marseille, l'université de Provence, l'IFR "Sciences du cerveau et de la cognition", et l'INRIA. Nous remercions chaleureusement la faculté de médecine de Marseille et l'université de la Méditerranée qui nous ont hébergés pendant tout le déroulement de la conférence.
      
      Les organisateurs de la conférence remercient les membres du comité scientifique et du comité de lecture, les auteurs des différentes contributions ainsi que tous ceux qui ont contribué au bon déroulement de ces journées.
      
      
      {\it This proceedings book contains the contributions that were presented at the second french conference on Computational Neuroscience that was held in Marseille from October 8th to 11th, 2008.
      
      Computational neuroscience is the study of the mechanisms governing the processing of information in the nervous system, from the cellular level to the population of neurons and behaviour control. The aim of this conference was to gather people from various fields, including neuroscience, information science, statistical physics or robotics, in order to give a large panorama of the ongoing research in the field.
      
      This book presents the 68 contributions which have been presented at the conference, with respect to their order of appearance in the conference program. The first day was devoted to the modelling of neural cells, to visual and cortical treatments and realistic neural networks models. The second day was devoted to brain-machine interfaces, large-scale and dynamical models, functional plasticity and neural interfaces.
      
      This conference has been made possible with financial support from the CNRS, the French Society of Neuroscience,  the regional council of Provence and of Bouches-du-Rhône, the city of Marseille, the university of Provence, the IFR "Sciences du Cerveau et de la Cognition" and the INRIA. It was kindly hosted by the Marseille medicine faculty and the University of the Mediterranean. We are grateful to all these supporting organizations for helping us gathering the computational neuroscience community in Marseille.
      
      The organizers of this conference would like to thank the scientific committee members and reviewers, the authors of the submitted papers and all those who have helped with which we could provide you the best conditions possible.
      }
      
      \vfill
      \noindent Laurent Perrinet and Emmanuel Daucé\hfill October, 2008
      \newpage
      
    5. Table of Contents

      %%%%%%%%TOC%%%%%%%%%%%%%%%%%%
      \pagestyle{empty}
      \oddsidemargin=2cm
      \evensidemargin=2cm
      \tableofcontents
      \newpage
      
    6. Including the above generated body.tex file

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      %   MAINMATTER --  Section by Section
      \pagenumbering{arabic}
      \setcounter{page}{1}
      \oddsidemargin=-1cm
      \evensidemargin=5cm
      \input body %_static
      
    7. Finally, include both index:

      %%%%%%%%%%%%%%%   Author and Subject Index
      \oddsidemargin=2cm
      \evensidemargin=2cm
      \printindex{author}{Author Index}
      \printindex{keyword}{Keyword Index}
      
    8. And close the book:

      \thispagestyle{empty}
      %\includepdf[pages=-,pagecommand={\thispagestyle{empty}},addtotoc={1,section,1,{\bf Presentation of the INCF} by \emph{{\sc Chatzopoulou}, Elli},8}]{INCF_Neurocomp08.pdf}%
      \includepdf[pages=-,pagecommand={\thispagestyle{empty}}]{INCF_Neurocomp08.pdf}%
      \end{document}
      
  4. A Makefile eased debugging and flow control:

    latexfile = neurocomp08proceedings
    
    default: $(latexfile).pdf
    
    pdf: $(latexfile).pdf
    
    body.tex: paper_Neurocomp2008.csv body.py
            python body.py
    
    %.eps: %.png
            convert $< $@
    
    %.eps: %.jpg
            convert $< $@
    
    affiche_NeuroComp.pdf: affiche_NeuroComp.svg PACA3-coul_N_.pdf SdN.png  LogoMarseille.png LogoCnrs.png
            inkscape affiche_NeuroComp.svg -A affiche_NeuroComp.pdf
    
    
    $(latexfile).pdf: $(latexfile).tex body.tex titlepage.tex ean13.tex affiche_NeuroComp.pdf
            pdflatex  $(latexfile)
            makeindex keyword.idx
            makeindex author.idx
            pdflatex $(latexfile)
            while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(latexfile).log) \
                    do pdflatex $(latexfile); done
            while ( grep -q 'Rerun to get citations correct.' $(latexfile).log) \
                    do pdflatex $(latexfile); done
    
    
    clean:
            rm -f $(latexfile).out  $(latexfile).pdf $(latexfile).log titlepage.aux \
                    $(latexfile).aux $(latexfile).toc  body.tex keyword.ilg author.ilg \
                    $(latexfile).ind author.idx keyword.idx author.ind keyword.ind
    
  5. and voilà!

Comments

2009-08-23 List Of Symbols

% Math-mode symbol & verbatim
\def\W#1#2{$#1{#2}$ &\tt\string#1\string{#2\string}}
\def\X#1{$#1$ &\tt\string#1}
\def\Y#1{$\big#1$ &\tt\string#1}
\def\Z#1{\tt\string#1}

% A non-floating table environment.
\makeatletter
\renewenvironment{table}%
   {\vskip\intextsep\parskip\z@
    \vbox\bgroup\centering\def\@captype{table}}%
   {\egroup\vskip\intextsep}
\makeatother

% All the tables are \label'ed in case this document ever gets some
% explanatory text written, however there are no \refs as yet. To save
% LaTeX-ing the file twice we go:
\renewcommand{\label}[1]{}

%%end-prologue%%
\begin{table}
\begin{tabular}{*8l}
\X\alpha        &\X\theta       &\X o           &\X\tau         \\
\X\beta         &\X\vartheta    &\X\pi          &\X\upsilon     \\
\X\gamma        &\X\gamma       &\X\varpi       &\X\phi         \\
\X\delta        &\X\kappa       &\X\rho         &\X\varphi      \\
\X\epsilon      &\X\lambda      &\X\varrho      &\X\chi         \\
\X\varepsilon   &\X\mu          &\X\sigma       &\X\psi         \\
\X\zeta         &\X\nu          &\X\varsigma    &\X\omega       \\
\X\eta          &\X\xi                                          \\
                                                                \\
\X\Gamma        &\X\Lambda      &\X\Sigma       &\X\Psi         \\
\X\Delta        &\X\Xi          &\X\Upsilon     &\X\Omega       \\
\X\Theta        &\X\Pi          &\X\Phi

\end{tabular}
\caption{Greek Letters}\label{greek}
\end{table}



\begin{table}
\begin{tabular}{*8l}
\X\pm           &\X\cap         &\X\diamond             &\X\oplus     \\
\X\mp           &\X\cup         &\X\bigtriangleup       &\X\ominus    \\
\X\times        &\X\uplus       &\X\bigtriangledown     &\X\otimes    \\
\X\div          &\X\sqcap       &\X\triangleleft        &\X\oslash    \\
\X\ast          &\X\sqcup       &\X\triangleright       &\X\odot      \\
\X\star         &\X\vee         &             &\X\bigcirc   \\
\X\circ         &\X\wedge       &              &\X\dagger    \\
\X\bullet       &\X\setminus    &            &\X\ddagger   \\
\X\cdot         &\X\wr          &          &\X\amalg     \\
\X+             &\X-
\end{tabular}

\caption{Binary Operation Symbols}\label{bin}
\end{table}



\begin{table}
\begin{tabular}{*8l}
\X\leq          &\X\geq         &\X\equiv       &\X\models      \\
\X\prec         &\X\succ        &\X\sim         &\X\perp        \\
\X\preceq       &\X\succeq      &\X\simeq       &\X\mid         \\
\X\ll           &\X\gg          &\X\asymp       &\X\parallel    \\
\X\subset       &\X\supset      &\X\approx      &\X\bowtie      \\
\X\subseteq     &\X\supseteq    &\X\cong        &    \\
  & &\X\neq         &\X\smile       \\
\X\sqsubseteq   &\X\sqsupseteq  &\X\doteq       &\X\frown       \\
\X\in           &\X\ni          &\X\propto      &\X=            \\
\X\vdash        &\X\dashv       &\X<            &\X>            \\
\X:
\end{tabular}

\caption{Relation Symbols}\label{rel}
\end{table}

Comments