Package org.aoju.bus.image.galaxy.io
Class ImageInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
org.aoju.bus.image.galaxy.io.ImageInputStream
- All Implemented Interfaces:
Closeable,AutoCloseable,BulkDataCreator,ImageInputHandler
public class ImageInputStream
extends FilterInputStream
implements ImageInputHandler, BulkDataCreator
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class java.io.FilterInputStream
in -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanvoidclose()voidfinal booleanfinal intReturns the limit of initial allocated memory for element values.final BulkDataDescriptorfinal Filefinal Stringfinal Stringfinal longfinal byte[]longfinal Stringfinal StringgetURI()final booleanbooleanbooleanfinal intlength()final intlevel()voidmark(int readlimit) final intread()final intread(byte[] b) final intread(byte[] b, int off, int len) voidreadAttributes(Attributes attrs, int len, int stopTag) readDataset(int len, int stopTag) voidreadFully(byte[] b) voidreadFully(byte[] b, int off, int len) voidreadFully(short[] s, int off, int len) voidreadItem()booleanbyte[]voidreadValue(ImageInputStream dis, Attributes attrs) voidreadValue(ImageInputStream dis, Fragments frags) voidreadValue(ImageInputStream dis, Sequence seq) voidreset()final voidsetAllocateLimit(int allocateLimit) Sets the limit of initial allocated memory for element values.voidsetBulkDataCreator(BulkDataCreator bulkDataCreator) final voidsetBulkDataDescriptor(BulkDataDescriptor bulkDataDescriptor) final voidsetBulkDataDirectory(File blkDirectory) final voidsetBulkDataFilePrefix(String blkFilePrefix) final voidsetBulkDataFileSuffix(String blkFileSuffix) final voidsetConcatenateBulkDataFiles(boolean catBlkFiles) final voidsetFileMetaInformationGroupLength(byte[] val) final voidsetImageInputHandler(ImageInputHandler handler) final voidsetIncludeBulkData(ImageInputStream.IncludeBulkData includeBulkData) voidsetPosition(long pos) final voidfinal longskip(long n) voidskipFully(long n) voidfinal inttag()static StringtoAttributePath(List<ItemPointer> itemPointers, int tag) final VRvr()Methods inherited from class java.io.FilterInputStream
available, markSupportedMethods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Constructor Details
-
ImageInputStream
- Throws:
IOException
-
ImageInputStream
- Throws:
IOException
-
ImageInputStream
- Throws:
IOException
-
-
Method Details
-
toAttributePath
-
getTransferSyntax
-
getAllocateLimit
public final int getAllocateLimit()Returns the limit of initial allocated memory for element values.By default, the limit is set to 67108864 (64 MiB).
- Returns:
- Limit of initial allocated memory for value or -1 for no limit
- See Also:
-
setAllocateLimit
public final void setAllocateLimit(int allocateLimit) Sets the limit of initial allocated memory for element values. If the value length exceeds the limit, a byte array with the specified size is allocated. If the array can filled with bytes read from this DicomInputStream, the byte array is reallocated with twice the previous length and filled again. That continues until the twice of the previous length exceeds the actual value length. Then the byte array is reallocated with actual value length and filled with the remaining bytes for the value from this DicomInputStream.The rational of the incrementing allocation of byte arrays is to avoid OutOfMemoryErrors on parsing corrupted DICOM streams.
By default, the limit is set to 67108864 (64 MiB).
- Parameters:
allocateLimit- limit of initial allocated memory or -1 for no limit
-
getURI
-
setURI
-
getIncludeBulkData
-
setIncludeBulkData
-
getBulkDataDescriptor
-
setBulkDataDescriptor
-
getBulkDataFilePrefix
-
setBulkDataFilePrefix
-
getBulkDataFileSuffix
-
setBulkDataFileSuffix
-
getBulkDataDirectory
-
setBulkDataDirectory
-
isConcatenateBulkDataFiles
public final boolean isConcatenateBulkDataFiles() -
setConcatenateBulkDataFiles
public final void setConcatenateBulkDataFiles(boolean catBlkFiles) -
getBulkDataFiles
-
setImageInputHandler
-
setBulkDataCreator
-
setFileMetaInformationGroupLength
public final void setFileMetaInformationGroupLength(byte[] val) -
getPreamble
public final byte[] getPreamble() -
getFileMetaInformation
- Throws:
IOException
-
level
public final int level() -
tag
public final int tag() -
vr
-
length
public final int length() -
getPosition
public final long getPosition() -
setPosition
public void setPosition(long pos) -
getTagPosition
public long getTagPosition() -
bigEndian
public final boolean bigEndian() -
explicitVR
public final boolean explicitVR() -
isExcludeBulkData
public boolean isExcludeBulkData() -
isIncludeBulkDataURI
public boolean isIncludeBulkDataURI() -
getAttributePath
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterInputStream- Throws:
IOException
-
mark
public void mark(int readlimit) - Overrides:
markin classFilterInputStream
-
reset
- Overrides:
resetin classFilterInputStream- Throws:
IOException
-
read
- Overrides:
readin classFilterInputStream- Throws:
IOException
-
read
- Overrides:
readin classFilterInputStream- Throws:
IOException
-
read
- Overrides:
readin classFilterInputStream- Throws:
IOException
-
skip
- Overrides:
skipin classFilterInputStream- Throws:
IOException
-
skipFully
- Throws:
IOException
-
readFully
- Throws:
IOException
-
readFully
- Throws:
IOException
-
readFully
- Throws:
IOException
-
readHeader
- Throws:
IOException
-
readItemHeader
- Throws:
IOException
-
readCommand
- Throws:
IOException
-
readDataset
- Throws:
IOException
-
readFileMetaInformation
- Throws:
IOException
-
readAttributes
- Throws:
IOException
-
readValue
- Specified by:
readValuein interfaceImageInputHandler- Throws:
IOException
-
createBulkData
- Specified by:
createBulkDatain interfaceBulkDataCreator- Throws:
IOException
-
readValue
- Specified by:
readValuein interfaceImageInputHandler- Throws:
IOException
-
readValue
- Specified by:
readValuein interfaceImageInputHandler- Throws:
IOException
-
startDataset
- Specified by:
startDatasetin interfaceImageInputHandler
-
endDataset
- Specified by:
endDatasetin interfaceImageInputHandler
-
readItem
- Throws:
IOException
-
readValue
- Throws:
IOException
-