public boolean containsValue(int tag) { return dcmobj.containsValue(tag); }
/** * Return true if the specified object contains some type of VOI attributes * at the current level (ie window level or VOI LUT sequence) */ public static boolean containsVOIAttributes(DicomObject dobj) { return dobj.containsValue(Tag.WindowCenter) && dobj.containsValue(Tag.WindowWidth) || getLUT(dobj, Tag.VOILUTSequence) != null; }
public static DicomObject getLUT(DicomObject dobj, int sqTag) { DicomObject lut = dobj.getNestedDicomObject(sqTag); if (lut != null) { if (!lut.containsValue(Tag.LUTData)) { log.info("Ignore " + TagUtils.toString(sqTag) + " with missing LUT Data (0028,3006)"); return null; } if (!lut.containsValue(Tag.LUTDescriptor)) { log.info("Ignore " + TagUtils.toString(sqTag) + " with missing LUT Descriptor (0028,3002)"); return null; } } return lut; }
public DicomObject makePatientDirectoryRecord(DicomObject dcmobj) { DicomObject rec = makeRecord(DirectoryRecordType.PATIENT, patientKeys, dcmobj); if (!rec.contains(Tag.PatientName)) { rec.putNull(Tag.PatientName, VR.PN); } if (!rec.containsValue(Tag.PatientID)) { rec.putString(Tag.PatientID, VR.LO, dcmobj .getString(Tag.StudyInstanceUID)); } return rec; }
/** * This updates the metadata with relevant information from the image, such * as the size etc. * * @param metadata * @param image */ public void updateDicomHeader(DicomStreamMetaData metadata, BufferedImage image) { DicomObject dobj = metadata.getDicomObject(); // Assume that if it has bits stored, then everything else is // correct.... if (dobj.containsValue(Tag.BitsStored)) return; int numSamples = image.getColorModel().getNumComponents(); if (numSamples == 4) numSamples = 3; dobj.putInt(Tag.SamplesPerPixel, VR.US, numSamples); int bits = image.getColorModel().getComponentSize(0); int allocated = 8; if (bits > 8) allocated = 16; dobj.putInt(Tag.BitsStored, VR.US, bits); dobj.putInt(Tag.BitsAllocated, VR.US, allocated); dobj.putInt(Tag.Columns, VR.US, image.getWidth()); dobj.putInt(Tag.Rows, VR.US, image.getHeight()); }
int maxPixel = img.getInt(Tag.LargestImagePixelValue); if(img.containsValue(Tag.SmallestImagePixelValue) && img.containsValue(Tag.LargestImagePixelValue) && minPixel != maxPixel ) { minMax = new int[] { minPixel, maxPixel };
private boolean purge(DicomObject rec, int[] purged) throws IOException { boolean purge = !rec.containsValue(Tag.ReferencedFileID); for (DicomObject child = readRecord( rec.getInt(Tag.OffsetOfReferencedLowerLevelDirectoryEntity)); child != null; child = readRecord(child.getInt(Tag.OffsetOfTheNextDirectoryRecord))) { if (child.getInt(Tag.RecordInUseFlag) != INACTIVE) { purge = purge(child, purged) && purge; } } if (purge) { deleteRecord(rec); purged[0]++; } return purge; } }