Class OpenCVReader
Depending on whether the file-path is ASCII-encoded or not-ASCII encoded, this occurs via two different implementations.
The non-ASCII method seems to be approximately 4 times slower empirically.
See this Stack Overflow post for more details on the problem/
Note that when reading image metadata only, this is computionally slow, as the entire image must be loaded into memory to determine the width and height. Users are recommended to use another library for this purpose.
However, unlike many other libraries, OpenCV has the advantage of automatically correcting the orientation (to give correct widths and heights) where EXIF rotation information is present - but only for the ASCII-mathod.
- Author:
- Owen Feehan
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
checkMisconfigured
(BeanInstanceMap defaultInstances) Checks that a bean's properties conform to expectations.openFile
(Path path, ExecutionTimeRecorder executionTimeRecorder) Opens a file containing one or more images.Methods inherited from class org.anchoranalysis.image.io.bean.stack.reader.StackReader
readStack
Methods inherited from class org.anchoranalysis.bean.AnchorBean
describeBean, describeChildren, duplicateBean, fields, findFieldsOfClass, getBeanName, getLocalPath, localise, toString
-
Constructor Details
-
OpenCVReader
public OpenCVReader()
-
-
Method Details
-
checkMisconfigured
Description copied from class:AnchorBean
Checks that a bean's properties conform to expectations.- Overrides:
checkMisconfigured
in classAnchorBean<StackReader>
- Parameters:
defaultInstances
- all available default instances if theDefaultInstance
annotation is used- Throws:
BeanMisconfiguredException
- if the bean has not been configured properly as XML
-
openFile
public OpenedImageFile openFile(Path path, ExecutionTimeRecorder executionTimeRecorder) throws ImageIOException Description copied from class:StackReader
Opens a file containing one or more images.This method should run as computationally quicky as possible. Image voxels should not yet be read.
- Specified by:
openFile
in classStackReader
- Parameters:
path
- where the file is located.executionTimeRecorder
- records the execution-times of certain operations.- Returns:
- an interface to the opened file that should be closed when no longer in use.
- Throws:
ImageIOException
- if the file cannot be read.
-