iFit: Credits and Contributions
- Credits
- Licensing
- Project cost
- Links to other related projects
- Contributions
Credits
iFit was invented by E.
Farhi and took many years to come to you.
Substantial contributions from Y. Debab and P. Willendrup.
If you produce scientific output using iFit, I'd appreciate if you cite the following
reference:
- E. Farhi, Y. Debab and P. Willendrup, J. Neut. Res., 17 (2013) 1. DOI:
10.3233/JNR-130001
- E. Farhi, The iFit data
analysis library, ILL, Computing for Science (2011)
<http://ifit.mccode.org>.
iFit is a licensed product from the Computing for Science group
at the Institut Laue-Langevin,
Grenoble, France.
If you wish to contribute, send
suggestions, scripts, and new functions/methods to [farhi (at) ill.fr]. Your
contribution will then be included in the next release, with proper
credits to the authors. You can also contribute through the merge
request mechanism at the Github repository.
Disclaimer:
This software is experimental, and should not be considered
bullet-proof. In particular, expect many bugs - which should be
reported to me [farhi (at) ill.fr]
if you want them to be fixed quickly.
Licensing
The iFit package is provided within
the frame of the EUPL
license, either as Source Code or Executable Code (standalone
versions). The text of this license is included in the packages.
In short, you can use, copy, distribute and modify the Code.
However, a number of restrictions apply, especially when producing
derived work (that is modify and redistribute the code in other
products). In particular, the derived work must be licensed under
the EUPL or a Compatible License, label all modifications
explicitly, distribute the Source Code, and cite the Original work.
Basically this is open-source. Use it if you find it useful, and
enrich it.
If you do produce new methods, please send them back to me so that
they are added in the software and thus benefit to the community.
A number of additions, included in the software, where obtained from
the Matlab
Central contributions, and are BSD licensed.
Matlab is a registered
trademark of The Mathworks Inc.
Related software (e.g. Matlab Compiler Runtime and Matlab) are
covered by specific licenses.
Project cost
Full statistics for the project development can be obtained from its Ohloh project page.
I am currently the only developer of this project, which has been
slowly designed for 10 years before writting the iFit basic project
architecture. An initial prototype, specnd, was written earlier in
years 2003-2004, then re-written from scratch with some of the
current design principles in 2006 by Y. Debab [trainee at ILL] and
me. The final project contains about 55000 lines of code (as of May
10th, 2011). About 10000 lines of code are contributed form other
authors (see credits list below).
CodeBase Analysis (number of lines of code) on July, 2013 (release
1.4)
@iData |
17839 |
@iFunc
|
4912
|
Loaders |
14583
|
Optimizers |
4340 (+8442 contributed) |
Models and Scripts
|
3476 (+52407 from SASfit and
CrysFML)
|
Applications |
3978 (+6266 for ResLibCal)
|
TOTAL
|
51 kLOC
(written for iFit)
|
Contributed
|
123 kLOC
|
Docs
|
21 kLOC
|
CoCoMo analysis <http://en.wikipedia.org/wiki/COCOMO>
for
'Organic' project (excluding the contributed code in Optimizers)
KLOC = 51; ab = 2.4; bb
= 1.05; cb = 2.5; db = 0.38;
Effort Applied |
149 [months-year] |
E=ab*KLOC^bb |
Development Time |
16.7 [months] |
D=cb*E^db |
People required |
8.9 [count] |
E/D |
Estimated
Cost |
489 [k$]
|
E/D*55 |
Note: This clearly shows that I can work as 9 guys in a row, and I'm
dramatically under-paid. In fact I estimate I have worked about a
total of one man-year on iFit over the last ten years.
Links to other
related projects
- SpinW
by Sandor Toth: a Matlab library that can plot and numerically
simulate magnetic structures and excitations of given spin
Hamiltonian using classical Monte Carlo simulation and linear
spin wave theory. iFit includes a SpinW release version 2.
- ResLib
by A. Zheludev: a library to compute 4D TAS resolution
function.
- Horace
by T. Perring: a suite of programs for the visualisation and
analysis of large datasets from time-of-flight neutron inelastic
scattering spectrometers. [ deb
amd64 ]
Contributions
Most of contributions where extracted from Matlab
Central, and are thus BSD licensed. Optimization routines have
been adapted to match the Matlab fminsearch
syntax.
Sliceomatic by Eric Ludlam <eludlam@mathworks.com> (Matlab Central)
fscatter3 by Felix Morsdorf, Jan
2003, Remote Sensing Laboratory Zuerich
vol3d by Joe Conti, 2004, Oliver
Woodford 2011
genopt by Douglas M. Schwarz 2006
hPSO by Alexandros Leontitsis leoaleq@yahoo.com
Ioannina, Greece 2004
Simplex by F. Sigworth, 15
March 2003, S. H. Heinemann, 1987 and M. Caceci and W. Cacheris,
Byte, p. 340, May 1984.
powell by Argimiro R. Secchi (arge@enq.ufrgs.br)
2001
ossrs by Sheela V. Belur
(sbelur@csc.com) 1998
ga/gaconstrain by Javad Ivakpour
javad7@gmail.com, May 2006
cmaes by Nikolaus Hansen,
2001-2007. e-mail: hansen@bionik.tu-berlin.de
solvopt by Alexei
Kuntsevich and Franz Kappel , Graz (Austria) 1997
hooke
by
Kelley, 1998, Iterative Methods for Optimization, SIAM
Frontier in Applied Mathematics 18
imfil by Kelley, 1998,
Iterative Methods for Optimization, SIAM Frontier in Applied
Mathematics 18
PSO by Brecht Donckels, BIOMATH,
brecht.donckels@ugent.be 2006
sce and SIMPSA by Brecht Donckels, BIOMATH,
brecht.donckels@ugent.be 2006
LMFsolve by Miroslav Balda,
balda AT cdm DOT cas DOT cz 2009
netcdf by Paul Spencer, 2007
plot2svg by Juerg Schwizer,
22-Jan-2006
pmedf_read and pmedfwrite by Petr
Mikulik, Masaryk University, Brno, 11.8.2010
export3Dline2VTK (xyz line),
exportTriangulation2VTK (2D surface) from David Gingras, January
2009
writeVTK (3D object) by Tim 24 Mar
2009
used in iData/saveas VTK, no license
anneal by Joachim Vandekerckhove,
2006
bfgswopt by Kelley, 1998,
Iterative Methods for Optimization, SIAM Frontier in Applied
Mathematics 18
ntrust by Kelley, 1998,
Iterative Methods for Optimization, SIAM Frontier in Applied
Mathematics 18
ukfopt by Yi Cao at Cranfield
University, 08 January 2008
buscarnd by Argimiro R. Secchi
(arge@enq.ufrgs.br) and Giovani Tonel(giovani.tonel@ufrgs.br) on
September 2006
ReadINX by J. Ollivier (ollivier@ill.eu) 2007
used as INX file importer.
cbfread, speread and marread by
Oliver Bunk (oliver.bunknull@pnullsi.ch) 2011
fitswrite by R. G. Abraham,
Institute of Astronomy, Cambridge University (abraham@ast.cam.ac.uk)
1999
histcn by Bruno Luong
(brunoluong@yahoo.com) Aug 25th 2011
rndread from cad2matdemo by Don Riley Jun 2003
import_stl_fast by Eric Trautmann
31 Mar 2011
stlread by Francis Esmonde-White,
May 2010
figure2xhtml by Dirk-Jan Kroon, Jul
2011
uiinspect and findjobj by Y.
Altman, Dec 2007
sifread by Leutenegger November
2006, updated Uli Klessinger 18 Jun 2012
adsc_read by Gil Toombes, 2004
PDB_geometry by Gil Toombes, 2004
used as file importer and I(q)
generator, no license
SASfit from J. Kohlbrecher and I.
Bressler, PSI, 2006-2012
tom_mrcread from Wolfgang
Baumeister (TOM Matlab toolbox),
2008
CrysFML by Juan
Rodriguez-Carvajal and Javier
Gonzalez-Platas, ILL and ULL, Tenerife, Spain
ResLib by A. Zheludev, using
especially ResMat, ResMatS and ResPlot3D
ResCal5 by (A. Tennant and
D. Mc Morrow), using especially rc_cnmat,
rc_popma, rc_projs
Res3ax (J. Ollivier), using
res3ax5, no license
ResCal by
Hargreave,Hullah,1979, ported into vTAS_view
(A. Bouvet/A. Filhol)
yaml by Kota Yamaguchi 2011
<kyamagu@cs.stonybrook.edu>
used to read/write yaml/json, BSD
and Apache2 license
struct2xml by W. Falkena,
ASTI, TUDelft, 27-08-2010
mlabwrap by Alexander
Schmolck and Vivek Rathod 2003-20011, with contribution from Dani
Valevski 2011
json4mat by Jonas Almeida, April 2010
DOSYToolbox by Mathias Nilsson, 2008 and matNMR by
Jacco van Beek, 2009
smoothn, inpaintn otsu and resize by
Damian Garcia 2010
used for smoothing and rebinning
data sets (discrete cosine transform based), no license
<
http://www.biomecardio.com/matlab/>
and
http://www.mathworks.com/matlabcentral/fileexchange/27994-inpaint-over-missing-data-in-1-d--2-d--3-d--n-d-arrays
Garcia D,
Robust
smoothing of gridded data in one and higher dimensions with
missing values.
Comput Statist Data Anal,
2010;54:1167-1178
Narasimha M. et al,
On
the computation of the discrete cosine transform,
IEEE
Trans Comm, 26, 6, 1978, pp 934-936.
Wang G, Garcia D et al.
A
three- dimensional gap filling method for large geophysical
datasets: Application to global satellite soil moisture
observations. Environ Modell Softw, 2012;30:139-142.
wtc-r16 by Grinsted, A. 2004
used for the continuous wavelet
transform, kind of BSD
<
http://noc.ac.uk/using-science/crosswavelet-wavelet-coherence>
Grinsted, A., Moore, J.C., Jevrejeva, S. (2004) Application of the
cross wavelet transform and wavelet coherence to geophysical time
series,
Nonlin. Processes
Geophys.,
11,
561-566, doi:10.5194/npg-11-561-2004.
Wavelet software was provided by C. Torrence and G. Compo, and is
available at URL:
http://paos.colorado.edu/research/wavelets/
Fast serialize/deserialize by Christian Kothe (2012)
Igor Pro file format (ibw) to matlab variable by Jakub Bialek
(2013)
Fast segmentation of N-dimensional grayscale images by Anton
Semechko (2013)
Read Wavefront Obj files by Dirk-Jan Kroon (2010)
M2HTML Documentation System for Matlab in HTMLby G. Flandin
(2013)
Read LabView LVM and TDMS files by M. A. Hopcroft (2008) ,
Jim Hokanson (2011), Brad Humphreys (2013)
Read Bruker OPUS files by A. Silakov Kazan viewer 2009
LLB TAS files by B. Hennion
used in iLoad/read_llb_tas, no
license
adapted from old fortran code (software: wf, routines convasc_C,
convasc_D, convasc_S, convdat, read_fich)
stlwrite by Sven Holcombe, 2011
vasplab by Max Radin, 2012
stochiometry-tools by Jeff Kantor, 2010
restore_idl by Charles Pelizzari, 2013
vtkwrite by Joe Yeh 2015
WriteMRC by Fred Sigworth, 2010
ImportAgilent and ImportThermo by James Dillon, 2014
Import_XYZ in NanoVis by G. Romano, 2008
Copy Paste by Yvan Lengwile, Jun 2010
xml2struct by Wouter Falkena, 2010
SpinW by S. Toth, 2015
GWMCMC by A. Grinsted, 2015
Horace by Toby Perring, Russell Ewings, Alex Buts, Joost
van Duijn, Ibon Bustinduy, Dean Whittaker 2007-2015
x3mesh by B. Irving 2013
dndcontrol by Maarten van der Seijs 2015
TextEdit by Jorge De Los Santos 2014
PHON by D. Alfe
readNPY by C. Rossant. 2016
exportToPPTX by Stefan Slonevskiy. 2017
mesh2kml by Serge. 2017
sort_nat by Douglas Schwarz. 2008
linecut by Patrick Maher. 2014
SDF_import by Justin Dinale 27 May 2018.
SpinWave by Sylvain Petit 2011-2018 (c) LLB.
E.Farhi
- iFit Credits -
Nov. 27, 2018 $Revision: 1266 $ - back to
Main iFit Page