/** * Return a DicomStreamMetaData object that includes the DICOM header. <b>WARNING:</b> If this class is used to read * directly from a cache or other location that contains uncorrected data, the DICOM header will have the * uncorrected data as well. That is, assume the DB has some fixes to patient demographics. These will not usually * be applied to the DICOM files directly, so you can get the wrong information from the header. This is not an * issue if you know the DICOM is up to date, or if you use the DB information as authoritative. */ @Override public IIOMetadata getStreamMetadata() throws IOException { return readMetaData(); }
@Override public Attributes getDicomObject() { try { DicomMetaData md = readMetaData(); return md.getAttributes(); } catch (Exception e) { if (LOGGER.isDebugEnabled()) { LOGGER.error("Cannot read DICOM:", e); //$NON-NLS-1$ } else { LOGGER.error(e.getMessage()); } } return null; }
@Override public Iterator<ImageTypeSpecifier> getImageTypes(int frameIndex) throws IOException { readMetaData(); checkIndex(frameIndex); ImageTypeSpecifier imageType = createImageType(bitsStored, dataType, false); return Collections.singletonList(imageType).iterator(); }
@Override public ImageTypeSpecifier getRawImageType(int frameIndex) throws IOException { readMetaData(); checkIndex(frameIndex); return createImageType(bitsStored, dataType, false); }
DicomMetaData md = readMetaData(); Attributes fmi = md.getFileMetaInformation(); Attributes header = md.getAttributes();
readMetaData(); int width = TagD.getTagValue(this, Tag.Columns, Integer.class); int height = TagD.getTagValue(this, Tag.Rows, Integer.class);
Optional<File> orinigal = cache.getOriginalFile(); if (orinigal.isPresent()) { readMetaData(); String syntax = tsuid; boolean rawData = !compressedData || isRLELossless();