Main /
New
in release 0.24.1 @ 24-Nov-2024 (Gtk+2 & Gtk+3)
- option -cw (forced contrast remapping) now as intended for CT (= simply capping pixvalues between upper & lower value)
- fix broken fallback format (i.e. to read DICOM without meta header)
- PNG: fixed tiny memory leak due to unfreed comment buffer (-fsanitize=address)
- ECAT6: replaced sprintf() string copies with strncpy() functions
- security bugfixes / stability improvements: -fsanitize=address [1]
ALL:
- heap buffer overflow: MdcGetImgBuffer() now checks for 0 bytes before calloc()
INTF:
- global buffer overflow: prevent buffer overflow when adding ':=\n' to key
ECAT6:
- stack buffer overflow: handle header strings as unsafe for MdcPrintStr()
DICOM
- memory access violation: dicom_transfer() using a strncmp() safe global buffer
- null pointer dereference: mdc_dicom_printinfo() checks for NULL-pointer as values
- null pointer dereference: dicom_single() checks for proper e->value.CS before strncmp()
- heap buffer overflow: when pixeldata length is unexpected; exit dicom_single() without further processing
ACR+DICOM+INTF:
- stack buffer overflow: MdcKillSpaces() for-loop within boundaries; added initial sanity checks
- found and detailed by Zhenqing
in release 0.24.0 @ 24-May-2024 (Gtk+2 & Gtk+3)
DICOM
- basic.c: quickfix for security vulnerability against malicious DICOM files (= buffer overflow) [1]
(as a workaround the supported element size is now limited to [UINT32_MAX - 4] bytes)
MSYS2
- m-files.c: MdcGetLastPathDelim() correctly handles mixes of /forward/ & \backward\ slashes.
(bugfix improper filename creations within MSYS2 terminals)
- dicom/log.c: fix similar compile error with gcc-14 related to system header <io.h> conflict: "ljpg/io.h" renamed to "inout.h".
Gtk+3
- CSS Styling: small improvements in "speedometer" color scheme. Added our personal hundliv color scheme.
- Oops, our very first CVE-2024-29421 notified by Spike Reply Cyber Security Team
in release 0.23.0 @ 04-Jan-2023 (Gtk+2 & Gtk+3)
- xmedcon.rb: pull in adwaita icons needed for some buttons (eg. increment / decrement).
- m-fancy.c: printf 64bit integers as long long.
- m-transf.c: reworked contrast remapping (BUGFIX?).
- libmdc: got rid of needless GUI dependencies in core library (due to an evil source/Makefile.am),
so it will be safe to combine AMIDE with XMedCon Gtk+3 and beyond.
- xfilesel.c: set default name just before showing dialog; fixes name change when new file was loaded.
in release 0.22.0 @ 04-Mar-2022 (Gtk+2 & Gtk+3)
Gtk+3
- no longer display an error dialog when cursor types are not found (flatpak)
- environment variable XMEDCONCSS wasn't really read (appimage)
Gtk+2 & Gtk+3
- configure: generate an installable m-depend.h with ax_prefix_config_h macro using LIBMDC_ prefix
- stack slices: give stack warnings (differences) between consecutive images
in release 0.21.2 @ 20-Jul-2021 (Gtk+3)
- Small addition in our speedometer CSS theme: window titlebar is now in dark mode too
- Learned how to leave out annoying autotools reconfigure rules from Makefiles via AM_MAINTAINER_MODE macro
- Why? working with most recent autotools version <> older autotools version on most systems <> users are not necessarily developers ...
- Improvements for Wayland (CentOS Stream / OpenSUSE Tumbleweed)
- Menu "Online info" core dumps due to "toplevel" window problem
- Check "Gdk-CRITICAL gdk_monitor_get_workarea: assertion 'GDK_IS_MONITOR ()' failed"
- gtk_window_set_transient_for(window, parent)
- Not working GBC-widget (gamma, brightness, contrast)
in release 0.21.1 @ 01-May-2021 (Gtk+3)
- Require libpng >= 1.6.0 for Ubuntu's sake
- Added in GUI resizing to fifth and quint
- Secured two sprintf() statements
- Updated Inno Setup file for Gtk+3 dependencies
- Fresh update of application icon
- GIF89a: write "XMedCon" in application block
in release 0.21.0 @ 19-Feb-2021 (Gtk+3 - Fresh)
- Now here it is. Finally a GUI port to Gtk+3 after plenty hours of searching & altering deprecated upon deprecated upon deprecated API functions while jumping over way too many hurdles on the way, featuring
- personal theming with CSS (hello, dark mode)
- change orientation of main menu
- macOS: once again supported on brew
- Windows: worked out how to get such simple Gtk+3 app running standalone with all Gtk+3 dependencies (but dropped 32-bit support on the way)
in release 0.17.0 @ 16-Feb-2021 (Gtk+2)
- Our Gtk+2 compliant version. Quite some GUI changes by replacing deprecated functions; using cairo contexts, pango fonts, ...
- Just an intermediary "sources only" release towards Gtk+3 compliance. Note @ 04-jan-2021: released RPM's too.
in release 0.16.3 @ 28-Nov-2020
- Fix warnings from current gcc "-Wall" option.
- NIFTI: Remove ".img" string from filenames instead of finding first dot with rude strchr('.') ... failing for '-o ./filename.ext' (1)
(required because nifti1 library otherwise writes a separate two file .hdr & .img pair)
- Mute deprecated warnings between Gtk+2 and Glib (>2.61.1) during compilation
(-Wno-deprecated-declarations).
- Fix currently broken extraction range handling.
- GUI: on mswindows zoom window dialogs now display complete instead of partial.
- GUI: set BILINEAR as default; HYPER seemed deprecated.
- issue discovered while solving a ticket by Sumiko Abe.
Initial Linux Flatpak based on release 0.16.2 @ 10-Aug-2020
- After another long search proces, we finaly got our very first FlatPak ready for the latest release as a single download file instead of using yet another repository. (1)
- Where to get? See download page.
- How to use? See README.FLATPAK.
- Devs/Repos? Build files are here.
- from advocacy by nokia808
Initial Linux AppImage based on release 0.16.2 @ 01-Aug-2020
- After a long search proces, we finaly succeeded in creating a generic AppImage file for Linux. The AppImage documentation is rather troublesome and fragmented.
- Where to get? See download page.
- How to use? See README.APPIMAGE.
- Devs/Repos? Build files are here.
in release 0.16.2 @ 05-Aug-2019
- must fflush(stdout) within MSYS2: no output on console when waiting for user input (-e, -i, -p, -r ...)
- increased hardcoded number of loadable LUTs (= 999) because more LUTs are added in (X)MedCon-Extra.
- BUGFIX: ECAT7 proper handling of patient_birth_date & scan_start_time (1)
- removed broken #if(n)def HAVE_8BYTE_INT directives, allowing for int64_t and uint64_t pixel values.
- patch kindly offered by Jonathan Traum
xmedcon-extra-1.2.1 @ 05-Aug-2019
- over two hundred color look up tables added from ctp-city (imagej, fiji, gimp, non-linear grey, random, ...)
- multigrays.c : cli util to create different types of grayscale images.
- showmaxmin.c : cli util to show max & min values per image or file and their respective pixel location.
in release 0.16.1 @ 28-Dec-2018
- patch with several spelling corrections ; updating to recent libtools (1)
- improved homebrew file (2)
- allow reading InterFile dialects without "END OF INTERFILE" (3)+(4)
- basic Siemens Interfile support (3)+(4)
- donated and requested by Debian maintainer Andreas Tille
- corrected by Yen Cecil
- ticket by Mark Mandelkern
- Siemens specs offered by Jones Judson
xmedcon-extra-1.2.0 @ 27-Apr-2018
some tools in xmedcon-extra are updated due to slight changes in the library: now MdcInit() is mandatory for setting the host endianness.
in release 0.15.0 @ 11-Apr-2018
(just one minor bugfix; mostly fiddling with building the source code)
- BUGFIX: output file generation fails with mixed path delimiters (mswindows/msys2). (1)
- homebrew formula contributed for macOS package manager. (2)
- architecture independent header files. (3)
- routines added for checking endianess of host: just little or big; nothing else in between.
- library has some minor changes as a result; so version number got bumped up.
- modernizing configure and built, say C99 requirements; perhaps breaking older stuff...
- found by coincidence with a ticket from Eloy Roura
- contributed by Till-Karsten Hauser
- request from Fedora maintainer for (X)MedCon Ankur Sinha
code repository @ 22-Okt-2017
- source code has been merged to Git (CVS is being phased out on SourceForge).
in release 0.14.1 @ 27-Dec-2015
- oeps, forgot to include zlib1.dll on Windows 32-bit.
- fixed xmedcon.spec for rpm builds.
- some files addapted to reflect my development environments.
in release 0.14.0 @ 26-Dec-2015
- appdata file for (X)MedCon towards better Gnome integration (1)
- code cleanup due to warnings with LLVM/clang compiler (2)
- INTF dialects with arrays: proper NULL pointer comparison (3)
- even more code cleanup or bug fixes with use of cppcheck (4)
- BUGFIX writing ECAT6/ECAT7: crashes due to "buffer overflow" in bad sprintf() statements (5)
- sanitizing all sprintf() statements ... ;-)
- offered by Ankur Sinha
- first heard about at FOSDEM Lightning Talk
- ticket opened by dcb
- thanks for the tip dcb
- thanks for test image Jérôme Redouté
in release 0.13.0 @ 25-Jun-2013
- BUGFIX: stack slices output filename with directory was wrong.
- BUGFIX: GUI interactive raw read was seriously broken (buffer overflow entering number of images > 26). (1)
- BUGFIX: XMDCETC variable was not set properly from configure.
- pointed out by Towstego Trevor
in release 0.12.0 @ 23-Nov-2012
- BUGFIX: some read options not applied in case of file stacking (1)
- RAW (interactive) file reading allowed in case of file stacking
- notified by Mark Woodbridge
in release 0.11.1 @ 26-Aug-2012 (sources only)
- small source update for Siemens/Concorde format: added new tags & improved calculation of corrected injected_dose (1)
- contributed by Andy Loening
in release 0.11.0 @ 05-Jan-2012
- reverse slices (-rs) only reverses slices within (time) frames (dynamic PET) (1)
- patch for compilation with libpng15 (2)
- mswindows: native 64bit version included
- requested by David Wack
- kindly offered by Bernd Feige
in release 0.10.7a @ 05-Dec-2010
- UPDATE: windows distribution missed zlib1.dll file (1)
- notified by Bart Cornelissen
in release 0.10.7 @ 15-Sep-2010
- PNG: ./configure with exclusive use of pkg-config
- ECAT7 writing: include stripped down Turku PET Centre library
- ECAT7 writing: fix bug where scan_start_time changes due to timezone settings.
in release 0.10.6 @ 30-Aug-2010
- "-o out.ext" filenames with a dot, messed up the output "!name of data file" in INTF (1)
- use of newest autotools
- wrong date of birth for ECAT7.2 (2)
- update nifti lib files from version 2.0.0 beta Jul 2010
- notified by Hugo Gratama van Andel
- notified by Steven Ganzert with notes from Vesa Oikonen (Turku) and Andy Loening
in release 0.10.5 @ 17-May-2009
- NIFTI: missing feature added to use slice spacing as slice width (1)
- NIFTI: using nifticlib Version 1.1.0 beta release Aug 2008
- NIFTI: fixed reading for headers with dimensions set to zero (2)
- DICOM: bug writing 8-bit images with odd area (3)
- configure: build LSB friendly; install in /usr & /etc (cfr. OpenSuSE) (4)
- noticed by Chris Bishop
- noticed by Lee Buyean, Frank Thiele and fix proposed by Andrew Loening
- found by Mark Pearson
- requested by Sebastian Hilbert
in release 0.10.4 @ 16-Mar-2008
- CONC BUGFIX: output quantitation wrong
- NIFTI BUGFIX: quantitation wrong for float pixels with different scale factors per time frame (1)
- CROP BUGFIX: pixel sizes wrongfully set to crop dimension (2)
- EBUILD: don't fail on systems without GTK (3)
- noticed by Lee Buyean
- pointed out by Andy Turner
- popped up by Vincent Robert
in release 0.10.3 @ 01-Mar-2008
- GUI: enable accelerators in menu for GTK2 (1)
- NIFTI: source from version 1.0.0 beta included
- NIFTI: BUGFIX getting voxel sizes wrong (pixdim[0]= one-based) (2)
- NIFTI: BUGFIX for failed conversion from CONC (.img.hdr) (2)
- EBUILD: minor changes for GTK2
- just install xmedconrc -> ${prefix}/etc
- given by Gert Wollny
- noticed by Lee Buyean
in release 0.10.2 @ 03-Dec-2007
- BUGFIX GUI: rounded floats for INTF and CONC in GTK2 locales with decimal=comma (1)
- CONC: keep up to date with new headers, read CT files (1)
- ACR/DICM: prevent SIGFPE for rare fi->dim[3]=0 situation (2)
- found by and patch by Andy Loening
- noticed by Arno J. Klaassen
in release 0.10.1 @ 19-Nov-2007
- DICM: padding odd (string) tags with space, just pad UI with '\0' (1)
- GUI: default support for Gtk+2 version (2)
- BUGFIX GUI: Reslicing/Transforming screws up default output name
note: for Gtk+1 support, run
./configure --enable-gtk1
- notified by Scott Neu
- great contribution by Andy Loening
in release 0.9.10 @ 25-Sep-2007 (developers update)
- prevent build of included NIFTI source in case of valid "--with-nifti-prefix" (1)
- now stick to autoconf friendly 3 version numbers (2)
- requested by XMedCon's Debian maintainer Roland Marcus Rutschmann
- requested by AMIDE's Debian maintainer Dominique Belhachemi
in release 0.9.9.7 @ 21-Sep-2007
- NIFTI: allow overwrite -w option (1)
- NIFTI: DFWG library v0.6 integrated (1)
- find out library format support during runtime (2)
- notified or requested by Matthew Davidson
- contributed by Andy Loening
in release 0.9.9.6.2 @ 21-Aug-2007
- BUGFIX: DICOM/ACR read coredump (1)
- notified by Matthew Davidson
in release 0.9.9.6.1 @ 19-Aug-2007
- ACR: printout more tags (1)
- DICOM: GE discovery dictionary added (1)
- BUGFIX: MdcLoadFile() doesn't allow ECAT7 reading by default (2)
- RPM: binary now comes linked with read/write support for NIfTI and ECAT7
- contributed by Josh Wilson
- see this AMIDE mail thread.
in release 0.9.9.6 @ 9-Jul-2007
- ECAT6+7: our old "-db" option now prints main header entirely (1)
- ECAT7: writing using Turku PET Centre libraries (2)
- two FILEINFO parameters added: patient_height and operator_name (2)
- fix for broken xmedcon.m4 autotools version check (with more than three numbers) (3)
- request by Andrew "idoimaging.com" Crabb
- contribution by Harri Merisaari
- fixed by Hannes Hofmann
in release 0.9.9.5.1 @ 27-May-2007
- BUGFIX GUI: fix bad rescaling if image_width > screen_width
in release 0.9.9.5 @ 24-May-2007
- DICOM: fix wrong Series Number (0020,0011) during splitslices. (1)
- DICOM: redo UID's creation using SDBM hashes (see Docs.Dicom )
- fi->nr_series, fi->nr_acquisition, fi->nr_instance are now Int32
- GUI: large images now rescaled to fit on screen (eg. whole body)
- mentioned by MIchal Lijowski
in release 0.9.9.4 @ 11-Dec-2006
- support for nifti headers in "include/nifti" subdir (1)
- INTF: dynamic support for GE 4.0 PET dialect added (2)
- DICOM: fix crash for lossless jpeg images width > 1024 (1,3)
- DICOM: now preserving some extra MR tags in FILEINFO struct (4)
- requested by debian maintainer Roland M. Rutschmann
- contributed by Andy Loening
- thanks to debianizers' hints
- requested by Noel Codella
in previous releases
Go check out this huge listing.