In order to clearly express what is expected from the implementation of IPOL algorithms, some software guidelines have been written and adopted by the editorial board ans scientific commitee.
The guidelines replace the previous implementation section of the submision manual. They are proposed for the articles already in review and enforced for the new articles.
The full text of the guidelines, version 1.00, is available at http://tools.ipol.im/wiki/ref/software_guidelines/. They detail all the requirements and recommendations, summarized hereafter:
- zip or tar/gzip archive
name_version.{zip,tar.gz,tgz}
, less than 2 MB - everything into a
name_version/
folder - file names with
a-z
,A-Z
,0-9
,-
,_
,.
- no hidden file, backup or useless file, no binary
- C89, C99 or C++98 code tested with
gcc -std=xxx -Wall -Wextra -Werror
- portable code, 32/64-bits, nothing specific to an operating system
- only
libtiff
,libjpeg
,libpng
,zlib
,fftw
,cblas
andclapack
external libraries - compilation with
make
orcmake
, only standard options,make
uses$(CC)
or$(CXX)
- command-line non-interactive interface
- max 1 GB memory, max 30 s computation in the demo environment
- can read/write in PNG, TIFF, PNM, EPS, SVG, VRML or PLY format
- copyright attribution and GPL/BSD license info in every source file
- patent warning if needed
README.txt
essential information- correct, clean code in English
- max 80 characters per line, max 1000 lines per file
main()
, algorithmic and auxiliary code in different files- detailed comments for every function and every implementation step
- example input data and result
IPOL implementations can be tested on an online guideline verification tool: http://tools.ipol.im/pkg/.