debian/0000775000000000000000000000000012631466103007172 5ustar debian/odin.install0000664000000000000000000000031211735034415011510 0ustar debian/tmp/usr/share/odin usr/share debian/tmp/usr/bin/gen* usr/bin debian/tmp/usr/bin/geoedit usr/bin debian/tmp/usr/bin/odin* usr/bin debian/tmp/usr/bin/pulsar usr/bin debian/tmp/usr/bin/swab usr/bin debian/TODO0000664000000000000000000000025711735034371007670 0ustar * Allow homepage and tutorial to be build with having the package already installed. Currently it does not seems to be possible to specify custom inlude_dirs and such. debian/odin.docs0000664000000000000000000000002111735034415010767 0ustar NEWS README TODO debian/compat0000664000000000000000000000000211735034371010372 0ustar 7 debian/odin.links0000664000000000000000000000005311735034415011164 0ustar usr/share/odin usr/share/doc/odin/examples debian/rules0000775000000000000000000000253712631465661010271 0ustar #!/usr/bin/make -f DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk # one ring to rule them all ... %: dh $@ --with autoreconf # need to provide QTDIR to choose between Qt3 and Qt4 override_dh_auto_configure: dh_auto_configure -- \ --with-qt-dir="/usr/share/qt4" \ --libdir="/usr/lib/odin" \ --with-pic \ --enable-only-standalone-plugin \ --enable-static \ --enable-shared \ --enable-niftisupport \ --enable-vtksupport \ --enable-dcmtksupport \ --enable-pngsupport \ --with-extra-build-ldflags="-lvtkCommon -lvtkGraphics -lvtkFiltering -lQtGui -lQtCore -lofstd -loflog -lpthread -lz" \ --with-extra-build-cxxflags="-I/usr/include/vtk-5.4 -I/usr/include/vtk-5.6 -I/usr/include/vtk-5.8 -I/usr/include/vtk-5.10" # do not install unittest suite override_dh_auto_install: dh_auto_install rm $(CURDIR)/debian/tmp/usr/bin/odintestsuite # there is also a 'test' target that doesn't do the right thing override_dh_auto_test: DCMDICTPATH=/usr/share/libdcmtk5/dicom.dic $(MAKE) check # shared libs in odin package a only for private use override_dh_makeshlibs: dh_makeshlibs -n # let dh_shlibdeps find the other private libs # but it does not seem to work though... override_dh_shlibdeps: dh_shlibdeps -l $(CURDIR)/debian/odin/usr/lib/odin override_dh_clean: dh_clean find $(CURDIR) -name '*.loT' -delete debian/changelog0000664000000000000000000001202112631465743011051 0ustar odin (1.8.8-2ubuntu1) xenial; urgency=medium * debian/control: Build-depend on libdcmtk5 instead of libdcmtk2. * debian/rules: Update DCMDICTPATH for libdcmtk5. -- Logan Rosen Tue, 08 Dec 2015 00:33:38 -0500 odin (1.8.8-2) unstable; urgency=medium * Switch to using dh-autoreconf. Thanks to Bas Couwenberg for the nudge. * Update build dependencies for GSL 2, change libgsl0-dev to libgsl-dev. Courtesy Bas Couwenberg (Closes: #805819). * Add patch for GSL 2 support. Courtesy Bas Couwenberg. * Adjust include paths for VTK 5.10. * Use libdcmtk-dev as primary build dependency, keep old package names as alternatives (Closes: #804572). * Likewise use libpng-dev as primary build-dependency, but keep libpng12-dev as an alternative (Closes: #662451). * Add patch to be able to build with ld --as-needed. Courtesy of Bhavani Shankar R (Closes: #770061). * Add explicit dependency to libdcmtk2 (no longer pull in via -dev package) to have dicom.dic available for the test suite. -- Michael Hanke Sun, 06 Dec 2015 08:53:29 +0100 odin (1.8.8-1) unstable; urgency=medium * New upstream release. - Supports blitz 0.10 (Closes: #680804). * Removed all patches -- merged upstream or obsolete. * Build using the default Debian build flags, hence enabled hardening. * Bumped Standards-version to 3.9.5, no changes necessary. -- Michael Hanke Thu, 09 Oct 2014 09:30:26 +0200 odin (1.8.5-2) unstable; urgency=low * Amend patch for GCC 4.7 compatibility with another missing header include. Thanks to Samuel Thibault for the report and Thies Jochimsen for the upstream fix (Closes: #673217). -- Michael Hanke Fri, 18 May 2012 09:39:29 +0200 odin (1.8.5-1) unstable; urgency=low * New upstream release. - Writing of multiple VTK files for dynamic data sets - Storing protocol together with z-maps in miview fMRI - Added dialect 'tcourse' to ASCII fileio - SeqSimMonteCarlo now supports multi-threaded simulation - Added gamma variate fitting function - Added filter steps 'quantilmask' and 'resample' - Filter steps 'minip', 'maxip' and 'proj' now with direction argument - Added option 'weightmask' to micalc - Added reco step 'qcspike' to detect spikes in signal - Added reco steps 'driftcalc/driftcorr' for correction of field drift * Bumped Standards-version to 3.9.3, no changes necessary. * No longer depends on liboil. * Remove obsolete patches (missing_header, gsl_roundoff) -- merged upstream. * Added patch from upstream SVN to fix missing header for GCC 4.7 (Closes: #667307). Thanks to Matthias Klose for the report. -- Michael Hanke Sat, 07 Apr 2012 09:40:10 +0200 odin (1.8.4-2) unstable; urgency=low * Disable Vista data format support. Upstream will do this in 1.8.5, but it eases the libvia transition in Debian right now. * Removed DM-flag from debian/control -- no longer needed. -- Michael Hanke Mon, 05 Mar 2012 09:57:15 +0100 odin (1.8.4-1) unstable; urgency=low * New upstream release. Now compatible with DCMTK 3.6 (Closes: #623145). * Added patch to fix GSL 1.5 related problem, causing a unittest to segfault. * Add link libraries for a unresolved dependencies of DCMTK 3.6. This is a workaround, not a solution (see #628153). * Bumped Standards-version to 3.9.2, no changes necessary. -- Michael Hanke Fri, 16 Dec 2011 15:26:08 +0100 odin (1.8.3-1) unstable; urgency=low * New upstream release. * Change build-dependency from libblas-dev to libatlas-base-dev to ensure availability of lapack (Closes: #614447). * Updated maintainer email. * Bumped Standards-version to 3.9.1, no changes necessary. * Explicitly links against all required libs to address changes in the behavior of Debian's linker. * Update debian/copyright. * Added include path to VTK5.6. -- Michael Hanke Sun, 13 Mar 2011 20:31:16 -0400 odin (1.8.1-3) unstable; urgency=low * Adjust NIfTI build-dependency to libnifti-dev. * Bumped Standards-version, no changes necessary. -- Michael Hanke Wed, 21 Jul 2010 19:35:42 -0400 odin (1.8.1-2) unstable; urgency=low * Switch maintainer to NeuroDebian team. * Bumped Standards-version to 3.8.4 -- no changes necessary. * No longer depend on atlas, but use libblas-dev. * Switch from CDBS to debhelper's dh. * Convert the dpkg source package format 3.0 (quilt). Also split Debian diff into patch series. -- Michael Hanke Sat, 22 May 2010 17:57:51 +0200 odin (1.8.1-1) unstable; urgency=low * New upstream release (skipped 1.8.0). - Fixes FTBFS (Closes: #562392). * Added missing include directive (Closes: #553708). Thanks to Martin Michlmayr. -- Michael Hanke Sun, 10 Jan 2010 14:24:41 -0500 odin (1.8.0-1) unstable; urgency=low * Initial release (Closes: #410318). -- Michael Hanke Wed, 30 Sep 2009 21:16:51 -0400 debian/odin.menu0000664000000000000000000000051211735034415011010 0ustar ?package(odin):needs="X11" section="Applications/Science/Physics"\ title="odin" command="/usr/bin/odin" ?package(odin):needs="X11" section="Applications/Science/Physics"\ title="pulsar" command="/usr/bin/pulsar" ?package(odin):needs="X11" section="Applications/Science/Physics"\ title="geoedit" command="/usr/bin/geoedit" debian/copyright0000664000000000000000000000510511735034415011127 0ustar This package was debianized by: Michael Hanke on Mon, 23 Mar 2009 16:59:32 +0100 It was downloaded from: http://od1n.sourceforge.net Upstream Author: Thies Jochimsen with contributions by Michael v. Mengershausen, Andreas Schaefer, Markus Koerber, Robert Trampel, Enrico Reimer, Dirk Mueller, Torsten Schlumm Copyright: Copyright (C) 2000-2010 Thies Jochimsen Copyright (C) 2001,2004 Michael von Mengershausen License: This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. ---- odendata/fileio_gzip.cpp is derived from the minigz-example by Jean-loup Gailly of the zlib distribution and is: Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler and license: This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu ---- The Debian packaging is: Copyright (C) 2009-2011, Michael Hanke and is licensed under the GPL, see above. debian/patches/0000775000000000000000000000000012631024613010615 5ustar debian/patches/gsl-2.patch0000664000000000000000000001111712631020654012564 0ustar Description: porting to GSL2 Origin: http://sourceforge.net/p/od1n/code/8551/ Bug-Debian: https://bugs.debian.org/805819 --- a/odindata/fitting.cpp +++ b/odindata/fitting.cpp @@ -107,6 +107,7 @@ int FunctionFitDerivative_func_fdf (cons bool FunctionFitDerivative::init(ModelFunction& model_func, unsigned int nvals) { + Log odinlog("FunctionFitDerivative","init"); data4fit= new ModelData(nvals); @@ -114,8 +115,10 @@ bool FunctionFitDerivative::init(ModelFu gsldata=new GslData4Fit; - // allocate and initialize GSL stuff unsigned int npars=model_func.numof_fitpars(); + ODINLOG(odinlog,normalDebug) << "npars=" << npars << STD_endl; + + // allocate and initialize GSL stuff gsldata->covar = gsl_matrix_alloc (npars, npars); gsldata->solver = gsl_multifit_fdfsolver_alloc (gsl_multifit_fdfsolver_lmsder, data4fit->n, npars); @@ -164,7 +167,7 @@ bool FunctionFitDerivative::fit(const Ar ModelFunction* func=data4fit->modelfunc; unsigned int npars=func->numof_fitpars(); - ODINLOG(odinlog,normalDebug) << "n/numof_fitpars=" << data4fit->n << "/" << npars << STD_endl; + ODINLOG(odinlog,normalDebug) << "n/npars=" << data4fit->n << "/" << npars << STD_endl; // copy Blitz arrays to data4fit for (unsigned long i=0;in;i++) { @@ -219,7 +222,30 @@ bool FunctionFitDerivative::fit(const Ar return false; } - gsl_multifit_covar (gsldata->solver->J, 0.0, gsldata->covar); + + gsl_matrix* J=0; +#ifdef HAVE_GSL_MULTIFIT_FDFSOLVER_JAC // for GSL2 + ODINLOG(odinlog,normalDebug) << "solver->f->size=" << gsldata->solver->f->size << STD_endl; + ODINLOG(odinlog,normalDebug) << "solver->x->size=" << gsldata->solver->x->size << STD_endl; + J = gsl_matrix_alloc(gsldata->solver->f->size, gsldata->solver->x->size); + status = gsl_multifit_fdfsolver_jac(gsldata->solver, J); + if(status!=GSL_SUCCESS) { + ODINLOG(odinlog,errorLog) << gsl_strerror(status) << STD_endl; + return false; + } +#else // pre GSL2 + J=gsldata->solver->J; +#endif + + status = gsl_multifit_covar(J, 0.0, gsldata->covar); + if(status!=GSL_SUCCESS) { + ODINLOG(odinlog,errorLog) << gsl_strerror(status) << STD_endl; + return false; + } + +#ifdef HAVE_GSL_MULTIFIT_FDFSOLVER_JAC // for GSL2 + gsl_matrix_free(J); +#endif // copy results for(unsigned int i=0;i]) - + AC_CHECK_FUNCS(gsl_multifit_fdfsolver_jac) if test "x$macos" = "xyes" ; then AC_MSG_NOTICE([Using vecLib for lapack support]) --- a/configure +++ b/configure @@ -15891,7 +15891,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gsl_gsl_multifit_fdfsolver_iterate" >&5 $as_echo "$ac_cv_lib_gsl_gsl_multifit_fdfsolver_iterate" >&6; } if test "x$ac_cv_lib_gsl_gsl_multifit_fdfsolver_iterate" = xyes; then : - BASELIBS="-lgsl $BASELIBS" + LIBS="-lgsl $LIBS"; BASELIBS="-lgsl $BASELIBS" else valid_gsl=no fi @@ -15921,6 +15921,16 @@ if test "x$ac_cv_have_decl_gsl_multimin_ have_gsl_multimin_fminimizer_nmsimplex2=yes fi + for ac_func in gsl_multifit_fdfsolver_jac +do : + ac_fn_cxx_check_func "$LINENO" "gsl_multifit_fdfsolver_jac" "ac_cv_func_gsl_multifit_fdfsolver_jac" +if test "x$ac_cv_func_gsl_multifit_fdfsolver_jac" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GSL_MULTIFIT_FDFSOLVER_JAC 1 +_ACEOF + +fi +done if test "x$macos" = "xyes" ; then --- a/tjutils/config.h.in +++ b/tjutils/config.h.in @@ -81,6 +81,9 @@ /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY +/* Define to 1 if you have the `gsl_multifit_fdfsolver_jac' function. */ +#undef HAVE_GSL_MULTIFIT_FDFSOLVER_JAC + /* "existence of newer gsl_multimin_fminimizer_nmsimplex2 algorithm" */ #undef HAVE_GSL_MULTIMIN_FMINIMIZER_NMSIMPLEX2 debian/patches/gcc47_missing_header0000664000000000000000000000447211755404223014524 0ustar From: Thies Jochimsen Subject: Add missing header for GCC 4.7 Bug-Debian: http://bugs.debian.org/667307 --- a/tjutils/tjthread.cpp +++ b/tjutils/tjthread.cpp @@ -9,6 +9,9 @@ #ifdef HAVE_PTHREAD #include +#ifdef HAVE_UNISTD_H +#include // for sysconf +#endif #define USE_PTHREADS #endif --- a/tjutils/tjembed.h +++ b/tjutils/tjembed.h @@ -19,6 +19,7 @@ #define TJEMBED_H #include +#include // for itos /** * @addtogroup tjutils --- a/odindata/data.h +++ b/odindata/data.h @@ -207,7 +207,7 @@ template inline Data& operator = (BZ_ETPARM(_bz_ArrayExpr) expr) { typedef _bz_typename T_expr::T_numtype T_numtype; - evaluate(expr, _bz_update()); + this->evaluate(expr, _bz_update()); return *this; } @@ -516,7 +516,7 @@ ODINLOG(odinlog,normalDebug) << "nn(pad)" << nn << STD_endl; TinyVector tv; for(unsigned int i=0; iresize(tv); for(unsigned int i=0;i("nii"); - new FileIOFormatTest<7, 13, double, false,false,false,false>("hdr"); +// Disable these tests for now, since they fail when building with cowbuilder, +// but pass whenever building in a clean chroot. Need to have a closer look. +// new FileIOFormatTest<7, 13, double, false,false,true,false>("nii"); +// new FileIOFormatTest<7, 13, double, false,false,false,false>("hdr"); #ifdef HAVE_LIBZ #ifndef STREAM_REPLACEMENT - new FileIOFormatTest<7, 13, double, false,false,true,false>("nii.gz"); +// Disable this test for now, since it fails when building with cowbuilder, +// but pass whenever building in a clean chroot. Need to have a closer look. +// new FileIOFormatTest<7, 13, double, false,false,true,false>("nii.gz"); #endif #endif #endif debian/control0000664000000000000000000000500112631466072010576 0ustar Source: odin Section: science Priority: extra Maintainer: Ubuntu Developers XSBC-Original-Maintainer: NeuroDebian Team Uploaders: Michael Hanke , Yaroslav Halchenko Build-Depends: debhelper (>= 7.0.50~), dh-autoreconf, autotools-dev, libgsl-dev | libgsl0-dev, libblitz0-dev (>= 0.8) | libblitz-dev, libnifti-dev, libvtk5-dev, libdcmtk-dev | libdcmtk2-dev | libdcmtk1-dev, libdcmtk5, libpng-dev | libpng12-dev, libqt4-dev, libqwt5-qt4-dev, dcmtk, libatlas-base-dev Standards-Version: 3.9.5 Homepage: http://od1n.sourceforge.net Vcs-Browser: http://git.debian.org/?p=pkg-exppsy/odin.git Vcs-Git: git://git.debian.org/git/pkg-exppsy/odin.git Package: odin Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libodin-dev, libgsl-dev | libgsl0-dev, libc6-dev | libc-dev, g++, libblas-dev | libatlas-base-dev, xterm | x-terminal-emulator, gdb, mitools (= ${binary:Version}) Recommends: liboil0.3-dev | liboil-dev, libdcmtk1-dev Description: develop, simulate and run magnetic resonance sequences ODIN is a framework for magnetic resonance imaging (MRI). It covers the whole toolchain of MRI, from low-level data acquisition to image reconstruction. In particular, it aims at rapid prototyping of MRI sequences. The sequences can be programmed using a high-level, object oriented, C++ programming interface. It provides advanced sequence analysis tools, such as interactive plotting of k-space trajectories, a user interface for a fast compile-link-test cycle and a powerful MRI simulator which supports different virtual samples. For fast and flexible image reconstruction, ODIN contains a highly customizable, multi-threaded data-processing framework. Package: mitools Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, dcmtk Recommends: grace Description: view, convert and perform basic maths with medical image datasets The three contained tools micalc, miconv and miview are handy command-line utilities for converting, manipulating and viewing medical image data in various formats (DICOM, NIfTI, PNG, binary data, ...). Package: libodin-dev Architecture: any Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends} Description: static libraries and header for ODIN sequences This package provides static libraries and headers of the ODIN libraries odindata, adinpara, odinqt, odinseq and tjutils. They are required for building magnetic resonance imaging (MRI) sequences with ODIN. debian/odin.manpages0000664000000000000000000000026411735034415011643 0ustar debian/tmp/usr/share/man/man1/gen* debian/tmp/usr/share/man/man1/geo* debian/tmp/usr/share/man/man1/odin* debian/tmp/usr/share/man/man1/pulsar* debian/tmp/usr/share/man/man1/swab* debian/menu0000664000000000000000000000051211735034415010060 0ustar ?package(odin):needs="X11" section="Applications/Science/Physics"\ title="odin" command="/usr/bin/odin" ?package(odin):needs="X11" section="Applications/Science/Physics"\ title="pulsar" command="/usr/bin/pulsar" ?package(odin):needs="X11" section="Applications/Science/Physics"\ title="geoedit" command="/usr/bin/geoedit" debian/watch0000664000000000000000000000006511735034371010226 0ustar version=3 http://sf.net/od1n/odin-([\d\.]*)\.tar\.gz debian/.pc/0000775000000000000000000000000011755376055007666 5ustar debian/.pc/.version0000664000000000000000000000000211755376055011344 0ustar 2 debian/.pc/.quilt_series0000664000000000000000000000000711755376055012374 0ustar series debian/.pc/.quilt_patches0000664000000000000000000000001011755376055012523 0ustar patches debian/libodin-dev.install0000664000000000000000000000007311735034415012757 0ustar debian/tmp/usr/lib/odin/*.a usr/lib debian/tmp/usr/include debian/source/0000775000000000000000000000000011735034415010473 5ustar debian/source/format0000664000000000000000000000001411735034415011701 0ustar 3.0 (quilt) debian/mitools.manpages0000664000000000000000000000004211735034415012372 0ustar debian/tmp/usr/share/man/man1/mi* debian/mitools.install0000664000000000000000000000011311735034415012244 0ustar debian/tmp/usr/lib/odin/*-*.so usr/lib/odin debian/tmp/usr/bin/mi* usr/bin