public void Apply(DcmAssociate associate) { foreach (DcmPresContext pc in associate.GetPresentationContexts()) { if (pc.Result == DcmPresContextResult.Proposed) { if (AbstractSyntaxes.Contains(pc.AbstractSyntax.UID)) { IList <DicomTransferSyntax> txs = pc.GetTransfers(); for (int i = 0; i < txs.Count; i++) { if (TransferSyntaxes.Contains(txs[i].UID.UID)) { if (!DicomUID.IsImageStorage(pc.AbstractSyntax) && DicomTransferSyntax.IsImageCompression(txs[i])) { continue; } pc.SetResult(DcmPresContextResult.Accept, txs[i]); break; } } if (pc.Result != DcmPresContextResult.Accept) { pc.SetResult(DcmPresContextResult.RejectTransferSyntaxesNotSupported); } } else { pc.SetResult(DcmPresContextResult.RejectAbstractSyntaxNotSupported); } } } }
public bool Supports(DicomTransferSyntax tx) { return(TransferSyntaxes.Contains(tx.UID.UID)); }