From 265a871842623457f3e82c9273f0d634c6629b9d Mon Sep 17 00:00:00 2001 From: gahr Date: Sat, 31 Jul 2010 10:07:19 +0000 Subject: - New port: graphics/aeskulap Aeskulap is a medical image viewer. It is able to load a series of special images stored in the DICOM format for review. Additionally Aeskulap is able to query and fetch DICOM images from archive nodes (also called PACS) over the network. --- graphics/aeskulap/Makefile | 37 ++++++ graphics/aeskulap/distinfo | 3 + graphics/aeskulap/files/patch-Makefile.am | 27 +++++ graphics/aeskulap/files/patch-Makefile.in | 29 +++++ .../files/patch-configuration_aconfiguration.cpp | 10 ++ graphics/aeskulap/files/patch-configure | 33 ++++++ graphics/aeskulap/files/patch-configure.in | 32 +++++ .../aeskulap/files/patch-imagepool_fileloader.cpp | 56 +++++++++ .../aeskulap/files/patch-imagepool_netquery.cpp | 70 +++++++++++ .../files/patch-imagepool_poolinstance.cpp | 130 +++++++++++++++++++++ .../files/patch-imagepool_poolmoveassociation.cpp | 28 +++++ .../aeskulap/files/patch-imagepool_poolnetwork.cpp | 18 +++ .../aeskulap/files/patch-imagepool_poolservers.cpp | 11 ++ graphics/aeskulap/files/patch-src_main.cpp | 11 ++ .../files/patch-widgets_awindowleveltoolbutton.cpp | 11 ++ .../aeskulap/files/patch-widgets_seriesview.cpp | 11 ++ graphics/aeskulap/pkg-descr | 7 ++ graphics/aeskulap/pkg-plist | 36 ++++++ 18 files changed, 560 insertions(+) create mode 100644 graphics/aeskulap/Makefile create mode 100644 graphics/aeskulap/distinfo create mode 100644 graphics/aeskulap/files/patch-Makefile.am create mode 100644 graphics/aeskulap/files/patch-Makefile.in create mode 100644 graphics/aeskulap/files/patch-configuration_aconfiguration.cpp create mode 100644 graphics/aeskulap/files/patch-configure create mode 100644 graphics/aeskulap/files/patch-configure.in create mode 100644 graphics/aeskulap/files/patch-imagepool_fileloader.cpp create mode 100644 graphics/aeskulap/files/patch-imagepool_netquery.cpp create mode 100644 graphics/aeskulap/files/patch-imagepool_poolinstance.cpp create mode 100644 graphics/aeskulap/files/patch-imagepool_poolmoveassociation.cpp create mode 100644 graphics/aeskulap/files/patch-imagepool_poolnetwork.cpp create mode 100644 graphics/aeskulap/files/patch-imagepool_poolservers.cpp create mode 100644 graphics/aeskulap/files/patch-src_main.cpp create mode 100644 graphics/aeskulap/files/patch-widgets_awindowleveltoolbutton.cpp create mode 100644 graphics/aeskulap/files/patch-widgets_seriesview.cpp create mode 100644 graphics/aeskulap/pkg-descr create mode 100644 graphics/aeskulap/pkg-plist (limited to 'graphics/aeskulap') diff --git a/graphics/aeskulap/Makefile b/graphics/aeskulap/Makefile new file mode 100644 index 000000000000..dbaad39638c8 --- /dev/null +++ b/graphics/aeskulap/Makefile @@ -0,0 +1,37 @@ +# New ports collection Makefile for: aeskulap +# Date created: 21 July 2010 +# Whom: gahr +# +# $FreeBSD$ +# + +PORTNAME= aeskulap +PORTVERSION= 0.2.1 +CATEGORIES= graphics +MASTER_SITES= http://www.bms-austria.com/%7Epipelka/${PORTNAME}/ + +MAINTAINER= gahr@FreeBSD.org +COMMENT= A medical image viewer + +LIB_DEPENDS= gtkmm-2.4:${PORTSDIR}/x11-toolkits/gtkmm24 \ + glademm-2.4:${PORTSDIR}/devel/libglademm24 \ + gconfmm-2.6:${PORTSDIR}/devel/gconfmm26 \ + dcmdata.3:${PORTSDIR}/devel/dcmtk + +USE_GETTEXT= yes +USE_GNOME= gconf2 +GCONF_SCHEMAS= aeskulap.schemas +USE_LDCONFIG= ${PREFIX}/lib/aeskulap + +CXXFLAGS+= -I${LOCALBASE}/include/dcmtk \ + -I${LOCALBASE}/include/dcmtk/config \ + -I${LOCALBASE}/include/dcmtk/ofstd \ + -I${LOCALBASE}/include/dcmtk/dcmdata \ + -I${LOCALBASE}/include/dcmtk/dcmnet \ + -I${LOCALBASE}/include/dcmtk/dcmjpeg \ + -I${LOCALBASE}/include/dcmtk/dcmimage \ + -I${LOCALBASE}/include/dcmtk/dcmimgle \ + -I${LOCALBASE}/include +GNU_CONFIGURE= yes + +.include diff --git a/graphics/aeskulap/distinfo b/graphics/aeskulap/distinfo new file mode 100644 index 000000000000..25f977c83c11 --- /dev/null +++ b/graphics/aeskulap/distinfo @@ -0,0 +1,3 @@ +MD5 (aeskulap-0.2.1.tar.gz) = 2936dc88e588bc6ca8a1d5d8d98fe9cc +SHA256 (aeskulap-0.2.1.tar.gz) = 6bbf1a26466ba190b1807e06f3d682575439668d6f11d7a5fa6b3fb1049fab50 +SIZE (aeskulap-0.2.1.tar.gz) = 4272339 diff --git a/graphics/aeskulap/files/patch-Makefile.am b/graphics/aeskulap/files/patch-Makefile.am new file mode 100644 index 000000000000..41593c823680 --- /dev/null +++ b/graphics/aeskulap/files/patch-Makefile.am @@ -0,0 +1,27 @@ +--- Makefile.am.orig 2010-07-26 18:23:45.000000000 +0000 ++++ Makefile.am 2010-07-26 18:24:07.000000000 +0000 +@@ -1,6 +1,5 @@ + SUBDIRS = \ + po \ +- dcmtk \ + configuration \ + imagepool \ + widgets \ +@@ -33,17 +32,6 @@ + + @INTLTOOL_DESKTOP_RULE@ + +-dist-hook: +- mkdir -p $(distdir)/dcmtk +- cp -Rf $(top_srcdir)/dcmtk/* $(distdir)/dcmtk +- cd $(distdir)/dcmtk && make distclean +- list=`find $(distdir)/dcmtk -name "CVS"` && rm -Rf $$list +- list=`find $(distdir)/dcmtk -name ".cvsignore"` && rm -f $$list +- list=`find $(distdir)/dcmtk -name ".#*"` && rm -f $$list +- list=`find $(distdir)/dcmtk -name "*.a"` && rm -f $$list +- list=`find $(distdir)/dcmtk -name "*.so"` && rm -f $$list +- + distclean: distclean-recursive +- cd $(top_builddir)/dcmtk && make distclean + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile diff --git a/graphics/aeskulap/files/patch-Makefile.in b/graphics/aeskulap/files/patch-Makefile.in new file mode 100644 index 000000000000..ab7f21074846 --- /dev/null +++ b/graphics/aeskulap/files/patch-Makefile.in @@ -0,0 +1,29 @@ +--- Makefile.in.orig 2010-07-26 18:25:22.000000000 +0000 ++++ Makefile.in 2010-07-26 18:25:37.000000000 +0000 +@@ -237,7 +237,6 @@ + target_alias = @target_alias@ + SUBDIRS = \ + po \ +- dcmtk \ + configuration \ + imagepool \ + widgets \ +@@ -709,18 +708,7 @@ + + @INTLTOOL_DESKTOP_RULE@ + +-dist-hook: +- mkdir -p $(distdir)/dcmtk +- cp -Rf $(top_srcdir)/dcmtk/* $(distdir)/dcmtk +- cd $(distdir)/dcmtk && make distclean +- list=`find $(distdir)/dcmtk -name "CVS"` && rm -Rf $$list +- list=`find $(distdir)/dcmtk -name ".cvsignore"` && rm -f $$list +- list=`find $(distdir)/dcmtk -name ".#*"` && rm -f $$list +- list=`find $(distdir)/dcmtk -name "*.a"` && rm -f $$list +- list=`find $(distdir)/dcmtk -name "*.so"` && rm -f $$list +- + distclean: distclean-recursive +- cd $(top_builddir)/dcmtk && make distclean + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/graphics/aeskulap/files/patch-configuration_aconfiguration.cpp b/graphics/aeskulap/files/patch-configuration_aconfiguration.cpp new file mode 100644 index 000000000000..8391c4ca7662 --- /dev/null +++ b/graphics/aeskulap/files/patch-configuration_aconfiguration.cpp @@ -0,0 +1,10 @@ +--- configuration/aconfiguration.cpp.orig 2010-07-26 18:34:00.000000000 +0000 ++++ configuration/aconfiguration.cpp 2010-07-26 18:34:14.000000000 +0000 +@@ -27,6 +27,7 @@ + */ + + #include "aconfiguration.h" ++#include + + namespace Aeskulap { + diff --git a/graphics/aeskulap/files/patch-configure b/graphics/aeskulap/files/patch-configure new file mode 100644 index 000000000000..9885c129608a --- /dev/null +++ b/graphics/aeskulap/files/patch-configure @@ -0,0 +1,33 @@ +--- configure.orig 2010-07-26 19:30:23.000000000 +0000 ++++ configure 2010-07-26 19:30:02.000000000 +0000 +@@ -23827,17 +23827,11 @@ + + + +-DCMJPEG_LIBS="-L../dcmtk/dcmjpeg/libijg8 -L../dcmtk/dcmjpeg/libijg12 -L../dcmtk/dcmjpeg/libijg16 -lijg8 -lijg12 -lijg16" ++DCMJPEG_LIBS="-lijg8 -lijg12 -lijg16" + + +-DCMTK_CFLAGS="-DHAVE_CONFIG_H -I\$(top_srcdir)/dcmtk/config/include -I\$(top_srcdir)/dcmtk/ofstd/include -I\$(top_srcdir)/dcmtk/dcmdata/include -I\$(top_srcdir)/dcmtk/dcmnet/include -I\$(top_srcdir)/dcmtk/dcmimage/include -I\$(top_srcdir)/dcmtk/dcmimgle/include -I\$(top_srcdir)/dcmtk/dcmjpeg/include" +-DCMTK_LIBS="-L../dcmtk/ofstd/libsrc \ +--L../dcmtk/dcmdata/libsrc \ +--L../dcmtk/dcmnet/libsrc \ +--L../dcmtk/dcmjpeg/libsrc \ +--L../dcmtk/dcmimage/libsrc \ +--L../dcmtk/dcmimgle/libsrc \ +--ldcmjpeg \$(DCMJPEG_LIBS) -ldcmimage -ldcmimgle -ldcmnet -ldcmdata -lofstd -lrt -lpthread" ++DCMTK_CFLAGS="" ++DCMTK_LIBS="-ldcmjpeg \$(DCMJPEG_LIBS) -ldcmimage -ldcmimgle -ldcmnet -ldcmdata -lofstd -lrt -lpthread" + + + +@@ -25432,9 +25426,3 @@ + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } + fi +- +- +-cd $srcdir/dcmtk +-export CFLAGS="$CFLAGS" +-export CXXFLAGS="$CXXFLAGS" +-sh ./configure --without-openssl --without-zlib --without-libwrap --prefix=${prefix} --libdir=${prefix}/lib/aeskulap diff --git a/graphics/aeskulap/files/patch-configure.in b/graphics/aeskulap/files/patch-configure.in new file mode 100644 index 000000000000..fb418a5e1dfd --- /dev/null +++ b/graphics/aeskulap/files/patch-configure.in @@ -0,0 +1,32 @@ +--- configure.in.orig 2010-07-26 19:28:08.000000000 +0000 ++++ configure.in 2010-07-26 19:28:57.000000000 +0000 +@@ -77,17 +77,11 @@ + + dnl AC_CONFIG_SUBDIRS(dcmtk) + +-DCMJPEG_LIBS="-L../dcmtk/dcmjpeg/libijg8 -L../dcmtk/dcmjpeg/libijg12 -L../dcmtk/dcmjpeg/libijg16 -lijg8 -lijg12 -lijg16" ++DCMJPEG_LIBS="-lijg8 -lijg12 -lijg16" + AC_SUBST(DCMJPEG_LIBS) + +-DCMTK_CFLAGS="-DHAVE_CONFIG_H -I\$(top_srcdir)/dcmtk/config/include -I\$(top_srcdir)/dcmtk/ofstd/include -I\$(top_srcdir)/dcmtk/dcmdata/include -I\$(top_srcdir)/dcmtk/dcmnet/include -I\$(top_srcdir)/dcmtk/dcmimage/include -I\$(top_srcdir)/dcmtk/dcmimgle/include -I\$(top_srcdir)/dcmtk/dcmjpeg/include" +-DCMTK_LIBS="-L../dcmtk/ofstd/libsrc \ +--L../dcmtk/dcmdata/libsrc \ +--L../dcmtk/dcmnet/libsrc \ +--L../dcmtk/dcmjpeg/libsrc \ +--L../dcmtk/dcmimage/libsrc \ +--L../dcmtk/dcmimgle/libsrc \ +--ldcmjpeg \$(DCMJPEG_LIBS) -ldcmimage -ldcmimgle -ldcmnet -ldcmdata -lofstd -lrt -lpthread" ++DCMTK_CFLAGS="" ++DCMTK_LIBS="-ldcmjpeg \$(DCMJPEG_LIBS) -ldcmimage -ldcmimgle -ldcmnet -ldcmdata -lofstd -lrt -lpthread" + + AC_SUBST(DCMTK_CFLAGS) + AC_SUBST(DCMTK_LIBS) +@@ -111,8 +105,3 @@ + widgets/Makefile + pixmaps/Makefile + ]) +- +-cd $srcdir/dcmtk +-export CFLAGS="$CFLAGS" +-export CXXFLAGS="$CXXFLAGS" +-sh ./configure --without-openssl --without-zlib --without-libwrap --prefix=${prefix} --libdir=${prefix}/lib/aeskulap diff --git a/graphics/aeskulap/files/patch-imagepool_fileloader.cpp b/graphics/aeskulap/files/patch-imagepool_fileloader.cpp new file mode 100644 index 000000000000..579b66728d7d --- /dev/null +++ b/graphics/aeskulap/files/patch-imagepool_fileloader.cpp @@ -0,0 +1,56 @@ +--- imagepool/fileloader.cpp.orig 2010-07-26 21:27:54.000000000 +0000 ++++ imagepool/fileloader.cpp 2010-07-26 21:41:27.000000000 +0000 +@@ -56,7 +56,8 @@ + } + + void FileLoader::prescan_files(std::list< Glib::ustring >* filelist) { +- std::string studyinstanceuid; ++ OFString studyinstanceuid; ++ const char *studyinstanceuid_str; + std::list< Glib::ustring >::iterator i = filelist->begin(); + unsigned int curr = 0; + unsigned int max = filelist->size(); +@@ -70,16 +71,18 @@ + (*i).c_str(), + EXS_Unknown, + EGL_noChange, +- DCM_MaxReadLength, +- false); ++ DCM_MaxReadLength); + + if(cond.good() && dfile.getDataset()->findAndGetOFString(DCM_StudyInstanceUID, studyinstanceuid).good()) { +- std::string seriesinstanceuid; ++ studyinstanceuid_str = studyinstanceuid.c_str(); ++ OFString seriesinstanceuid; ++ const char *seriesinstanceuid_str; + dfile.getDataset()->findAndGetOFString(DCM_SeriesInstanceUID, seriesinstanceuid); ++ seriesinstanceuid_str = seriesinstanceuid.c_str(); + +- m_cache[studyinstanceuid].m_instancecount++; +- m_cache[studyinstanceuid].m_seriesuid.insert(seriesinstanceuid); +- m_cache[studyinstanceuid].m_seriescount = m_cache[studyinstanceuid].m_seriesuid.size(); ++ m_cache[studyinstanceuid_str].m_instancecount++; ++ m_cache[studyinstanceuid_str].m_seriesuid.insert(seriesinstanceuid_str); ++ m_cache[studyinstanceuid_str].m_seriescount = m_cache[studyinstanceuid_str].m_seriesuid.size(); + } + } + } +@@ -87,7 +90,7 @@ + bool FileLoader::run() { + std::list< Glib::ustring >* filelist = m_filelist; + std::list< Glib::ustring >::iterator i = filelist->begin(); +- std::string studyinstanceuid; ++ OFString studyinstanceuid; + + for(; i != filelist->end(); i++) { + DcmFileFormat dfile; +@@ -96,8 +99,7 @@ + (*i).c_str(), + EXS_Unknown, + EGL_noChange, +- DCM_MaxReadLength, +- false); ++ DCM_MaxReadLength); + + if(!cond.good()) { + std::cout << "unable to open file !!!" << std::endl; diff --git a/graphics/aeskulap/files/patch-imagepool_netquery.cpp b/graphics/aeskulap/files/patch-imagepool_netquery.cpp new file mode 100644 index 000000000000..5b8dec5fc694 --- /dev/null +++ b/graphics/aeskulap/files/patch-imagepool_netquery.cpp @@ -0,0 +1,70 @@ +--- imagepool/netquery.cpp.orig 2010-07-26 21:45:52.000000000 +0000 ++++ imagepool/netquery.cpp 2010-07-26 21:53:57.000000000 +0000 +@@ -31,10 +31,11 @@ + #include "dcdeftag.h" + #include "poolfindassociation.h" + #include "netclient.h" +-#include "gettext.h" + + #include + ++#include ++ + namespace ImagePool { + + static void fix_date(std::string& date) { +@@ -50,7 +51,7 @@ + } + + static void fix_time(std::string& time) { +- unsigned int i = time.find("."); ++ size_t i = time.find("."); + if(i != std::string::npos) { + time = time.substr(0, i); + } +@@ -88,28 +89,35 @@ + + Glib::RefPtr< ImagePool::Series > create_query_series(DcmDataset* dset) { + Glib::RefPtr< ImagePool::Series > result = Glib::RefPtr< ImagePool::Series >(new Series); ++ OFString res; + +- dset->findAndGetOFString(DCM_SeriesInstanceUID, result->m_seriesinstanceuid); +- dset->findAndGetOFString(DCM_SeriesDescription, result->m_description); ++ dset->findAndGetOFString(DCM_SeriesInstanceUID, res); ++ result->m_seriesinstanceuid = res.c_str(); ++ dset->findAndGetOFString(DCM_SeriesDescription, res); ++ result->m_description = res.c_str(); + if(result->m_description.empty()) { +- dset->findAndGetOFString(DCM_StudyDescription, result->m_description); ++ dset->findAndGetOFString(DCM_StudyDescription, res); ++ result->m_description = res.c_str(); + } + if(result->m_description.empty()) { + result->m_description = gettext("no description"); + } + +- dset->findAndGetOFString(DCM_Modality, result->m_modality); ++ dset->findAndGetOFString(DCM_Modality, res); ++ result->m_modality = res.c_str(); + +- dset->findAndGetOFString(DCM_SeriesTime, result->m_seriestime); ++ dset->findAndGetOFString(DCM_SeriesTime, res); ++ result->m_seriestime = res.c_str(); + if(result->m_seriestime.empty()) { +- dset->findAndGetOFString(DCM_StudyTime, result->m_seriestime); ++ dset->findAndGetOFString(DCM_StudyTime, res); ++ result->m_seriestime = res.c_str(); + } + +- dset->findAndGetOFString(DCM_StationName, result->m_stationname); ++ dset->findAndGetOFString(DCM_StationName, res); ++ result->m_stationname = res.c_str(); + +- std::string buffer; +- dset->findAndGetOFString(DCM_NumberOfSeriesRelatedInstances, buffer); +- int i = atoi(buffer.c_str()); ++ dset->findAndGetOFString(DCM_NumberOfSeriesRelatedInstances, res); ++ int i = atoi(res.c_str()); + if(i != 0) { + result->m_instancecount = i; + } diff --git a/graphics/aeskulap/files/patch-imagepool_poolinstance.cpp b/graphics/aeskulap/files/patch-imagepool_poolinstance.cpp new file mode 100644 index 000000000000..0f7d21000548 --- /dev/null +++ b/graphics/aeskulap/files/patch-imagepool_poolinstance.cpp @@ -0,0 +1,130 @@ +--- imagepool/poolinstance.cpp.orig 2010-07-26 21:55:22.000000000 +0000 ++++ imagepool/poolinstance.cpp 2010-07-27 14:33:34.000000000 +0000 +@@ -37,6 +37,8 @@ + + #include + ++#include ++ + namespace ImagePool { + + Instance::Instance(const std::string& sopinstanceuid) : +@@ -279,35 +281,35 @@ + + // get SOPInstanceUID + +- std::string sop; ++ OFString sop; + dset->findAndGetOFString(DCM_SOPInstanceUID, sop).bad(); + + // wrap in smartpointer +- Glib::RefPtr r = Glib::RefPtr(new ImagePool::Instance(sop)); ++ Glib::RefPtr r = Glib::RefPtr(new ImagePool::Instance(sop.c_str())); + + // set encoding +- std::string enc[2]; ++ OFString enc[2]; + dset->findAndGetOFString(DCM_SpecificCharacterSet, enc[0], 0); + dset->findAndGetOFString(DCM_SpecificCharacterSet, enc[1], 1); +- r->set_encoding(enc[0], enc[1]); ++ r->set_encoding(enc[0].c_str(), enc[1].c_str()); + + // set dicom uid's +- r->m_sopinstanceuid = sop; ++ r->m_sopinstanceuid = sop.c_str(); + +- std::string seriesuid; ++ OFString seriesuid; + if(dset->findAndGetOFString(DCM_SeriesInstanceUID, seriesuid).good()) { +- r->m_seriesinstanceuid = seriesuid; ++ r->m_seriesinstanceuid = seriesuid.c_str(); + } + +- std::string studyuid; ++ OFString studyuid; + if(dset->findAndGetOFString(DCM_StudyInstanceUID, studyuid).good()) { +- r->m_studyinstanceuid = studyuid; ++ r->m_studyinstanceuid = studyuid.c_str(); + } + + r->m_default_windowcenter = 0; + r->m_default_windowwidth = 0; + +- std::string value; ++ OFString value; + + // get instancenumber + if(dset->findAndGetOFString(DCM_InstanceNumber, value).good()) { +@@ -438,29 +440,29 @@ + + // set date + if(dset->findAndGetOFString(DCM_AcquisitionDate, value).good()) { +- r->m_date = value; ++ r->m_date = value.c_str(); + } + else if(dset->findAndGetOFString(DCM_SeriesDate, value).good()) { +- r->m_date = value; ++ r->m_date = value.c_str(); + } + else if(dset->findAndGetOFString(DCM_StudyDate, value).good()) { +- r->m_date = value; ++ r->m_date = value.c_str(); + } + + // set time + if(dset->findAndGetOFString(DCM_AcquisitionTime, value).good()) { +- r->m_time = value; ++ r->m_time = value.c_str(); + } + else if(dset->findAndGetOFString(DCM_SeriesTime, value).good()) { +- r->m_time = value; ++ r->m_time = value.c_str(); + } + else if(dset->findAndGetOFString(DCM_StudyTime, value).good()) { +- r->m_time = value; ++ r->m_time = value.c_str(); + } + + // set ManufacturersModelName + if(dset->findAndGetOFString(DCM_ManufacturersModelName, value).good()) { +- r->m_model = value; ++ r->m_model = value.c_str(); + } + + // set pixelspacing +@@ -512,8 +514,10 @@ + if(dset->findAndGetOFString(DCM_PatientsName, value).good()) { + r->m_patientsname = r->convert_string(value.c_str()); + } +- dset->findAndGetOFString(DCM_PatientsBirthDate, r->m_patientsbirthdate); +- dset->findAndGetOFString(DCM_PatientsSex, r->m_patientssex); ++ dset->findAndGetOFString(DCM_PatientsBirthDate, value); ++ r->m_patientsbirthdate = value.c_str(); ++ dset->findAndGetOFString(DCM_PatientsSex, value); ++ r->m_patientssex = value.c_str(); + if(dset->findAndGetOFString(DCM_StudyDescription, value).good()) { + r->m_studydescription = r->convert_string(value.c_str()); + } +@@ -528,8 +532,10 @@ + r->m_studydescription = gettext("no description"); + } + +- dset->findAndGetOFString(DCM_StudyDate, r->m_studydate); +- dset->findAndGetOFString(DCM_StudyTime, r->m_studytime); ++ dset->findAndGetOFString(DCM_StudyDate, value); ++ r->m_studydate = value.c_str(); ++ dset->findAndGetOFString(DCM_StudyTime, value); ++ r->m_studytime = value.c_str(); + + // series params + if(dset->findAndGetOFString(DCM_InstitutionName, value).good()) { +@@ -549,7 +555,8 @@ + r->m_seriesdescription = gettext("no description"); + } + +- dset->findAndGetOFString(DCM_Modality, r->m_modality); ++ dset->findAndGetOFString(DCM_Modality, value); ++ r->m_modality = value.c_str(); + + Glib::RefPtr new_study = get_study(r->m_studyinstanceuid); + if(new_study->size() == 0) { diff --git a/graphics/aeskulap/files/patch-imagepool_poolmoveassociation.cpp b/graphics/aeskulap/files/patch-imagepool_poolmoveassociation.cpp new file mode 100644 index 000000000000..3d8631bf70eb --- /dev/null +++ b/graphics/aeskulap/files/patch-imagepool_poolmoveassociation.cpp @@ -0,0 +1,28 @@ +--- imagepool/poolmoveassociation.cpp.orig 2010-07-27 14:42:55.000000000 +0000 ++++ imagepool/poolmoveassociation.cpp 2010-07-27 14:53:04.000000000 +0000 +@@ -33,7 +33,6 @@ + #include "djencode.h" + #include "djrplol.h" + +- + MoveAssociation::MoveAssociation() { + m_abstractSyntax = UID_MOVEStudyRootQueryRetrieveInformationModel; + m_maxReceivePDULength = ASC_DEFAULTMAXPDU; +@@ -175,6 +174,9 @@ + knownAbstractSyntaxes, DIM_OF(knownAbstractSyntaxes), + transferSyntaxes, DIM_OF(transferSyntaxes)); + ++ /* FIXME ++ * dcmStorageSOPClassUIDs and numberOfDcmStorageSOPClassUIDs ++ * are not defined anymore + if (cond.good()) { + // the array of Storage SOP Class UIDs comes from dcuid.h + cond = ASC_acceptContextsWithPreferredTransferSyntaxes( +@@ -182,6 +184,7 @@ + dcmStorageSOPClassUIDs, numberOfDcmStorageSOPClassUIDs, + transferSyntaxes, DIM_OF(transferSyntaxes)); + } ++ */ + } + + if (cond.good()) { diff --git a/graphics/aeskulap/files/patch-imagepool_poolnetwork.cpp b/graphics/aeskulap/files/patch-imagepool_poolnetwork.cpp new file mode 100644 index 000000000000..b94f3bc50bfe --- /dev/null +++ b/graphics/aeskulap/files/patch-imagepool_poolnetwork.cpp @@ -0,0 +1,18 @@ +--- imagepool/poolnetwork.cpp.orig 2010-07-27 14:53:57.000000000 +0000 ++++ imagepool/poolnetwork.cpp 2010-07-27 14:55:07.000000000 +0000 +@@ -227,10 +227,14 @@ + } + + /* the array of Storage SOP Class UIDs comes from dcuid.h */ ++ /* FIXME ++ * dcmStorageSOPClassUIDs and numberOfDcmStorageSOPClassUIDs ++ * are not defined anymore + for (i=0; i ++ + namespace ImagePool { + + extern Network net; diff --git a/graphics/aeskulap/files/patch-src_main.cpp b/graphics/aeskulap/files/patch-src_main.cpp new file mode 100644 index 000000000000..36c4351f418c --- /dev/null +++ b/graphics/aeskulap/files/patch-src_main.cpp @@ -0,0 +1,11 @@ +--- src/main.cpp.orig 2010-07-27 15:12:57.000000000 +0000 ++++ src/main.cpp 2010-07-27 15:13:13.000000000 +0000 +@@ -43,6 +43,8 @@ + + #include + ++#include ++ + int main(int argc, char* argv[]) { + + br_init(NULL); diff --git a/graphics/aeskulap/files/patch-widgets_awindowleveltoolbutton.cpp b/graphics/aeskulap/files/patch-widgets_awindowleveltoolbutton.cpp new file mode 100644 index 000000000000..5c816c362171 --- /dev/null +++ b/graphics/aeskulap/files/patch-widgets_awindowleveltoolbutton.cpp @@ -0,0 +1,11 @@ +--- widgets/awindowleveltoolbutton.cpp.orig 2010-07-27 14:58:36.000000000 +0000 ++++ widgets/awindowleveltoolbutton.cpp 2010-07-27 14:58:44.000000000 +0000 +@@ -2,6 +2,8 @@ + #include "aiconfactory.h" + #include + ++#include ++ + namespace Aeskulap { + + std::set WindowLevelToolButton::m_widgetlist; diff --git a/graphics/aeskulap/files/patch-widgets_seriesview.cpp b/graphics/aeskulap/files/patch-widgets_seriesview.cpp new file mode 100644 index 000000000000..cff78089da0d --- /dev/null +++ b/graphics/aeskulap/files/patch-widgets_seriesview.cpp @@ -0,0 +1,11 @@ +--- widgets/seriesview.cpp.orig 2010-07-27 15:03:43.000000000 +0000 ++++ widgets/seriesview.cpp 2010-07-27 15:03:57.000000000 +0000 +@@ -36,6 +36,8 @@ + + #include + ++#include ++ + SeriesView::SeriesView(const Glib::RefPtr& series) : + Aeskulap::Tiler(1, 1), + m_selected(false), diff --git a/graphics/aeskulap/pkg-descr b/graphics/aeskulap/pkg-descr new file mode 100644 index 000000000000..b10737ba784c --- /dev/null +++ b/graphics/aeskulap/pkg-descr @@ -0,0 +1,7 @@ +Aeskulap is a medical image viewer. It is able to load a series of special +images stored in the DICOM format for review. Additionally Aeskulap is able +to query and fetch DICOM images from archive nodes (also called PACS) over +the network. The goal of this project is to create a full open source +replacement for commercially available DICOM viewers. + +WWW: http://aeskulap.nongnu.org/ diff --git a/graphics/aeskulap/pkg-plist b/graphics/aeskulap/pkg-plist new file mode 100644 index 000000000000..ba54d40df5b2 --- /dev/null +++ b/graphics/aeskulap/pkg-plist @@ -0,0 +1,36 @@ +bin/aeskulap +lib/aeskulap/libconfiguration.a +lib/aeskulap/libconfiguration.la +lib/aeskulap/libconfiguration.so.0.0 +lib/aeskulap/libimagepool.a +lib/aeskulap/libimagepool.la +lib/aeskulap/libimagepool.so.0.0 +share/applications/aeskulap.desktop +%%DATADIR%%/glade/aeskulap.glade +%%DATADIR%%/images/aeskulap.png +%%DATADIR%%/images/cursor_pan.png +%%DATADIR%%/images/cursor_windowlevel.png +%%DATADIR%%/images/cursor_zoom.png +%%DATADIR%%/images/filmholes-big-left.png +%%DATADIR%%/images/filmholes-big-right.png +%%DATADIR%%/images/grid-1.png +%%DATADIR%%/images/grid-16.png +%%DATADIR%%/images/grid-2h.png +%%DATADIR%%/images/grid-2v.png +%%DATADIR%%/images/grid-4.png +%%DATADIR%%/images/series-1x1.png +%%DATADIR%%/images/series-2x1.png +%%DATADIR%%/images/series-2x2.png +%%DATADIR%%/images/series-3x2.png +%%DATADIR%%/images/series-3x3.png +%%DATADIR%%/images/series-4x4.png +%%DATADIR%%/images/start-here.png +%%DATADIR%%/images/stock-layers-24.png +%%DATADIR%%/images/stock-tool-eraser-22.png +%%DATADIR%%/images/stock-tool-measure-22.png +%%DATADIR%%/images/stock-tool-scale-22.png +@dirrm %%DATADIR%%/images +@dirrm %%DATADIR%%/glade +@dirrm %%DATADIR%% +@dirrm lib/aeskulap +@dirrmtry share/applications -- cgit