/******************************************************************************* * Copyright (c) 2016 Weasis Team and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Nicolas Roduit - initial API and implementation *******************************************************************************/ package org.weasis.dicom.codec.macro; import java.util.ArrayList; import java.util.Collection; import org.dcm4che3.data.Attributes; import org.dcm4che3.data.Sequence; import org.dcm4che3.data.Tag; import org.dcm4che3.data.VR; import org.weasis.dicom.codec.utils.DicomMediaUtils; public class SOPInstanceReference extends Module { public SOPInstanceReference(Attributes dcmItems) { super(dcmItems); } public SOPInstanceReference() { super(new Attributes()); } public static Collection<SOPInstanceReference> toSOPInstanceReferenceMacros(Sequence seq) { if (seq == null || seq.isEmpty()) { return null; } ArrayList<SOPInstanceReference> list = new ArrayList<>(seq.size()); for (Attributes attr : seq) { list.add(new SOPInstanceReference(attr)); } return list; } public int[] getReferencedFrameNumber() { return DicomMediaUtils.getIntAyrrayFromDicomElement(dcmItems, Tag.ReferencedFrameNumber, null); } /** * Add frame number references (1 to n). Note: no frame means the entire series. * * @param dicomFrameNumber */ public void setReferencedFrameNumber(int... dicomFrameNumber) { dcmItems.setInt(Tag.ReferencedFrameNumber, VR.IS, dicomFrameNumber); } public String getReferencedSOPInstanceUID() { return dcmItems.getString(Tag.ReferencedSOPInstanceUID); } public void setReferencedSOPInstanceUID(String uid) { dcmItems.setString(Tag.ReferencedSOPInstanceUID, VR.UI, uid); } public String getReferencedSOPClassUID() { return dcmItems.getString(Tag.ReferencedSOPClassUID); } public void setReferencedSOPClassUID(String uid) { dcmItems.setString(Tag.ReferencedSOPClassUID, VR.UI, uid); } }