def C_MOVE_RQ_received(self, presentation_context_id, move_rq, query): log.msg("received %s on presentation context %i" % (move_rq, presentation_context_id)) log.msg("%s" % query) movedest = self.move_destinations.get(move_rq.move_destination) if movedest == None: log.msg("Unknown move destination AE %s." % (move_rq.move_destination,)) self.send_DIMSE_command(presentation_context_id, dimsemessages.C_MOVE_RSP(status = 0xA801, message_id_being_responded_to = move_rq.message_id, affected_sop_class_uid = move_rq.affected_sop_class_uid)) return movedest['called_ae_title'] = move_rq.move_destination move_rq.n_total_suboperations = 0 move_rq.n_complete_suboperations = 0 move_rq.n_failed_suboperations = 0 ds_to_send = [] for f in glob.glob(os.path.join(self.folder, "*.dcm*")): #print f try: ds = dicom.read_file(f) except dicom.filereader.InvalidDicomError, e: log.err(e) continue is_match, result_ds = match_dataset(query, ds) if not is_match: continue move_rq.n_total_suboperations += 1 ds_to_send.append(ds)
def C_FIND_RQ_received(self, presentation_context_id, find_rq, query): log.msg("received %s on presentation context %i" % (find_rq, presentation_context_id)) log.msg("%s" % query) level = getattr(query, "QueryRetrieveLevel", "IMAGE") level_ids_done = set() for f in glob.glob(os.path.join(self.folder, "*.dcm*")): try: ds = dicom.read_file(f) except dicom.filereader.InvalidDicomError, e: log.err(e) continue level_id = get_level_identifier(ds, level) if level_id != None and level_id in level_ids_done: continue level_ids_done.add(level_id) is_match, result_ds = match_dataset(query, ds) if not is_match: continue self.send_DIMSE_command(presentation_context_id, dimsemessages.C_FIND_RSP(status = 0xff00, message_id_being_responded_to = find_rq.message_id, affected_sop_class_uid = find_rq.affected_sop_class_uid, data_set_present = True), result_ds)
def C_FIND_RQ_received(self, presentation_context_id, find_rq, query): log.msg("received %s on presentation context %i" % (find_rq, presentation_context_id)) log.msg("%s" % query) level = getattr(query, "QueryRetrieveLevel", "IMAGE") level_ids_done = set() for f in glob.glob(os.path.join(self.folder, "*.dcm*")): try: ds = dicom.read_file(f) except dicom.filereader.InvalidDicomError, e: log.err(e) continue level_id = get_level_identifier(ds, level) if level_id != None and level_id in level_ids_done: continue level_ids_done.add(level_id) is_match, result_ds = match_dataset(query, ds) if not is_match: continue self.send_DIMSE_command( presentation_context_id, dimsemessages.C_FIND_RSP( status=0xff00, message_id_being_responded_to=find_rq.message_id, affected_sop_class_uid=find_rq.affected_sop_class_uid, data_set_present=True), result_ds)
def C_FIND_RQ_received(self, presentation_context_id, find_rq, query): log.msg("received %s on presentation context %i" % (find_rq, presentation_context_id)) log.msg("%s" % query) for f in glob.glob(os.path.join(self.folder, "*.dcm*")): try: ds = dicom.read_file(f) except dicom.filereader.InvalidDicomError, e: log.err(e) continue is_match, result_ds = match_dataset(query, ds) if not is_match: continue self.send_DIMSE_command(presentation_context_id, dimsemessages.C_FIND_RSP(status = 0xff00, message_id_being_responded_to = find_rq.message_id, affected_sop_class_uid = find_rq.affected_sop_class_uid, data_set_present = True), result_ds)
def C_MOVE_RQ_received(self, presentation_context_id, move_rq, query): log.msg("received %s on presentation context %i" % (move_rq, presentation_context_id)) log.msg("%s" % query) movedest = self.move_destinations.get(move_rq.move_destination) if movedest == None: log.msg("Unknown move destination AE %s." % (move_rq.move_destination, )) self.send_DIMSE_command( presentation_context_id, dimsemessages.C_MOVE_RSP( status=0xA801, message_id_being_responded_to=move_rq.message_id, affected_sop_class_uid=move_rq.affected_sop_class_uid)) return movedest['called_ae_title'] = move_rq.move_destination move_rq.n_total_suboperations = 0 move_rq.n_complete_suboperations = 0 move_rq.n_failed_suboperations = 0 ds_to_send = [] for f in glob.glob(os.path.join(self.folder, "*.dcm*")): #print f try: ds = dicom.read_file(f) except dicom.filereader.InvalidDicomError, e: log.err(e) continue is_match, result_ds = match_dataset(query, ds) if not is_match: continue move_rq.n_total_suboperations += 1 ds_to_send.append(ds)
def C_FIND_RQ_received(self, presentation_context_id, find_rq, query): log.msg("received %s on presentation context %i" % (find_rq, presentation_context_id)) log.msg("%s" % query) for f in glob.glob(os.path.join(self.folder, "*.dcm*")): try: ds = dicom.read_file(f) except dicom.filereader.InvalidDicomError, e: log.err(e) continue is_match, result_ds = match_dataset(query, ds) if not is_match: continue self.send_DIMSE_command( presentation_context_id, dimsemessages.C_FIND_RSP( status=0xff00, message_id_being_responded_to=find_rq.message_id, affected_sop_class_uid=find_rq.affected_sop_class_uid, data_set_present=True), result_ds)