Ah,
Yeah, the lines with a * have to be at the bottom. Has bitten me once as well. There is already a bug report to check this.
regards,
Marcel
Ah,
Yeah, the lines with a * have to be at the bottom. Has bitten me once as well. There is already a bug report to check this.
regards,
Marcel
The (QualifyOn) (mapped) IP:Server, PORT:Server line is correct?
Marcel
For updating, you also have to copy dgate64.exe, in the zip this is in install64.
But basically, it is safe to replace all exe and dll files from a new release.
Edit: you can also just replace dgate(64).exe
Marcel
No you can't, you can do:
KP* * 1234 un
IF your KP name would be KP192.168.1.2.
Another solution is this or a similar script added to dicom.ini:
[lua]
Association=local AE,IP,P,C= get_amap(1); if Association.Caller==AE and Association.ConnectedIP~=IP then servercommand('put_amap:'..AE..','..Association.ConnectedIP..','..P..','..C) end
Marcel
Sorry I missed this post. Is it still relevant?
Hi,
Haven't seen any difference in stability between windows versions. But haven't tried 2016 and 2019...
Marcel
The original library has a bit of documentation that is well outdated. It is in .HLP format that windows stopped supporting. If you have a way to read or convert .HLP I can share that. The main source is deivr.hpp/cpp to start at that level.
Otherwise, I am afraid there is not much, and it has grown organically (many times minimal changes to avoid breaking things) so it is messy, e.g. there are several methods to do similar things on a dicomobject.
I tend to program by example myself, e.g. find similar code to what I want to do. I also meticulously record, track and fix any bugs reported - making minimal changes.
This style of coding resulted in an extremely reliable system, while based on a relatively poor quality library.
What exactly do you want to achieve? Then I can give you better pointers.
regards,
Marcel
Hi to limit access to CONQUESTSRV1 and CONQUESTSRV2:
CONQUESTSRV1 CONQUESTSRV1 RemoteAE
CONQUESTSRV2 CONQUESTSRV2 RemoteAE
The second column is used, first is description.
Marcel
hi,
this can be done by AE through dgatesop.lst, but if you add one it will reject all others so you have to add all including the server console itself.
or using a script, e.g.
[lua]
association=if Association.ConnectedIP!='192.168.1.135' then reject() end
Marcel
Here is a list of error codes:
server out of memory --> 1
server not configured --> 1
any -letter command failed --> 1
setup command failed --> 1
database created --> 0
--dolua returns 0
server quiting do to --quit or --safequit: returns 0
CGI processing returns 0
startup converter calls reject: return 1
-- commands return:
return value of servercommand
which is 0 on success (command succesfully sent - not necessarily succeeded)
which is 1 if cannot connect
it is atoi of the return buffer if it is less than 100 characters
it is -1 if a buffer is succesfully returned
I think this changed end 2018
So yes, 255 (-1) is likely also success. I needed the return code internally. If you want I can force if back to zero before calling exit()
You can force a given return code in lua.
Marcel
Hi,
you can use conquest but it is not optimised for that, it is an archive
Marcel
These are no problem:
I think the test button makes this index. Fails second time, is harmless
***SQLITEExec error: index mods_joint already exists, and
Any change in database entries is flagged. Is just a small warning, can be ignored.
Inconsistent StudyModal in DICOMStudies: PatientID = '*****' StudyInsta = '*****', Old='RTSTRUCT', New='RTPLAN\RTSTRUCT'
I answered this on the mail.
Marcel
Super!
Marcel
Hi,
Here is his code:
#NOTE - This code was writen in 2016 against older libraries. The notes below show the versions of pydicom and pynetdicom
# - PyDicom 1.0.0a - There are many code changes required between 0.99 and 1.0 versions of pydicom, comes from github
# - PyNetDicom - 0.9.0 - The official PyPI distribution is 2.7 only. The 3.5 port (with significantly different syntax)
#Using a standard version of conquest 1.5.0b - naming as in distribution localhost, CONQUESTSRV1, 5678
# ===================================================================================================
# ===================================================================================================
self.AE = pynetdicom3.AE('localdicom', 9999, scu_sop_class=[pynetdicom3.VerificationSOPClass]+pynetdicom3.QueryRetrieveSOPClassList+pynetdicom3.StorageSOPClassList,
"""CFind to get all patient names on the server (ie just the HEAD EXP2 image included with conquest"""
responses = self.association.send_c_find(self.query,query_model='P') # Patient Root informmation model
meta.TransferSyntaxUID = pydicom.uid.ImplicitVRLittleEndian #Need to explicitly add file metadata and Transfer Syntax to get pixel uncompression to work in pydicom
dataset.file_meta = meta #Need to explicitly add file metadata and Transfer Syntax to get pixel uncompression to work in pydicom
#===================================================================================================
This is the code in nkiqrsop.cxx:
if (!cget) AcceptedCompress = UsedPDU->GetAcceptedCompressionType(iUID);
else AcceptedCompress = "un";
It might be as simple as replacing this with:
AcceptedCompress = UsedPDU->GetAcceptedCompressionType(iUID);
regards,
Marcel
Hi,
I think that if there is no activity conquest is not recieving anything. Is pinnacle using the wrong port?
Marcel
Just checked,
C-GET in conquest is hardcoded to be uncompressed. Note sure where the compression it should come from for now.
Marcel
Can you debug log the c-get request that conquest gets?
Marcel
Good progress.
It is expecting jpegls but gets uncompressed: "[recompress]: recompressed with mode = un (strip=1)".
This is likely a bug in conquest's c-get implemenation. Can you make it ask for uncompressed?
Marcel