# 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()
def OnReceiveMove(self, ident, remoteAE): # 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()