control: tags -1 patch pending Hello, I'm uploading in deferred/10 the fixed new release, debdiff attached.
you can also grab it from here http://debomatic-amd64.debian.net/distribution#unstable/odin/2.0.3-0.1/buildlog G. On Mon, 12 Dec 2016 15:28:44 +0100 Thies Jochimsen <[email protected]> wrote: > Hi Michael, > just tested it on a current Debian stretch. It looks fine with the following > Qt5/Qwt6 packages installed: > > dpkg -l | grep 'libqt5\|libqwt' | grep ^ii > ii libqt5concurrent5:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 concurrent module > ii libqt5core5a:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 core module > ii libqt5dbus5:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 D-Bus module > ii libqt5designer5:amd64 5.7.1~20161021-2 > amd64 Qt 5 designer module > ii libqt5gui5:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 GUI module > ii libqt5network5:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 network module > ii libqt5opengl5:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 OpenGL module > ii libqt5opengl5-dev:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 OpenGL library development files > ii libqt5printsupport5:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 print support module > ii libqt5qml5:amd64 5.7.1~20161021-5 > amd64 Qt 5 QML module > ii libqt5quick5:amd64 5.7.1~20161021-5 > amd64 Qt 5 Quick library > ii libqt5sql5:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 SQL module > ii libqt5sql5-sqlite:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 SQLite 3 database driver > ii libqt5svg5:amd64 5.7.1~20161021-2 > amd64 Qt 5 SVG module > ii libqt5test5:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 test module > ii libqt5webkit5:amd64 5.7.1~20161021+dfsg-2 > amd64 Web content engine library for Qt > ii libqt5widgets5:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 widgets module > ii libqt5xml5:amd64 5.7.1~20161021+dfsg-6 > amd64 Qt 5 XML module > ii libqwt-dev 6.1.2-6 > amd64 Qt widgets library for technical applications (development, qt4) > ii libqwt-headers 6.1.2-6 > amd64 Qt widgets library for technical applications (header files) > ii libqwt-qt5-6 6.1.2-6 > amd64 Qt widgets library for technical applications (runtime, qt5) > ii libqwt-qt5-dev 6.1.2-6 > amd64 Qt widgets library for technical applications (development, qt5) > ii libqwt6abi1 6.1.2-6 > amd64 Qt widgets library for technical applications (runtime, qt4) > > > > And here is the relevant part during configure: > > configure: Environment variable QTDIR not specified, searching for Qt: > checking for /usr/include//qt5/qglobal.h... no > checking for /usr/include/x86_64-linux-gnu/qt5/qglobal.h... no > checking for /usr/share/qt5/include/qglobal.h... no
diff -Nru odin-2.0.2/aclocal.m4 odin-2.0.3/aclocal.m4
--- odin-2.0.2/aclocal.m4 2016-05-30 12:27:09.000000000 +0200
+++ odin-2.0.3/aclocal.m4 2016-11-08 10:05:37.000000000 +0100
@@ -744,7 +744,6 @@
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
diff -Nru odin-2.0.2/ChangeLog odin-2.0.3/ChangeLog
--- odin-2.0.2/ChangeLog 2016-05-30 12:26:46.000000000 +0200
+++ odin-2.0.3/ChangeLog 2016-10-14 10:49:41.000000000 +0200
@@ -1,5 +1,16 @@
ChangeLog for ODIN
+Version 2.0.3:
+--------------
+
+New Features:
+- Added FilterSphereMask to create spherical ROI
+
+Internal Changes:
+- fixes for GCC6
+
+
+
Version 2.0.2:
--------------
diff -Nru odin-2.0.2/cmdline-utils/gencoil.1 odin-2.0.3/cmdline-utils/gencoil.1
--- odin-2.0.2/cmdline-utils/gencoil.1 2016-05-30 12:37:22.000000000 +0200
+++ odin-2.0.3/cmdline-utils/gencoil.1 2016-11-08 10:20:15.000000000 +0100
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH GENCOIL "1" "May 2016" "gencoil 2.0.2" "User Commands"
+.TH GENCOIL "1" "November 2016" "gencoil 2.0.3" "User Commands"
.SH NAME
gencoil \- Generates a virtual coil suitable for sequence simulation in ODIN
.SH DESCRIPTION
diff -Nru odin-2.0.2/cmdline-utils/genmakefile.1
odin-2.0.3/cmdline-utils/genmakefile.1
--- odin-2.0.2/cmdline-utils/genmakefile.1 2016-05-30 12:37:23.000000000
+0200
+++ odin-2.0.3/cmdline-utils/genmakefile.1 2016-11-08 10:20:16.000000000
+0100
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH GENMAKEFILE "1" "May 2016" "genmakefile 2.0.2" "User Commands"
+.TH GENMAKEFILE "1" "November 2016" "genmakefile 2.0.3" "User Commands"
.SH NAME
genmakefile \- Generates a Makefile for ODIN methods
.SH SYNOPSIS
diff -Nru odin-2.0.2/cmdline-utils/gensample.1
odin-2.0.3/cmdline-utils/gensample.1
--- odin-2.0.2/cmdline-utils/gensample.1 2016-05-30 12:37:22.000000000
+0200
+++ odin-2.0.3/cmdline-utils/gensample.1 2016-11-08 10:20:15.000000000
+0100
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH GENSAMPLE "1" "May 2016" "gensample 2.0.2" "User Commands"
+.TH GENSAMPLE "1" "November 2016" "gensample 2.0.3" "User Commands"
.SH NAME
gensample \- Generates a virtual sample suitable for sequence simulation in
ODIN
.SH DESCRIPTION
diff -Nru odin-2.0.2/cmdline-utils/micalc.1 odin-2.0.3/cmdline-utils/micalc.1
--- odin-2.0.2/cmdline-utils/micalc.1 2016-05-30 12:37:23.000000000 +0200
+++ odin-2.0.3/cmdline-utils/micalc.1 2016-11-08 10:20:17.000000000 +0100
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH MICALC "1" "May 2016" "micalc 2.0.2" "User Commands"
+.TH MICALC "1" "November 2016" "micalc 2.0.3" "User Commands"
.SH NAME
micalc \- Performs basic mathematics with data sets
.SH DESCRIPTION
@@ -35,7 +35,7 @@
.HP
\fB\-ai\fR: inplane rotation angle (default=0.0)
.HP
-\fB\-date\fR: Date of scan [yyyymmdd] (default=20160530yyyymmdd)
+\fB\-date\fR: Date of scan [yyyymmdd] (default=20161108yyyymmdd)
.HP
\fB\-fp\fR: FOV in phase direction [mm] (default=220.0mm)
.HP
@@ -81,7 +81,7 @@
.HP
\fB\-te\fR: Time\-to\-echo of the sequence [ms] (default=80.0ms)
.HP
-\fB\-time\fR: Time of scan [hhmmss] (default=123723hhmmss)
+\fB\-time\fR: Time of scan [hhmmss] (default=102016hhmmss)
.HP
\fB\-tr\fR: Time between consecutive excitations [ms] (default=1000.0ms)
.HP
@@ -97,7 +97,7 @@
.HP
\fB\-rdialect\fR: Read data using given dialect of the format. (default is no
dialect)
.HP
-\fB\-rf\fR: Read format, use it to override file extension (options=autodetect
3db analyze asc coi dat dcm double float gz h5 hdr idx ima interfile jdx mag
mhd nii ph png pos pro reg s16bit s32bit s8bit smp u16bit u32bit u8bit vtk xml
xpro , default=autodetect)
+\fB\-rf\fR: Read format, use it to override file extension (options=autodetect
3db analyze asc coi dat dcm double float gz hdr idx ima interfile jdx mag mhd
nii ph png pos pro reg s16bit s32bit s8bit smp u16bit u32bit u8bit vtk xml xpro
, default=autodetect)
.HP
\fB\-skip\fR: Skip this amount of bytes before reading the raw data (default=0)
.SS "File write options:"
@@ -114,7 +114,7 @@
.HP
\fB\-wdialect\fR: Write data using given dialect of the format. (default is no
dialect)
.HP
-\fB\-wf\fR: Write format, use it to override file extension
(options=autodetect 3db analyze asc coi dat dcm double float gz h5 hdr idx ima
interfile jdx mag mhd nii ph png pos pro reg s16bit s32bit s8bit smp u16bit
u32bit u8bit vtk xml xpro , default=autodetect)
+\fB\-wf\fR: Write format, use it to override file extension
(options=autodetect 3db analyze asc coi dat dcm double float gz hdr idx ima
interfile jdx mag mhd nii ph png pos pro reg s16bit s32bit s8bit smp u16bit
u32bit u8bit vtk xml xpro , default=autodetect)
.HP
\fB\-wp\fR: Store the protocol separately to this file.
.SS "Filters applied to input file(s) and mask:"
@@ -179,6 +179,8 @@
.HP
\fB\-slicetime\fR <space\-separated list of slice indices in order of
acquisition> : Correct for different acquisition time points of slices
.HP
+\fB\-spheremask\fR <Position string in the format
(slicepos,phasepos,readpos),radius [mm]> : Create spherical mask
+.HP
\fB\-splice\fR <dimension of the data to be spliced (time slice phase read
none )> : splices the image in the given direction
.HP
\fB\-srange\fR <Single value or range, optionally with increment (e.g.
1\-10:3)> : Select range in slice direction
@@ -232,9 +234,6 @@
gz
(GNU\-Zip container for other formats)
.TP
-h5
-(ISMRMRD Image)
-.TP
hdr
(Interfile, dialects: neurostat)
.TP
diff -Nru odin-2.0.2/cmdline-utils/miconv.1 odin-2.0.3/cmdline-utils/miconv.1
--- odin-2.0.2/cmdline-utils/miconv.1 2016-05-30 12:37:23.000000000 +0200
+++ odin-2.0.3/cmdline-utils/miconv.1 2016-11-08 10:20:16.000000000 +0100
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH MICONV "1" "May 2016" "miconv 2.0.2" "User Commands"
+.TH MICONV "1" "November 2016" "miconv 2.0.3" "User Commands"
.SH NAME
miconv \- Converts medical image data between formats.
.SH SYNOPSIS
@@ -26,7 +26,7 @@
.HP
\fB\-ai\fR: inplane rotation angle (default=0.0)
.HP
-\fB\-date\fR: Date of scan [yyyymmdd] (default=20160530yyyymmdd)
+\fB\-date\fR: Date of scan [yyyymmdd] (default=20161108yyyymmdd)
.HP
\fB\-fp\fR: FOV in phase direction [mm] (default=220.0mm)
.HP
@@ -72,7 +72,7 @@
.HP
\fB\-te\fR: Time\-to\-echo of the sequence [ms] (default=80.0ms)
.HP
-\fB\-time\fR: Time of scan [hhmmss] (default=123723hhmmss)
+\fB\-time\fR: Time of scan [hhmmss] (default=102016hhmmss)
.HP
\fB\-tr\fR: Time between consecutive excitations [ms] (default=1000.0ms)
.SS "File read options:"
@@ -89,7 +89,7 @@
.HP
\fB\-rdialect\fR: Read data using given dialect of the format. (default is no
dialect)
.HP
-\fB\-rf\fR: Read format, use it to override file extension (options=autodetect
3db analyze asc coi dat dcm double float gz h5 hdr idx ima interfile jdx mag
mhd nii ph png pos pro reg s16bit s32bit s8bit smp u16bit u32bit u8bit vtk xml
xpro , default=autodetect)
+\fB\-rf\fR: Read format, use it to override file extension (options=autodetect
3db analyze asc coi dat dcm double float gz hdr idx ima interfile jdx mag mhd
nii ph png pos pro reg s16bit s32bit s8bit smp u16bit u32bit u8bit vtk xml xpro
, default=autodetect)
.HP
\fB\-skip\fR: Skip this amount of bytes before reading the raw data (default=0)
.SS "File write options:"
@@ -106,7 +106,7 @@
.HP
\fB\-wdialect\fR: Write data using given dialect of the format. (default is no
dialect)
.HP
-\fB\-wf\fR: Write format, use it to override file extension
(options=autodetect 3db analyze asc coi dat dcm double float gz h5 hdr idx ima
interfile jdx mag mhd nii ph png pos pro reg s16bit s32bit s8bit smp u16bit
u32bit u8bit vtk xml xpro , default=autodetect)
+\fB\-wf\fR: Write format, use it to override file extension
(options=autodetect 3db analyze asc coi dat dcm double float gz hdr idx ima
interfile jdx mag mhd nii ph png pos pro reg s16bit s32bit s8bit smp u16bit
u32bit u8bit vtk xml xpro , default=autodetect)
.HP
\fB\-wp\fR: Store the protocol separately to this file.
.SS "Filters:"
@@ -171,6 +171,8 @@
.HP
\fB\-slicetime\fR <space\-separated list of slice indices in order of
acquisition> : Correct for different acquisition time points of slices
.HP
+\fB\-spheremask\fR <Position string in the format
(slicepos,phasepos,readpos),radius [mm]> : Create spherical mask
+.HP
\fB\-splice\fR <dimension of the data to be spliced (time slice phase read
none )> : splices the image in the given direction
.HP
\fB\-srange\fR <Single value or range, optionally with increment (e.g.
1\-10:3)> : Select range in slice direction
@@ -224,9 +226,6 @@
gz
(GNU\-Zip container for other formats)
.TP
-h5
-(ISMRMRD Image)
-.TP
hdr
(Interfile, dialects: neurostat)
.TP
diff -Nru odin-2.0.2/cmdline-utils/miconv.cpp
odin-2.0.3/cmdline-utils/miconv.cpp
--- odin-2.0.2/cmdline-utils/miconv.cpp 2016-05-30 12:26:49.000000000 +0200
+++ odin-2.0.3/cmdline-utils/miconv.cpp 2016-11-04 11:23:44.000000000 +0100
@@ -165,22 +165,22 @@
}
int nrows=ndsets;
if(npars>1) nrows++;
- sarray table(ncols,nrows);
+ sarray table(nrows,ncols);
if(npars>1) {
for(int ipar=0; ipar<npars; ipar++) {
- table(ipar,0)=pars[ipar];
+ table(0,ipar)=pars[ipar];
}
- table(npars,0)="Dataset";
+ table(0,npars)="Dataset";
irow++;
}
for(FileIO::ProtocolDataMap::const_iterator pdit=pdmap_in.begin();
pdit!=pdmap_in.end(); ++pdit) {
for(int ipar=0; ipar<npars; ipar++) {
- table(ipar,irow)=rmblock(pdit->first.printval(pars[ipar]), "\n", "");
// truncate after first newline
+ table(irow,ipar)=rmblock(pdit->first.printval(pars[ipar]), "\n", "");
// truncate after first newline
}
if(ndsets>1) {
STD_ostringstream oss;
oss << pdit->second.shape();
- table(npars,irow)=oss.str();
+ table(irow,npars)=oss.str();
}
irow++;
}
diff -Nru odin-2.0.2/cmdline-utils/swab.1 odin-2.0.3/cmdline-utils/swab.1
--- odin-2.0.2/cmdline-utils/swab.1 2016-05-30 12:37:23.000000000 +0200
+++ odin-2.0.3/cmdline-utils/swab.1 2016-11-08 10:20:17.000000000 +0100
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH SWAB: "1" "May 2016" "swab: Mirrors <word-size> bytes, in the case of 2,
it swaps adjacent bytes" "User Commands"
+.TH SWAB: "1" "November 2016" "swab: Mirrors <word-size> bytes, in the case of
2, it swaps adjacent bytes" "User Commands"
.SH NAME
swab: \- Mirrors <word-size> bytes, in the case of 2, it swaps adjacent bytes
.SH SYNOPSIS
diff -Nru odin-2.0.2/cmdline-utils/swab.cpp odin-2.0.3/cmdline-utils/swab.cpp
--- odin-2.0.2/cmdline-utils/swab.cpp 2016-05-30 12:26:49.000000000 +0200
+++ odin-2.0.3/cmdline-utils/swab.cpp 2016-07-18 09:48:27.000000000 +0200
@@ -28,7 +28,7 @@
}
std::ifstream in_data(argv[2],std::ios::in|std::ios::binary);
- if(in_data == NULL) {
+ if(in_data.bad()) {
std::cerr << "swab: ERROR: can't open file " << argv[2] << std::endl;
return -1;
}
@@ -56,14 +56,14 @@
for(k=0;k<n_data/block_size;k++) {
if(k == 0) {
out_data.open(argv[3],std::ios::out|std::ios::binary);
- if(out_data == NULL) {
+ if(out_data.bad()) {
std::cerr << "swab: ERROR: can't open file " << argv[3] << std::endl;
return -1;
}
}
else {
out_data.open(argv[3],std::ios::out|std::ios::binary|std::ios::app);
- if(out_data == NULL) {
+ if(out_data.bad()) {
std::cerr << "swab: ERROR: can't open file " << argv[3] << std::endl;
return -1;
}
diff -Nru odin-2.0.2/configure odin-2.0.3/configure
--- odin-2.0.2/configure 2016-05-30 12:27:12.000000000 +0200
+++ odin-2.0.3/configure 2016-11-08 10:05:40.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for odin 2.0.2.
+# Generated by GNU Autoconf 2.69 for odin 2.0.3.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
# Identity of this package.
PACKAGE_NAME='odin'
PACKAGE_TARNAME='odin'
-PACKAGE_VERSION='2.0.2'
-PACKAGE_STRING='odin 2.0.2'
+PACKAGE_VERSION='2.0.3'
+PACKAGE_STRING='odin 2.0.3'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1387,7 +1387,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures odin 2.0.2 to adapt to many kinds of systems.
+\`configure' configures odin 2.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1462,7 +1462,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of odin 2.0.2:";;
+ short | recursive ) echo "Configuration of odin 2.0.3:";;
esac
cat <<\_ACEOF
@@ -1631,7 +1631,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-odin configure 2.0.2
+odin configure 2.0.3
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2230,7 +2230,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by odin $as_me 2.0.2, which was
+It was created by odin $as_me 2.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3094,7 +3094,7 @@
# Define the identity of the package.
PACKAGE='odin'
- VERSION='2.0.2'
+ VERSION='2.0.3'
cat >>confdefs.h <<_ACEOF
@@ -18701,7 +18701,7 @@
all_includes="-I$CONF_QTDIR_INCLUDE/QtPrintSupport $all_includes"
fi
- for qt_extension in "5" "4" "" ; do
+ for qt_extension in "$QTVERSION" "" ; do
post_extension=""
pre_extension=""
if test "x$qt_extension" = "x4" ; then
@@ -19952,7 +19952,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by odin $as_me 2.0.2, which was
+This file was extended by odin $as_me 2.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -20018,7 +20018,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //;
s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-odin config.status 2.0.2
+odin config.status 2.0.3
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -21254,7 +21254,6 @@
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
diff -Nru odin-2.0.2/configure.ac odin-2.0.3/configure.ac
--- odin-2.0.2/configure.ac 2016-05-30 12:26:46.000000000 +0200
+++ odin-2.0.3/configure.ac 2016-06-21 12:56:16.000000000 +0200
@@ -3,7 +3,7 @@
AC_PREREQ([2.69])
-AC_INIT([odin],[2.0.2])
+AC_INIT([odin],[2.0.3])
AC_CONFIG_SRCDIR(tjutils/tjutils.h)
AM_INIT_AUTOMAKE
@@ -737,7 +737,7 @@
AC_CHECK_FILE($CONF_QTDIR_INCLUDE/QtGui/QPolygonF,
all_includes="-I$CONF_QTDIR_INCLUDE/QtGui $all_includes")
AC_CHECK_FILE($CONF_QTDIR_INCLUDE/QtWidgets/qwidget.h,
all_includes="-I$CONF_QTDIR_INCLUDE/QtWidgets $all_includes")
AC_CHECK_FILE($CONF_QTDIR_INCLUDE/QtPrintSupport/qprinter.h,
all_includes="-I$CONF_QTDIR_INCLUDE/QtPrintSupport $all_includes")
- for qt_extension in "5" "4" "" ; do
+ for qt_extension in "$QTVERSION" "" ; do
post_extension=""
pre_extension=""
if test "x$qt_extension" = "x4" ; then
diff -Nru odin-2.0.2/debian/changelog odin-2.0.3/debian/changelog
--- odin-2.0.2/debian/changelog 2016-07-22 13:58:53.000000000 +0200
+++ odin-2.0.3/debian/changelog 2017-03-10 19:41:33.000000000 +0100
@@ -1,3 +1,11 @@
+odin (2.0.3-0.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ - drop gcc patches, upstream
+ * New upstream release (Closes: #835746)
+
+ -- Gianfranco Costamagna <[email protected]> Fri, 10 Mar 2017
19:40:49 +0100
+
odin (2.0.2-0.3) unstable; urgency=medium
* Non-maintainer upload.
diff -Nru odin-2.0.2/debian/patches/gcc-6-fix2.patch
odin-2.0.3/debian/patches/gcc-6-fix2.patch
--- odin-2.0.2/debian/patches/gcc-6-fix2.patch 2016-07-22 13:58:22.000000000
+0200
+++ odin-2.0.3/debian/patches/gcc-6-fix2.patch 1970-01-01 01:00:00.000000000
+0100
@@ -1,32 +0,0 @@
-Description: Fix some std::max(double,float) call mismatch and some "ifstream
not comparable with NULL"
-
-Author: Gianfranco Costamagna <[email protected]>
-
---- odin-2.0.2.orig/cmdline-utils/swab.cpp
-+++ odin-2.0.2/cmdline-utils/swab.cpp
-@@ -28,7 +28,7 @@ int main(int argc, char* argv[]) {
- }
-
- std::ifstream in_data(argv[2],std::ios::in|std::ios::binary);
-- if(in_data == NULL) {
-+ if(in_data.fail()) {
- std::cerr << "swab: ERROR: can't open file " << argv[2] << std::endl;
- return -1;
- }
-@@ -56,14 +56,14 @@ int main(int argc, char* argv[]) {
- for(k=0;k<n_data/block_size;k++) {
- if(k == 0) {
- out_data.open(argv[3],std::ios::out|std::ios::binary);
-- if(out_data == NULL) {
-+ if(out_data.fail()) {
- std::cerr << "swab: ERROR: can't open file " << argv[3] << std::endl;
- return -1;
- }
- }
- else {
- out_data.open(argv[3],std::ios::out|std::ios::binary|std::ios::app);
-- if(out_data == NULL) {
-+ if(out_data.fail()) {
- std::cerr << "swab: ERROR: can't open file " << argv[3] << std::endl;
- return -1;
- }
diff -Nru odin-2.0.2/debian/patches/gcc-6-fix.patch
odin-2.0.3/debian/patches/gcc-6-fix.patch
--- odin-2.0.2/debian/patches/gcc-6-fix.patch 2016-07-15 20:16:01.000000000
+0200
+++ odin-2.0.3/debian/patches/gcc-6-fix.patch 1970-01-01 01:00:00.000000000
+0100
@@ -1,28 +0,0 @@
---- a/odinseq/odinpulse.cpp
-+++ b/odinseq/odinpulse.cpp
-@@ -656,7 +656,7 @@
-
- // precalculations for Nyquist check
- float max_spatial_extension=0.5*data->field_of_excitation; // Assume
single point as the excitation shape, so that, in contrast to a shape that
fills the whole FOX, aliases would appear at (+/- FOX). Therefore, we can
effectively use half the FOX without aliasing.
-- max_spatial_extension*=sqrt(mode); // extend to diagonal direction
square-shaped alias-free FOX
-+ max_spatial_extension*=sqrt(float(int(mode))); // extend to diagonal
direction square-shaped alias-free FOX
- max_spatial_extension+=data->shape.get_shape_info().spatial_extent; // If
shape is not single point, add the total extent of the shape. Otherwise it
aliases into the FOX.
- if(mode==oneDeeMode) {
- dkmax=max_kspace_step(data->Gs, gamma, data->Tp_1pulse, data->G0);
---- a/odinseq/seqplot.h
-+++ b/odinseq/seqplot.h
-@@ -33,10 +33,10 @@
- static const char* markLabel[]={"none", "exttrigger",
"halttrigger", "snapshot", "reset", "acquisition", "endacq",
"excitation", "refocusing", "storeMagn", "recallMagn",
"inversion", "saturation" };
- AVOID_CC_WARNING(markLabel)
-
--enum timecourseMode {tcmode_curves=0, tcmode_plain,
tcmode_slew_rate, tcmode_kspace, tcmode_M1,
tcmode_M2, tcmode_b_trace,
tcmode_backgr_kspace, tcmode_backgr_crossterm,
tcmode_eddy_currents, numof_tcmodes};
--static const char* timecourseLabel[]= {"Curves", "Plain", "Slew
Rate", "k-Space", "1st Grad. Moment",
"2nd Grad. Moment", "b-Value Trace",
"Backgr. k-Space", "Backgr. Crossterm", "Eddy
Currents"};
--static const char* timecoursePrefix[]={"G", "G", "dG",
"k", "M1",
"M2", "b",
"k", "c", "G"};
--static const char* timecourseUnit[]= {ODIN_GRAD_UNIT, ODIN_GRAD_UNIT,
ODIN_GRAD_UNIT"/"ODIN_TIME_UNIT, "rad/"ODIN_SPAT_UNIT,
"rad*"ODIN_TIME_UNIT"/"ODIN_SPAT_UNIT, "rad*"ODIN_TIME_UNIT"^2/"ODIN_SPAT_UNIT,
ODIN_TIME_UNIT"/"ODIN_SPAT_UNIT"^2", "rad/"ODIN_SPAT_UNIT,
ODIN_TIME_UNIT"/"ODIN_SPAT_UNIT"^2", ODIN_GRAD_UNIT};
-+enum timecourseMode {tcmode_curves=0, tcmode_plain,
tcmode_slew_rate, tcmode_kspace, tcmode_M1,
tcmode_M2, tcmode_b_trace,
tcmode_backgr_kspace, tcmode_backgr_crossterm,
tcmode_eddy_currents, numof_tcmodes};
-+static const char* timecourseLabel[]= {"Curves", "Plain", "Slew
Rate", "k-Space", "1st Grad. Moment",
"2nd Grad. Moment", "b-Value Trace",
"Backgr. k-Space", "Backgr. Crossterm",
"Eddy Currents"};
-+static const char* timecoursePrefix[]={"G", "G", "dG",
"k", "M1",
"M2", "b",
"k", "c",
"G"};
-+static const char* timecourseUnit[]= {ODIN_GRAD_UNIT, ODIN_GRAD_UNIT,
ODIN_GRAD_UNIT"/"ODIN_TIME_UNIT, "rad/" ODIN_SPAT_UNIT, "rad*" ODIN_TIME_UNIT
"/" ODIN_SPAT_UNIT, "rad*" ODIN_TIME_UNIT "^2/" ODIN_SPAT_UNIT, ODIN_TIME_UNIT
"/" ODIN_SPAT_UNIT "^2", "rad/" ODIN_SPAT_UNIT, ODIN_TIME_UNIT "/"
ODIN_SPAT_UNIT "^2", ODIN_GRAD_UNIT};
- AVOID_CC_WARNING(timecourseLabel)
- AVOID_CC_WARNING(timecoursePrefix)
- AVOID_CC_WARNING(timecourseUnit)
diff -Nru odin-2.0.2/debian/patches/series odin-2.0.3/debian/patches/series
--- odin-2.0.2/debian/patches/series 2016-07-16 09:31:14.000000000 +0200
+++ odin-2.0.3/debian/patches/series 2017-03-10 19:40:47.000000000 +0100
@@ -1,3 +1 @@
ld-as-needed.diff
-gcc-6-fix.patch
-gcc-6-fix2.patch
diff -Nru odin-2.0.2/geoedit/geoedit.1 odin-2.0.3/geoedit/geoedit.1
--- odin-2.0.2/geoedit/geoedit.1 2016-05-30 12:33:47.000000000 +0200
+++ odin-2.0.3/geoedit/geoedit.1 2016-11-08 10:15:19.000000000 +0100
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH GEOEDIT "1" "May 2016" "geoedit 2.0.2" "User Commands"
+.TH GEOEDIT "1" "November 2016" "geoedit 2.0.3" "User Commands"
.SH NAME
geoedit \- Geometry editor of ODIN
.SH SYNOPSIS
diff -Nru odin-2.0.2/INSTALL odin-2.0.3/INSTALL
--- odin-2.0.2/INSTALL 2016-05-30 12:26:46.000000000 +0200
+++ odin-2.0.3/INSTALL 2016-06-21 12:56:16.000000000 +0200
@@ -200,17 +200,8 @@
Platform Specific Notes:
========================
-* Debian 4 (etch):
- To compile the tar.gz from the ODIN download page, the following packages
are required:
- 'libqt3-mt-dev, libqwt-dev, libgsl0-dev'. Qt4 packages must be de-installed.
- Optionally, install libniftiio0-dev for NIFTI support, libdcmtk1-dev for
DICOM
- support, liboil0.3-dev for fast type conversion, and atlas3-base for fast
linear algebra.
- If you check out ODIN via SVN, you will need the additional packages
- 'autoconf automake libtool'.
- Blitz++ must be installed manually and configured with '--enable-shared'
because
- of a known bug in the Debian package, see
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=369753
- for details. Fortunately, this bug gets fixed with the next release of
Debian.
-
+ * Ubuntu 14: Required packages for building from scratch:
+ autoconf automake libtool g++ libgsl0-dev libblitz0-dev libqt4-dev
libqt4-dev-bin libqwt-dev libatlas-base-dev libnifti-dev libvtk5-dev
libdcmtk2-dev libpng12-dev help2man
* Debian 8 (jessie):
The dault GCC version 4.9 throws a message:
diff -Nru odin-2.0.2/ltmain.sh odin-2.0.3/ltmain.sh
--- odin-2.0.2/ltmain.sh 2016-05-30 12:27:10.000000000 +0200
+++ odin-2.0.3/ltmain.sh 2016-11-08 10:05:38.000000000 +0100
@@ -31,7 +31,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-0.1"
+VERSION="2.4.6 Debian-2.4.6-2"
package_revision=2.4.6
@@ -2068,7 +2068,7 @@
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname (GNU libtool) 2.4.6
+ version: $progname $scriptversion Debian-2.4.6-2
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
diff -Nru odin-2.0.2/miview/miview.1 odin-2.0.3/miview/miview.1
--- odin-2.0.2/miview/miview.1 2016-05-30 12:34:01.000000000 +0200
+++ odin-2.0.3/miview/miview.1 2016-11-08 10:15:40.000000000 +0100
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH MIVIEW "1" "May 2016" "miview 2.0.2" "User Commands"
+.TH MIVIEW "1" "November 2016" "miview 2.0.3" "User Commands"
.SH NAME
miview \- Viewer for medical image files
.SH SYNOPSIS
@@ -77,7 +77,7 @@
.HP
\fB\-ai\fR: inplane rotation angle (default=0.0)
.HP
-\fB\-date\fR: Date of scan [yyyymmdd] (default=20160530yyyymmdd)
+\fB\-date\fR: Date of scan [yyyymmdd] (default=20161108yyyymmdd)
.HP
\fB\-fp\fR: FOV in phase direction [mm] (default=220.0mm)
.HP
@@ -123,7 +123,7 @@
.HP
\fB\-te\fR: Time\-to\-echo of the sequence [ms] (default=80.0ms)
.HP
-\fB\-time\fR: Time of scan [hhmmss] (default=123401hhmmss)
+\fB\-time\fR: Time of scan [hhmmss] (default=101540hhmmss)
.HP
\fB\-tr\fR: Time between consecutive excitations [ms] (default=1000.0ms)
.HP
@@ -139,7 +139,7 @@
.HP
\fB\-rdialect\fR: Read data using given dialect of the format. (default is no
dialect)
.HP
-\fB\-rf\fR: Read format, use it to override file extension (options=autodetect
3db analyze asc coi dat dcm double float gz h5 hdr idx ima interfile jdx mag
mhd nii ph png pos pro reg s16bit s32bit s8bit smp u16bit u32bit u8bit vtk xml
xpro , default=autodetect)
+\fB\-rf\fR: Read format, use it to override file extension (options=autodetect
3db analyze asc coi dat dcm double float gz hdr idx ima interfile jdx mag mhd
nii ph png pos pro reg s16bit s32bit s8bit smp u16bit u32bit u8bit vtk xml xpro
, default=autodetect)
.HP
\fB\-skip\fR: Skip this amount of bytes before reading the raw data (default=0)
.SS "Filters:"
@@ -204,6 +204,8 @@
.HP
\fB\-slicetime\fR <space\-separated list of slice indices in order of
acquisition> : Correct for different acquisition time points of slices
.HP
+\fB\-spheremask\fR <Position string in the format
(slicepos,phasepos,readpos),radius [mm]> : Create spherical mask
+.HP
\fB\-splice\fR <dimension of the data to be spliced (time slice phase read
none )> : splices the image in the given direction
.HP
\fB\-srange\fR <Single value or range, optionally with increment (e.g.
1\-10:3)> : Select range in slice direction
@@ -252,9 +254,6 @@
gz
(GNU\-Zip container for other formats)
.TP
-h5
-(ISMRMRD Image)
-.TP
hdr
(Interfile, dialects: neurostat)
.TP
diff -Nru odin-2.0.2/odin/odin.1 odin-2.0.3/odin/odin.1
--- odin-2.0.2/odin/odin.1 2016-05-30 12:33:31.000000000 +0200
+++ odin-2.0.3/odin/odin.1 2016-11-08 10:14:50.000000000 +0100
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH ODIN "1" "May 2016" "odin 2.0.2" "User Commands"
+.TH ODIN "1" "November 2016" "odin 2.0.3" "User Commands"
.SH NAME
odin \- Graphical user interface of ODIN
.SH SYNOPSIS
diff -Nru odin-2.0.2/odin/odindialog_idea.cpp
odin-2.0.3/odin/odindialog_idea.cpp
--- odin-2.0.2/odin/odindialog_idea.cpp 2016-05-30 12:26:47.000000000 +0200
+++ odin-2.0.3/odin/odindialog_idea.cpp 2016-06-21 13:16:33.000000000 +0200
@@ -956,6 +956,7 @@
possible_includepaths.push_back("n4/pkg");
possible_includepaths.push_back("n4/pkg/MrServers/MrMeasSrv/SeqIF/libRT");
possible_includepaths.push_back("n4/pkg/MrServers/MrImaging/libSBB"); // for
fSBBECGFillTimeRun
+// possible_includepaths.push_back("n4/pkg/MrServers/MrImaging/libSeqUtil");
// for SysProperties
possible_includepaths.push_back("n4/pkg/MrServers/MrMeasSrv/SeqIF/SeqBuffer");
possible_includepaths.push_back("n4/pkg/MrServers/MrProtSrv/MrProt"); // for
MrProt.h
possible_includepaths.push_back("n4/x86/delivery/include/MrServers/MrMeasSrv/SeqIF/libRT");
// for libRTmsg.h
diff -Nru odin-2.0.2/odindata/fileio.cpp odin-2.0.3/odindata/fileio.cpp
--- odin-2.0.2/odindata/fileio.cpp 2016-05-30 12:26:44.000000000 +0200
+++ odin-2.0.3/odindata/fileio.cpp 2016-11-04 11:23:44.000000000 +0100
@@ -1033,6 +1033,8 @@
new FileIOTest;
+ new FileIOFormatTest<7, 13, float, true,false,false,false,false>("dat");
+
#ifdef VTKSUPPORT
new FileIOFormatTest<7, 13, u8bit, false,false,false,false,false>("vtk");
diff -Nru odin-2.0.2/odindata/filter_mask.cpp
odin-2.0.3/odindata/filter_mask.cpp
--- odin-2.0.2/odindata/filter_mask.cpp 2016-05-30 12:26:44.000000000 +0200
+++ odin-2.0.3/odindata/filter_mask.cpp 2016-10-14 10:49:41.000000000 +0200
@@ -137,6 +137,68 @@
return true;
}
+///////////////////////////////////////////////////////////////////////////
+
+
+void FilterSphereMask::init(){
+ pos.set_description("Position string in the format
(slicepos,phasepos,readpos)");
+ append_arg(pos,"pos");
+ radius.set_unit(ODIN_SPAT_UNIT).set_description("radius");
+ append_arg(radius,"radius");
+}
+
+bool FilterSphereMask::process(Data<float,4>& data, Protocol& prot) const {
+ Log<Filter> odinlog(c_label(),"process");
+
+
+ Range all=Range::all();
+
+
+ svector toks=tokens(extract(pos, "(", ")", true),',');
+ ODINLOG(odinlog,normalDebug) << "toks=" << toks.printbody() << STD_endl;
+
+ if(toks.size()!=3) {
+ ODINLOG(odinlog,errorLog) << "Wrong size (" << toks.size() << "!=3) of
position string >" << pos << "<" << STD_endl;
+ return false;
+ }
+
+ TinyVector<int,3> centerpos(atoi(toks[0].c_str()), atoi(toks[1].c_str()),
atoi(toks[2].c_str()));
+
+ TinyVector<int,4> shape=data.shape();
+ TinyVector<int,4> maskshape(shape);
+ maskshape(timeDim)=1;
+
+ Data<float,4> mask(maskshape); mask=0.0;
+
+ TinyVector<int,3> spatshape(shape(sliceDim), shape(phaseDim),
shape(readDim));
+
+ TinyVector<float,3> voxel_spacing;
+ voxel_spacing(0)=FileFormat::voxel_extent(prot.geometry, sliceDirection,
data.extent(sliceDim));
+ voxel_spacing(1)=FileFormat::voxel_extent(prot.geometry, phaseDirection,
data.extent(phaseDim));
+ voxel_spacing(2)=FileFormat::voxel_extent(prot.geometry, readDirection,
data.extent(readDim));
+ ODINLOG(odinlog,normalDebug) << "voxel_spacing=" << voxel_spacing <<
STD_endl;
+
+
+ for(unsigned int i=0; i<mask.size(); i++) {
+
+ TinyVector<int,4> index=mask.create_index(i);
+
+ TinyVector<int,3> spatindex(index(1),index(2),index(3));
+
+ TinyVector<float,3> dist=voxel_spacing*(spatindex-centerpos);
+
+ float r=sqrt(double(sum(dist*dist)));
+
+ if(r<=radius) mask(index)=1.0;
+
+ }
+
+ data.reference(mask);
+
+ return true;
+}
+
+
///////////////////////////////////////////////////////////////////////////
diff -Nru odin-2.0.2/odindata/filter_mask.h odin-2.0.3/odindata/filter_mask.h
--- odin-2.0.2/odindata/filter_mask.h 2016-05-30 12:26:44.000000000 +0200
+++ odin-2.0.3/odindata/filter_mask.h 2016-10-14 10:49:41.000000000 +0200
@@ -64,6 +64,21 @@
///////////////////////////////////////////////////////////////////////////
+class FilterSphereMask : public FilterStep {
+
+ LDRstring pos;
+ LDRfloat radius;
+
+ STD_string label() const {return "spheremask";}
+ STD_string description() const {return "Create spherical mask";}
+ bool process(Data<float,4>& data, Protocol& prot) const;
+ FilterStep* allocate() const {return new FilterSphereMask();}
+ void init();
+};
+
+
+///////////////////////////////////////////////////////////////////////////
+
class FilterUseMask : public FilterStep {
LDRfileName fname;
diff -Nru odin-2.0.2/odindata/filter_step.cpp
odin-2.0.3/odindata/filter_step.cpp
--- odin-2.0.2/odindata/filter_step.cpp 2016-05-30 12:26:44.000000000 +0200
+++ odin-2.0.3/odindata/filter_step.cpp 2016-10-14 10:49:41.000000000 +0200
@@ -55,6 +55,7 @@
result.push_back(new FilterGenMask());
result.push_back(new FilterAutoMask());
result.push_back(new FilterQuantilMask());
+ result.push_back(new FilterSphereMask());
result.push_back(new FilterUseMask());
result.push_back(new FilterNaN());
diff -Nru odin-2.0.2/odindata/fitting.h odin-2.0.3/odindata/fitting.h
--- odin-2.0.2/odindata/fitting.h 2016-05-30 12:26:44.000000000 +0200
+++ odin-2.0.3/odindata/fitting.h 2016-11-04 11:23:44.000000000 +0100
@@ -48,6 +48,14 @@
* The error interval of the final result.
*/
float err;
+
+/**
+ * prints fp to the stream s
+ */
+ friend STD_ostream& operator << (STD_ostream& s, const fitpar& fp) {
+ return s << fp.val << " +/- " << fp.err;
+ }
+
};
diff -Nru odin-2.0.2/odinreco/odinreco.1 odin-2.0.3/odinreco/odinreco.1
--- odin-2.0.2/odinreco/odinreco.1 2016-05-30 12:37:00.000000000 +0200
+++ odin-2.0.3/odinreco/odinreco.1 2016-11-08 10:19:46.000000000 +0100
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH ODINRECO "1" "May 2016" "odinreco 2.0.2" "User Commands"
+.TH ODINRECO "1" "November 2016" "odinreco 2.0.3" "User Commands"
.SH NAME
odinreco \- Automatic reconstruction for ODIN sequences
.SH SYNOPSIS
@@ -58,10 +58,9 @@
.HP
\fB\-el\fR: Level relative to mean value of first echo for setting mask of
exponential decay fit (default=0.50)
.HP
-\fB\-f\fR: Space sepapared list of output formats (file extensions), possible
formats are '3db analyze asc coi dat dcm double float gz h5 hdr idx ima
interfile jdx mag mhd
+\fB\-f\fR: Space sepapared list of output formats (file extensions), possible
formats are '3db analyze asc coi dat dcm double float gz hdr idx ima interfile
jdx mag mhd nii
.PP
-nii ph png pos pro reg s16bit s32bit s8bit smp u16bit u32bit u8bit vtk xml xpro
-\&' (default=nii)
+ph png pos pro reg s16bit s32bit s8bit smp u16bit u32bit u8bit vtk xml xpro'
(default=nii)
.HP
\fB\-ff\fR: k\-space filter function (and its arguments) (options=Gauss
NoFilter Triangle Hann Hamming CosSq Blackman BlackmanNuttall Exp ,
default=NoFilter)
.HP
diff -Nru odin-2.0.2/odinseq/odinpulse.cpp odin-2.0.3/odinseq/odinpulse.cpp
--- odin-2.0.2/odinseq/odinpulse.cpp 2016-05-30 12:26:46.000000000 +0200
+++ odin-2.0.3/odinseq/odinpulse.cpp 2016-06-21 13:16:33.000000000 +0200
@@ -656,7 +656,7 @@
// precalculations for Nyquist check
float max_spatial_extension=0.5*data->field_of_excitation; // Assume single
point as the excitation shape, so that, in contrast to a shape that fills the
whole FOX, aliases would appear at (+/- FOX). Therefore, we can effectively
use half the FOX without aliasing.
- max_spatial_extension*=sqrt(mode); // extend to diagonal direction
square-shaped alias-free FOX
+ max_spatial_extension*=sqrt(float(int(mode))); // extend to diagonal
direction square-shaped alias-free FOX
max_spatial_extension+=data->shape.get_shape_info().spatial_extent; // If
shape is not single point, add the total extent of the shape. Otherwise it
aliases into the FOX.
if(mode==oneDeeMode) {
dkmax=max_kspace_step(data->Gs, gamma, data->Tp_1pulse, data->G0);
diff -Nru odin-2.0.2/odinseq/odinpulse_trajectories.cpp
odin-2.0.3/odinseq/odinpulse_trajectories.cpp
--- odin-2.0.2/odinseq/odinpulse_trajectories.cpp 2016-05-30
12:26:46.000000000 +0200
+++ odin-2.0.3/odinseq/odinpulse_trajectories.cpp 2016-07-18
09:02:17.000000000 +0200
@@ -180,7 +180,7 @@
"In the inner part of k-space the radius increases linerly with time,\n"
"while in the outer part the distance between adjacent sampling points
along the\n"
"trajectory in k-space is kept constant.\n"
- "The "_TRAJ_OPTIMIZE_PARLABEL_" parameter determines the relative point
in time (between\n"
+ "The " _TRAJ_OPTIMIZE_PARLABEL_ " parameter determines the relative
point in time (between\n"
"0.0 and 1.0) where the switching between these two modes occurs.");
}
diff -Nru odin-2.0.2/odinseq/seqgradspiral.cpp
odin-2.0.3/odinseq/seqgradspiral.cpp
--- odin-2.0.2/odinseq/seqgradspiral.cpp 2016-05-30 12:26:46.000000000
+0200
+++ odin-2.0.3/odinseq/seqgradspiral.cpp 2016-07-18 09:29:02.000000000
+0200
@@ -26,13 +26,13 @@
float s=1.0-float(i)/float(TEST_NPTS-1);
const kspace_coord& tds=traj_cache->calculate(s);
if(i) {
-
deltaKtangential=STD_max(double(deltaKtangential),norm(tds.kx-last_kx,tds.ky-last_ky));
- max_grad_diff=STD_max(double(max_grad_diff),fabs(tds.Gx-last_Gx));
- max_grad_diff=STD_max(double(max_grad_diff),fabs(tds.Gy-last_Gy));
+
deltaKtangential=STD_max(deltaKtangential,float(norm(tds.kx-last_kx,tds.ky-last_ky)));
// casts
+ max_grad_diff=STD_max(max_grad_diff,float(fabs(tds.Gx-last_Gx)));
// required
+ max_grad_diff=STD_max(max_grad_diff,float(fabs(tds.Gy-last_Gy)));
// for GCC6/C++11
}
- max_grad_magn=STD_max(double(max_grad_magn),fabs(tds.Gx));
- max_grad_magn=STD_max(double(max_grad_magn),fabs(tds.Gy));
+ max_grad_magn=STD_max(max_grad_magn,float(fabs(tds.Gx))); // casts required
+ max_grad_magn=STD_max(max_grad_magn,float(fabs(tds.Gy))); // for GCC6/C++11
last_kx=tds.kx;
last_ky=tds.ky;
diff -Nru odin-2.0.2/odinseq/seqplot.h odin-2.0.3/odinseq/seqplot.h
--- odin-2.0.2/odinseq/seqplot.h 2016-05-30 12:26:46.000000000 +0200
+++ odin-2.0.3/odinseq/seqplot.h 2016-07-18 09:01:10.000000000 +0200
@@ -33,10 +33,10 @@
static const char* markLabel[]={"none", "exttrigger", "halttrigger",
"snapshot", "reset", "acquisition", "endacq",
"excitation", "refocusing", "storeMagn", "recallMagn",
"inversion", "saturation" };
AVOID_CC_WARNING(markLabel)
-enum timecourseMode {tcmode_curves=0, tcmode_plain,
tcmode_slew_rate, tcmode_kspace, tcmode_M1,
tcmode_M2, tcmode_b_trace,
tcmode_backgr_kspace, tcmode_backgr_crossterm,
tcmode_eddy_currents, numof_tcmodes};
-static const char* timecourseLabel[]= {"Curves", "Plain", "Slew
Rate", "k-Space", "1st Grad. Moment",
"2nd Grad. Moment", "b-Value Trace",
"Backgr. k-Space", "Backgr. Crossterm", "Eddy
Currents"};
-static const char* timecoursePrefix[]={"G", "G", "dG",
"k", "M1",
"M2", "b",
"k", "c", "G"};
-static const char* timecourseUnit[]= {ODIN_GRAD_UNIT, ODIN_GRAD_UNIT,
ODIN_GRAD_UNIT"/"ODIN_TIME_UNIT, "rad/"ODIN_SPAT_UNIT,
"rad*"ODIN_TIME_UNIT"/"ODIN_SPAT_UNIT, "rad*"ODIN_TIME_UNIT"^2/"ODIN_SPAT_UNIT,
ODIN_TIME_UNIT"/"ODIN_SPAT_UNIT"^2", "rad/"ODIN_SPAT_UNIT,
ODIN_TIME_UNIT"/"ODIN_SPAT_UNIT"^2", ODIN_GRAD_UNIT};
+enum timecourseMode {tcmode_curves=0, tcmode_plain,
tcmode_slew_rate, tcmode_kspace, tcmode_M1,
tcmode_M2, tcmode_b_trace,
tcmode_backgr_kspace, tcmode_backgr_crossterm,
tcmode_eddy_currents, numof_tcmodes};
+static const char* timecourseLabel[]= {"Curves", "Plain", "Slew
Rate", "k-Space", "1st Grad. Moment",
"2nd Grad. Moment", "b-Value Trace",
"Backgr. k-Space", "Backgr. Crossterm",
"Eddy Currents"};
+static const char* timecoursePrefix[]={"G", "G", "dG",
"k", "M1",
"M2", "b",
"k", "c",
"G"};
+static const char* timecourseUnit[]= {ODIN_GRAD_UNIT, ODIN_GRAD_UNIT,
ODIN_GRAD_UNIT "/" ODIN_TIME_UNIT, "rad/" ODIN_SPAT_UNIT, "rad*" ODIN_TIME_UNIT
"/" ODIN_SPAT_UNIT, "rad*" ODIN_TIME_UNIT "^2/" ODIN_SPAT_UNIT, ODIN_TIME_UNIT
"/" ODIN_SPAT_UNIT "^2", "rad/" ODIN_SPAT_UNIT, ODIN_TIME_UNIT "/"
ODIN_SPAT_UNIT "^2", ODIN_GRAD_UNIT};
AVOID_CC_WARNING(timecourseLabel)
AVOID_CC_WARNING(timecoursePrefix)
AVOID_CC_WARNING(timecourseUnit)
diff -Nru odin-2.0.2/pulsar/pulsar.1 odin-2.0.3/pulsar/pulsar.1
--- odin-2.0.2/pulsar/pulsar.1 2016-05-30 12:33:37.000000000 +0200
+++ odin-2.0.3/pulsar/pulsar.1 2016-11-08 10:15:01.000000000 +0100
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH PULSAR "1" "May 2016" "pulsar 2.0.2" "User Commands"
+.TH PULSAR "1" "November 2016" "pulsar 2.0.3" "User Commands"
.SH NAME
pulsar \- Pulse editor of ODIN
.SH SYNOPSIS
diff -Nru odin-2.0.2/pulsar/pulsar.desktop odin-2.0.3/pulsar/pulsar.desktop
--- odin-2.0.2/pulsar/pulsar.desktop 2016-05-30 12:26:48.000000000 +0200
+++ odin-2.0.3/pulsar/pulsar.desktop 2016-06-21 13:16:33.000000000 +0200
@@ -6,5 +6,5 @@
TryExec=pulsar
Type=Application
Terminal=false
-Categories=Education;Science;MedicalSoftware;Development
+Categories=Education;Science;MedicalSoftware
Icon=odin.png
diff -Nru odin-2.0.2/tjutils/tjarray.cpp odin-2.0.3/tjutils/tjarray.cpp
--- odin-2.0.2/tjutils/tjarray.cpp 2016-05-30 12:26:45.000000000 +0200
+++ odin-2.0.3/tjutils/tjarray.cpp 2016-11-04 11:23:44.000000000 +0100
@@ -548,8 +548,8 @@
return result;
}
- int ncols=table.size(0);
- int nrows=table.size(1);
+ int ncols=table.size(1);
+ int nrows=table.size(0);
int icol, irow;
@@ -557,16 +557,16 @@
ivector width(ncols); width=0;
for(irow=0; irow<nrows; irow++) {
for(icol=0; icol<ncols; icol++) {
- width[icol]=STD_max(int(table(icol,irow).length()), width[icol]);
+ width[icol]=STD_max(int(table(irow,icol).length()), width[icol]);
}
}
// Print formatted table
for(irow=0; irow<nrows; irow++) {
for(icol=0; icol<ncols; icol++) {
- int nfillspaces=width[icol]-table(icol,irow).length()+1;
+ int nfillspaces=width[icol]-table(irow,icol).length()+1;
if(icol==(ncols-1)) nfillspaces=0; // do not pad at end
- result+=table(icol,irow)+STD_string(nfillspaces,' ');
+ result+=table(irow,icol)+STD_string(nfillspaces,' ');
}
result+="\n";
}
signature.asc
Description: OpenPGP digital signature

