Commit 874c157e authored by Celian Gossec's avatar Celian Gossec

Reformatting repo

parent c13a1c4f
[submodule "1402/share"]
path = 1402/share
url =
[submodule "share"]
path = share
url =
Subproject commit c510aa5bb2cdeaf74bc2f209771ab8bd229785c4
@InProceedings{ levillain.14.ciarp,
author = {Roland Levillain and Thierry G\'eraud and Laurent Najman
and Edwin Carlinet},
title = {Practical Genericity: Writing Image Processing Algorithms
Both Reusable and Efficient},
booktitle = {Progress in Pattern Recognition, Image Analysis, Computer
Vision, and Applications -- Proceedings of the 19th
Iberoamerican Congress on Pattern Recognition (CIARP)},
address = {Puerto Vallarta, Mexico},
month = nov,
year = {2014},
pages = {70--79},
editor = {Eduardo Bayro and Edwin Hancock},
publisher = {Springer-Verlag},
series = {Lecture Notes in Computer Science},
volume = {8827},
lrdeprojects = {Olena},
abstract = {An important topic for the image processing and pattern
recognition community is the construction of open source
and efficient libraries. An increasing number of software
frameworks are said to be generic: they allow users to
write reusable algorithms compatible with many input image
types. However, this design choice is often made at the
expense of performance. We present an approach to preserve
efficiency in a generic image processing framework, by
leveraging data types features. Variants of generic
algorithms taking advantage of image types properties can
be defined, offering an adjustable trade-off between
genericity and efficiency. Our experiments show that these
generic optimizations can match dedicated code in terms of
execution times, and even sometimes perform better than
routines optimized by hand. Digital Topology software
should reflect the generality of the underlying
mathematics: mapping the latter to the former requires
genericity. By designing generic solutions, one can
effectively reuse digital topology data structures and
algorithms. We propose an image processing framework
focused on the Generic Programming paradigm in which an
algorithm on the paper can be turned into a single code,
written once and usable with various input types. This
approach enables users to design and implement new methods
at a lower cost, try cross-domain experiments and help
generalize results.},
keywords = {Generic Programming, Image Processing, Performance,
lrdepaper = {},
lrdeslides = {},
lrdenewsdate = {2014-09-10}
@InProceedings{ roynard.18.rrpr,
title = {An Image Processing Library in Modern {C++}: Getting
Simplicity and Efficiency with Generic Programming},
author = {Micha\"el Roynard and Edwin Carlinet and Thierry G\'eraud},
booktitle = {Proceedings of the 2nd Workshop on Reproducible Research
in Pattern Recognition (RRPR)},
year = {2018},
abstract = {As there are as many clients as many usages of an Image
Processing library, each one may expect different services
from it. Some clients may look for efficient and
production-quality algorithms, some may look for a large
tool set, while others may look for extensibility and
genericity to inter-operate with their own code base... but
in most cases, they want a simple-to-use and stable
product. For a C++ Image Processing library designer, it is
difficult to conciliate genericity, efficiency and
simplicity at the same time. Modern C++ (post 2011) brings
new features for library developers that will help
designing a software solution combining those three points.
In this paper, we develop a method using these facilities
to abstract the library components and augment the
genericity of the algorithms. Furthermore, this method is
not specific to image processing; it can be applied to any
C++ scientific library.}
author = {Wenzel Jakob and Jason Rhinelander and Dean Moldovan},
year = {2017},
note = {},
title = {pybind11 -- Seamless operability between C++11 and Python}
author={Niebler, Eric},
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 2
- check
- publish
- mkdir -p ~/.ssh
- eval $(ssh-agent -s)
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
stage: check
- bin/bibtex-check bib/lrde.bib
- bib/lrde.bib
stage: check
- bin/bibtex-check bib/csi.bib
- 'bibtool "-- select{year \"$(date +%Y)\"}" bib/csi.bib | sed -rn "/@TechReport/ s/.*\\s([a-z]+.[0-9]+.seminar),/\\1/ p" | xargs -n1 bin/abstract --pdf'
- bib/csi.bib
- ./*.seminar.pdf
stage: publish
- ssh-add <(echo "$DOTFILES_SSH_PRIVATE_KEY")
- git clone ssh://
- dotfiles/bin/ bib/lrde.bib
- dotfiles/bin/ bib/csi.bib
stage: publish
- make lrde.tex
- make lrde.pdf
- lrde.pdf
share_dir = .
include make/
include make/
host = www
# Put on the Internet.
dloaddir = /lrde/dload/papers
dload_DATA = lrde.pdf bib/lrde.bib
# Kept private to the LRDE.
papersdir = /lrde/doc/lrde/papers
papers_DATA = lrde.pdf lrde-private.pdf README-lrde-bib.txt
CLEANFILES = lrde.tex lrde.pdf lrde-private.tex lrde-private.pdf \
contents.html contents.txt list.bib \
list.pdf diffs.patch contents.bib contents_bib.html
all: check lrde.pdf
## ------- ##
## Check. ##
## ------- ##
# Our own *.bib that should obey our rules.
BIBS = \
lrde.bib csi.bib olena.bib tiger.bib \
gp.bib lang.bib mc.bib parallel.bib rr.bib sip.bib
# We don't use the dependencies here so that all the checks are run.
$(share_bin_dir)/bibtex-check all
$(share_bin_dir)/bibtex-check perms
$(share_bin_dir)/bibtex-check csi
## Normalization.
bibneat = $(share_bin_dir)/bibneat
.PHONY: neat
for b in $(BIBS); do \
$(bibneat) $(share_bib_dir)/$$b; \
done; \
for b in $(BIBS); do \
$(share_bin_dir)/bibtex-check $(share_bib_dir)/$$b; \
## ------------------------------- ##
## lrde.pdf and lrde-private.pdf. ##
## ------------------------------- ##
%.txt: $(share_bib_dir)/%.bib
rm -f $@.tmp
$(QUIET)bibtex2html -q $<
$(QUIET)html2text -nobs $*.html | \
sed -e 's/.*\[ bib .*//;/^==*$$/{s/.*//;q;}' >$@.tmp
chmod a-w $@.tmp
mv -f $@.tmp $@
# Create a LaTeX document to force the BibTeX check on lrde.bib.
make_bib = $(share_bin_dir)/
%.tex: $(share_bib_dir)/%.bib
perl $(make_bib) $(share_bib_dir)/$*.bib >$*.tmp
chmod a-w $*.tmp
mv -f $*.tmp $*.tex
lrde.tex: $(make_bib)
%-private.tex: $(share_bib_dir)/%.bib
$(make_bib) --with-submitted $(share_bib_dir)/$*.bib >$*-private.tmp
chmod a-w $*-private.tmp
mv -f $*-private.tmp $*-private.tex
lrde-private.tex: $(make_bib)
view: lrde.pdf
xpdf lrde.pdf
## --------- ##
## install. ##
## --------- ##
install: $(dload_DATA) $(papers_DATA)
for f in $(dload_DATA); \
do \
chmod 664 $$f; \
case $(dloaddir) in \
(*:*) \
ssh doc@$(host) rm -f $(dloaddir)/$$f; \
scp $$f doc@$(host):$(dloaddir) \
;; \
(*) \
rm -f $(dloaddir)/$$f; \
cp $$f $(dloaddir) \
;; \
esac \
for f in $(papers_DATA); \
do \
chmod 664 $$f; \
case $(papersdir) in \
(*:*) \
ssh doc@$(host) rm -f $(papersdir)/$$f; \
scp $$f doc@$(host):$(papersdir) \
;; \
(*) \
rm -f $(papersdir)/$$f; \
cp $$f $(papersdir) \
;; \
esac \
## ----------------------- ##
## Updating from masters. ##
## ----------------------- ##
.PHONY: update update-bib update-styles
update: update-bib
# Sources.
update: update-styles
wget $(GASTEX_STYLES)/gastex.sty -O styles/gastex.sty
wget $(GASTEX_STYLES)/ -O styles/
tar zxvf vaucanson-g.tgz
rm vaucanson-g/
mv vaucanson-g/* styles/
rm -rf vaucanson-g vaucanson-g.tgz
wget $(FR_BIB_STYLES)/abbrv-fr.bst -O styles/abbrv-fr.bst
wget $(FR_BIB_STYLES)/abbrvnat-fr.bst -O styles/abbrvnat-fr.bst
wget $(FR_BIB_STYLES)/alpha-fr.bst -O styles/alpha-fr.bst
wget $(FR_BIB_STYLES)/apalike-fr.bst -O styles/apalike-fr.bst
wget $(FR_BIB_STYLES)/ieeetr-fr.bst -O styles/ieeetr-fr.bst
wget $(FR_BIB_STYLES)/plain-fr.bst -O styles/plain-fr.bst
wget $(FR_BIB_STYLES)/plainnat-fr.bst -O styles/plainnat-fr.bst
wget $(FR_BIB_STYLES)/siam-fr.bst -O styles/siam-fr.bst
wget $(FR_BIB_STYLES)/unsrt-fr.bst -O styles/unsrt-fr.bst
wget $(FR_BIB_STYLES)/unsrtnat-fr.bst -O styles/unsrtnat-fr.bst
\ No newline at end of file
\ No newline at end of file
* make/ rev.tex
Maybe using svninfo.sty would be a better option.
* bib: URLs
Automate the conversion from various fields for URLs to ony "note".
Check that the URLs are alive.
This diff is collapsed.
%% IEEEbcpat.bib
%% Obsolete BibTeX bibliography string definitions for backward
%% compatibility of IEEEtran.bst - DO NOT USE FOR NEW WORK!
%% NOTE: This text file uses MS Windows line feed conventions. When (human)
%% reading this file on other platforms, you may have to use a text
%% editor that can handle lines terminated by the MS Windows line feed
%% characters (0x0D 0x0A).
%% The strings defined here are unchanged from the originals that were
%% contained in the older ieeetr.bst and IEEEbib.bst files.
%% Please update your databases to use the modern IEEEabrv.bst and not
%% any strings contained here.
%% Version 1.00 (2002/08/13)
%% Composed by Michael Shell
%% See:
%% for latest version and current contact information.
%% Legal Notice:
%% This code is offered as-is without any warranty either expressed or
%% implied; without even the implied warranty of MERCHANTABILITY or
%% User assumes all risk.
%% In no event shall IEEE or any contributor to this code be liable for
%% any damages or losses, including, but not limited to, incidental,
%% consequential, or any other damages, resulting from the use or misuse
%% of any information contained here.
%% This code is distributed under the Perl Artistic License
%% ( )
%% and may be freely used, distributed and modified - subject to the
%% constraints therein.
%% Retain all contribution notices, credits and disclaimers.
%% All comments are the opinions of their respective authors and are not
%% necessarily endorsed by the IEEE.
% \bibliographystyle{mybstfile}
% \bibliography{IEEEbcpat,mybibfile}
@STRING{acmcs = "ACM Computing Surveys"}
@STRING{acta = "Acta Informatica"}
@STRING{cacm = "Communications of the ACM"}
@STRING{ibmjrd = "IBM Journal of Research and Development"}
@STRING{ibmsj = "IBM Systems Journal"}
@STRING{ieeese = "IEEE Transactions on Software Engineering"}
@STRING{ieeetc = "IEEE Transactions on Computers"}
@STRING{ieeetcad = "IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
@STRING{ipl = "Information Processing Letters"}
@STRING{jacm = "Journal of the ACM"}
@STRING{jcss = "Journal of Computer and System Sciences"}
@STRING{scp = "Science of Computer Programming"}
@STRING{sicomp = "SIAM Journal on Computing"}
@STRING{tocs = "ACM Transactions on Computer Systems"}
@STRING{tods = "ACM Transactions on Database Systems"}
@STRING{tog = "ACM Transactions on Graphics"}
@STRING{toms = "ACM Transactions on Mathematical Software"}
@STRING{toois = "ACM Transactions on Office Information Systems"}
@STRING{toplas = "ACM Transactions on Programming Languages and Systems"}
@STRING{tcs = "Theoretical Computer Science"}
This diff is collapsed.
This diff is collapsed.
% Acronyms (abbreviated).
% See also IEEEabrv.bib.
% Journals.
@string(ai = "Artificial Intelligence")
@string(cgip = "Computer Graphics, and Image Processing")
@string(cvgip = "Computer Vision, Graphics and Image Processing")
@string(cviu = "Computer Vision, Graphics and Image Processing: Image
@string(fss = "Fuzzy Sets and Systems")
@string(gmip = "Computer Vision, Graphics and Image Processing:
Graphical Models and Image Processing" )
@string(ijdar = "Intl. Journal on Document Analysis and Recognition")
@string(ijprai = "Intl. Journal of Pattern Recognition and Artificial
@string(itcssp = "{IEEE} Trans. on Circuits, Systems and Signal
@string(ivc = "Image and Vision Computing")
@string(jacm = "Journal of the ACM")
@string(jas = "Journal of Applied Statistics")