What kind of printer are you sending to?
If it is a DICOM printer you can use dcmpsprt from the dcmtk toolkit to create a print file and spool it to the printer.
Posts by markpearson
-
-
The answer is in the windowsmanual.pdf page 52. The variable FileNameSyntax in dicom.ini defines the storage type. Use a setting between 8 and 12 depending on the file structure you want.
-
Hi,
Have a look in linuxmanual.pdf for an example startup script but note that you will need to install the package authbind.
start/stop scripts need to be copied to /etc/init.d and once you are sure it works can be set to automatically start with(assuming conquest-pacs.sh is the name of the script). This will create the proper links in the various rcx.d directories.
Mark
-
Hi Marcel,
When compiling 1416j on my linux system I had an error of too few arguments for mkdir at line 2259 in MyBridgeStorage. I tried copying the define statement at line 2686 above the class and this fixed the error.
-
Hi,
Thanks, that fixed the error.
I'll implement it on one system that only does one forward, but wait for a better implementation on another system that sends to 5 destinations.
-
Hi,
Gdb appears to show empty storage. Let me know if you want more information.
Code0x00000000004a9a8a in CallImportConverterN (DDO=0xc33a40, N=-1, pszModality=0x7ffff6bf3e40 "NM", pszStationName=0x7ffff6bf3df0 "Atlantis",pszSop=0x7ffff6bf3da0 "1.3.46.670589.28.1.2.0.21.96.163.65.94.20101018092935.92.4", patid=0x7ffff6bf3cb0 "1077877", PDU=0x7ffff6c16440, Storage=0x7ffff6bf3e90 "",Script=0x7ffff6beb830 "forward to TRAEKIPG;") at /home/markp/conquest/source/conquestlinux1416e/source/dgate.cpp:6661#0 0x00000000004a9a8a in CallImportConverterN (DDO=0xc33a40, N=-1, pszModality=0x7ffff6bf3e40 "NM", pszStationName=0x7ffff6bf3df0 "Atlantis",pszSop=0x7ffff6bf3da0 "1.3.46.670589.28.1.2.0.21.96.163.65.94.20101018092935.92.4", patid=0x7ffff6bf3cb0 "1077877", PDU=0x7ffff6c16440, Storage=0x7ffff6bf3e90 "",Script=0x7ffff6beb830 "forward to TRAEKIPG;") at /home/markp/conquest/source/conquestlinux1416e/source/dgate.cpp:6661#1 0x00000000004a2317 in luascript (L=0xc31750) at /home/markp/conquest/source/conquestlinux1416e/source/dgate.cpp:5340#2 0x00000000004fca86 in luaD_precall (L=0xc31750, func=0xc31b30, nresults=0) at /home/markp/conquest/source/conquestlinux1416e/source/lua_5.1.4/ldo.c:319#3 0x000000000050c32e in luaV_execute (L=0xc31750, nexeccalls=1) at /home/markp/conquest/source/conquestlinux1416e/source/lua_5.1.4/lvm.c:587#4 0x00000000004fcd31 in luaD_call (L=0xc31750, func=0xc31b20, nResults=1) at /home/markp/conquest/source/conquestlinux1416e/source/lua_5.1.4/ldo.c:377#5 0x00000000004f6f4c in f_call (L=0xc31750, ud=0x7ffff6bec650) at /home/markp/conquest/source/conquestlinux1416e/source/lua_5.1.4/lapi.c:800#6 0x00000000004fbca7 in luaD_rawrunprotected (L=0xc31750, f=0x4f6f17 <f_call>, ud=0x7ffff6bec650) at /home/markp/conquest/source/conquestlinux1416e/source/lua_5.1.4/ldo.c:116#7 0x00000000004fd135 in luaD_pcall (L=0xc31750, func=0x4f6f17 <f_call>, u=0x7ffff6bec650, old_top=16, ef=0) at /home/markp/conquest/source/conquestlinux1416e/source/lua_5.1.4/ldo.c:463#8 0x00000000004f6ff5 in lua_pcall (L=0xc31750, nargs=0, nresults=1, errfunc=0) at /home/markp/conquest/source/conquestlinux1416e/source/lua_5.1.4/lapi.c:821#9 0x00000000004a68c7 in do_lua (L=0x7ffff6c16bb8, cmd=0x7ffff6bf1e90 "script('forward to TRAEKIPG;');", sd=0x7ffff6bec830)#10 0x00000000004a703e in CallImportConverterN (DDO=0xc33a40, N=0, pszModality=0x7ffff6bf3e40 "NM", pszStationName=0x7ffff6bf3df0 "Atlantis",pszSop=0x7ffff6bf3da0 "1.3.46.670589.28.1.2.0.21.96.163.65.94.20101018092935.92.4", patid=0x7ffff6bf3cb0 "1077877", PDU=0x7ffff6c16440, Storage=0x7ffff6bf3e90 "", Script=0x0)#11 0x00000000004af6dc in CallImportConverters (DDO=0xc33a40, pszModality=0x7ffff6bf3e40 "NM", pszStationName=0x7ffff6bf3df0 "Atlantis",pszSop=0x7ffff6bf3da0 "1.3.46.670589.28.1.2.0.21.96.163.65.94.20101018092935.92.4", patid=0x7ffff6bf3cb0 "1077877", PDU=0x7ffff6c16440, Storage=0x7ffff6bf3e90 "")#12 0x00000000004b450d in SaveToDisk (DB=..., DDOPtr=0xc33a40, Filename=0x7ffff6bf4750 "\236G\277\366\377\177", NoKill=0, PDU=0x7ffff6c16440, Syntax=0, nopreget=0)#13 0x00000000004ec1f5 in MyUnknownStorage::CheckObject (this=0x7ffff6bf8600, DDO=0xc33a40, PDU=0x7ffff6c16440) at /home/markp/conquest/source/conquestlinux1416e/source/dgate.cpp:11091#14 0x0000000000458956 in UnknownStorage::Read (this=0x7ffff6bf8600, PDU=0x7ffff6c16440, DCO=0x7ffff6bf8350, DDO=0xc33a40)#15 0x00000000004cf010 in StorageApp::ServerChild (this=0x958be0, theArg=6) at /home/markp/conquest/source/conquestlinux1416e/source/dgate.cpp:16445#16 0x00000000004c9cdb in DriverApp::ServerChildThread (this=0x958be0, Socketfd=6) at /home/markp/conquest/source/conquestlinux1416e/source/dgate.cpp:14919 -
Hello everyone,
I use lua on a system running linux to modify images before they are sent to another server. This works OK when there is local database but causes a segmentation fault when the database uses the NULL driver. The relevent section from dicom.ini is
The log looks like this:
CodeDGATE (1.4.16e, build Tue Sep 20 14:14:07 2011, bits 64) is running as threaded serverDatabase type: NULL driver (black hole)UPACS THREAD 0: STARTED AT: Tue Sep 20 14:49:40 2011A-ASSOCIATE-RQ Packet Dump Calling Application Title : "CLOSEDPACS " Called Application Title : "BACKUPFWD " Application Context : "1.2.840.10008.3.1.1.1", PDU length: 16384 Number of Proposed Presentation Contexts: 2 Presentation Context 0 "1.2.840.10008.5.1.4.1.1.20" 1 Presentation Context 1 "1.2.840.10008.5.1.4.1.1.7" 1Server Command := 0001Message ID := 5dddMove Originator Message ID := 0006Move Originator AE := CLOSEDPACS ImportConverter-1.0: forwarded object to TRAEKIPGSegmentation faultUsing strace adds a little more information:
If I use the standard importconverter described in DICOM Routing without database everything works OK. I suspect lua does not know where to read the file from when there is no database.
Mark
-
To convert jpeg to dicom you need a conversion program like gdcmimg from Grassroots DICOM http://sourceforge.net/apps/me…index.php?title=Main_Page. I use this program to take postscript files and send to a dicom only printer using a perl script.
Mark
-
Hi,
On my linux system, when images are read from the incoming directory they are not processed by import/export or lua. The image is stored correctly and the log file shows that the file has bee added. This means I cannot manipulate images by placing files in the incoming directory.
Is this the expected behaviour? -
Hi,
The segfault is caused by lua_pushstring(PDU->L, filename) and lua_setglobal(PDU->L, "Filename") from AddImageFile.
-
Hi,
Thanks for the rc6 patch, my earlier errors have now been fixed, but in linux I now get a segfault without any log messages when files are added to the incoming directory. I'll turn on extra debugging to see if I can provide more details.
-
Hi,
I found a bug that seems to have been introduced between beta and rc2. findscu from the dicom toolkit (dcmtk) will cause dgate to crash in both windows and linux with rc2 and newer but not beta or older. Logging from the 2 versions look like this.
Code[CONQUESTSRV1] UPACS THREAD 0: STARTED AT: Fri Mar 25 10:12:58 2011[CONQUESTSRV1] A-ASSOCIATE-RQ Packet Dump[CONQUESTSRV1] Calling Application Title : "FINDSCU "[CONQUESTSRV1] Called Application Title : "ANY-SCP "[CONQUESTSRV1] Application Context : "1.2.840.10008.3.1.1.1", PDU length: 16384[CONQUESTSRV1] Number of Proposed Presentation Contexts: 1[CONQUESTSRV1] Presentation Context 0 "1.2.840.10008.5.1.4.31" 1[CONQUESTSRV1] Server Command := 0020[CONQUESTSRV1] Message ID := 0001[CONQUESTSRV1] 0000,0002 22 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.31" [CONQUESTSRV1] 0000,0100 2 US CommandField 32 [CONQUESTSRV1] 0000,0110 2 US MessageID 1 [CONQUESTSRV1] 0000,0700 2 US Priority 2 [CONQUESTSRV1] 0000,0800 2 US DataSetType 1 [CONQUESTSRV1] 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2" [CONQUESTSRV1] (ModalityWorkListQuery) search level: [CONQUESTSRV1] 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2" [CONQUESTSRV1] 0010,0010 0 PN PatientName (empty)[CONQUESTSRV1] 0010,0020 0 LO PatientID (empty)[CONQUESTSRV1] Query On Modality WorkList[CONQUESTSRV1] Failed on VR Search: 0002 0010[CONQUESTSRV1] (testing phase) - ignored[CONQUESTSRV1] Issue Query on Columns: DICOMWorkList.PatientNam, DICOMWorkList.PatientID[CONQUESTSRV1] Values: [CONQUESTSRV1] Tables: DICOMWorkList[CONQUESTSRV1] Sorting (DICOMWorkList.PatientNam) DoSort := 1[CONQUESTSRV1] Query Distinct Tables: DICOMWorkList[CONQUESTSRV1] Columns : DICOMWorkList.PatientNam, DICOMWorkList.PatientID[CONQUESTSRV1] Where : (null)[CONQUESTSRV1] Order : DICOMWorkList.PatientNam[CONQUESTSRV1] Records = 0[CONQUESTSRV1] C-Find (Modality Work List) located 0 records[CONQUESTSRV1] UPACS THREAD 0: ENDED AT: Fri Mar 25 10:12:58 2011[CONQUESTSRV1] UPACS THREAD 0: TOTAL RUNNING TIME: 0 SECONDS[CONQUESTSRV1] UPACS THREAD 0: STARTED AT: Fri Mar 25 10:09:53 2011[CONQUESTSRV1] A-ASSOCIATE-RQ Packet Dump[CONQUESTSRV1] Calling Application Title : "FINDSCU "[CONQUESTSRV1] Called Application Title : "ANY-SCP "[CONQUESTSRV1] Application Context : "1.2.840.10008.3.1.1.1", PDU length: 16384[CONQUESTSRV1] Number of Proposed Presentation Contexts: 1[CONQUESTSRV1] Presentation Context 0 "1.2.840.10008.5.1.4.31" 1[CONQUESTSRV1] Server Command := 0020[CONQUESTSRV1] Message ID := 0001[CONQUESTSRV1] 0000,0002 22 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.31" [CONQUESTSRV1] 0000,0100 2 US CommandField 32 [CONQUESTSRV1] 0000,0110 2 US MessageID 1 [CONQUESTSRV1] 0000,0700 2 US Priority 2 [CONQUESTSRV1] 0000,0800 2 US DataSetType 1 [CONQUESTSRV1] 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2"The command line used in both cases was
cfind from osirix does not cause a crash. -
Hi,
I get a segfault on my Ubuntu linux box when I try to add jpeg encoded files created by gdcmimg (http://sourceforge.net/apps/mediawiki/gdcm).
Code -
This simple script changes the StudyUID of an image when it has previously been refused. The image is sent to Aetitle PAXFIX so that it doesn't get triggered by a normal cmove.
The error looks like this:
Thu Mar 10 16:04:20 2011 ***Refused to enter inconsistent link StudyInsta into DICOMSeries: PatientID = '747854' SeriesInst = '1.3.46.670589.28.1.1.2096751459.1259802365.2147483647' AND SeriesPat = '747854', Old='1.2.840.113704.1.111.2388.1259800462.6', Refused='1.3.46.670589.28.1.2.0.21.96.163.65.94.20091203112921.31.2'The code:
-
Hi,
Every week I have 1-2 images that the database refuses to enter. The files are dropped and an error is logged. At the moment I search the PacsTrouble log for these errors so that I can manually fix the files and resend them. As a temporary measure I have created a PacsReject log file to separate the errors from the hundreds of warning messages in PacsTrouble. My PacsReject log has entries like this:
CodeThu Mar 10 16:04:20 2011 ***Refused to enter inconsistent link StudyInsta into DICOMSeries: PatientID = '747854' SeriesInst = '1.3.46.670589.28.1.1.2096751459.1259802365.2147483647' AND SeriesPat = '747854', Old='1.2.840.113704.1.111.2388.1259800462.6', Refused='1.3.46.670589.28.1.2.0.21.96.163.65.94.20091203112921.31.2'Thu Mar 10 16:05:23 2011 ***Refused to enter inconsistent link StudyInsta into DICOMSeries: PatientID = '961818' SeriesInst = '1.3.46.670589.28.1.1.2096751459.1261535959.2147483647' AND SeriesPat = '961818', Old='1.2.840.113704.1.111.2748.1261534634.7', Refused='1.3.46.670589.28.1.2.0.21.96.163.65.94.20091223130205.15.2'Thu Mar 10 16:05:35 2011 ***Refused to enter inconsistent link StudyInsta into DICOMSeries: PatientID = '1096924' SeriesInst = '1.3.46.670589.28.1.1.2198218821.1264216906.732813136585' AND SeriesPat = '1096924', Old='1.3.46.670589.28.1.2.0.21.96.163.65.94.20091223144222.84.2', Refused='1.3.46.670589.28.1.1.2198218821.732813136585'Thu Mar 10 16:05:35 2011 ***Refused to enter inconsistent link StudyInsta into DICOMSeries: PatientID = '1096924' SeriesInst = '1.3.46.670589.28.1.1.2198218821.1264216906.732813136585' AND SeriesPat = '1096924', Old='1.3.46.670589.28.1.2.0.21.96.163.65.94.20091223144222.84.2', Refused='1.3.46.670589.28.1.1.2198218821.732813136585'My question is, would it be possible to have a rejected images directory to save these files. If the files were all in one place it would save a lot of time when fixing them.
-
Hello,
I had the following errors while compiling jasper and worked out how to fix it.CodeI had already done in jpeg-6c:
sudo make install
but also had to add
sudo make install-libI don't know why the first install did not also install the libraries.
-
I can confirm that sqlite, mysql and postgresql all produce similar error output (at different memory locations). So the error is coming from the common codebase.
-
I have found that --deleteseries causes a segfault with mysql but not dbase that might be a related problem. I am not explicitly running gdb but the output is quite informative.
CodeIssue Query on Columns: DICOMImages.SOPInstanc, DICOMSeries.SeriesInst, DICOMSeries.SeriesInst, DICOMStudies.PatientID, DICOMStudies.StudyInstaI also tried it on a series containing only 1 image with similar results.
-
There are a number of factors which will the ease of use of this approach. Basically, if the ip address changes then acrnema.map must be edited.
If you have control of the dhcp server you can assign the ip based on the MAC address. This is the same principle as fixed ip but more flexible for the client.
If the pool of available addresses is larger than the number of clients they should get the same address they had from the first connection.
If the pool is smaller than the number of clients then there is a greater chance of getting a new ip. This is affected by how often the client is disconnected from the network. -
If you want to be a bit more adventurous, most of the NAS devices use variations on the ARM chips and run conquest/mysql quite well.
I have just replaced a NSLU2 http://en.wikipedia.org/wiki/NSLU2 with an external usb HDD that ran for about 2 years with a DNS323 http://wiki.dns323.info/ with 2 internal SATA drives. Both systems can use the debian-arm distribution which means you can install the gcc compiler, mysql, postgresql, apache etc although it is more of a challenge for the DNS323 which requires a special cable for serial port access.
Compiling dgate on the NSLU2 took more than 30 minutes compared to under 1 minute for my desktop so I first thought performance might be unacceptably slow but I was surprised that the transfer speeds were quite reasonable. The DNS323 has twice the memory (64MB) and runs even better.
I can post more details if anyone is interested.