def OnReceiveEcho(self): print print "Echo received" return True def OnReceiveFind(self, ds): for ii in range(1000): ds.PatientsName = 'titi' + str(ii) print "sending fake response: patient name: %s" % ds.PatientsName yield ds, 0xFF00 # responding to find request # create application entity MyAE = AE('localhost', 9999, [], [PatientRootFindSOPClass, VerificationSOPClass]) MyAE.OnAssociateRequest = OnAssociateRequest MyAE.OnReceiveEcho = OnReceiveEcho MyAE.OnReceiveFind = OnReceiveFind dcmtkscu.run_in_term( 'findscu -v -P -aec AE1 -k 0010,0010="*" -k 0008,0052="PATIENT"' ' localhost 9999') # start application entity MyAE.start() MyAE.QuitOnKeyboardInterrupt()
# ds is the identifyer dataset # pretend that we lookup the database to find a list of datasets to be # moved yield dict(AET=remoteAE, Port=2001, Address='localhost') nop = 10 yield nop for ii in range(nop): # create fake dataset ds = dicom.read_file(os.path.join(testfiles_dir(), "rtplan.dcm")) print "sending fake dataset" yield ds # create application entity MyAE = AE('localhost', 9999, [RTPlanStorageSOPClass], [PatientRootMoveSOPClass, VerificationSOPClass]) MyAE.OnAssociateRequest = OnAssociateRequest MyAE.OnReceiveEcho = OnReceiveEcho MyAE.OnReceiveMove = OnReceiveMove dcmtkscu.run_in_term( 'movescu -v -P -aem AE1 -k 0010,0010="*" -k 0008,0052="PATIENT" ' 'localhost 9999') # start application entity MyAE.start() MyAE.QuitOnKeyboardInterrupt()