Class ErrorCorrection
- java.lang.Object
-
- com.google.zxing.pdf417.decoder.ec.ErrorCorrection
-
public final class ErrorCorrection extends java.lang.Object
PDF417 error correction implementation.
This example is quite useful in understanding the algorithm.
- See Also:
ReedSolomonDecoder
-
-
Constructor Summary
Constructors Constructor Description ErrorCorrection()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
decode(int[] received, int numECCodewords, int[] erasures)
private int[]
findErrorLocations(ModulusPoly errorLocator)
private int[]
findErrorMagnitudes(ModulusPoly errorEvaluator, ModulusPoly errorLocator, int[] errorLocations)
private ModulusPoly[]
runEuclideanAlgorithm(ModulusPoly a, ModulusPoly b, int R)
-
-
-
Field Detail
-
field
private final ModulusGF field
-
-
Method Detail
-
decode
public int decode(int[] received, int numECCodewords, int[] erasures) throws ChecksumException
- Parameters:
received
- received codewordsnumECCodewords
- number of those codewords used for ECerasures
- location of erasures- Returns:
- number of errors
- Throws:
ChecksumException
- if errors cannot be corrected, maybe because of too many errors
-
runEuclideanAlgorithm
private ModulusPoly[] runEuclideanAlgorithm(ModulusPoly a, ModulusPoly b, int R) throws ChecksumException
- Throws:
ChecksumException
-
findErrorLocations
private int[] findErrorLocations(ModulusPoly errorLocator) throws ChecksumException
- Throws:
ChecksumException
-
findErrorMagnitudes
private int[] findErrorMagnitudes(ModulusPoly errorEvaluator, ModulusPoly errorLocator, int[] errorLocations)
-
-