geotrellis.data.geotiff

LzwEncoder

abstract class LzwEncoder extends AnyRef

Abstract class to maintain internal LZW encoder state.

This class should be overridden for different bit widths and formats (e.g. 1-bit, 8-bit unsigned, 32-bit floating-point, etc).

Since the LZW algorithm is very stateful this class uses its own mutable state to keep track of things like the string table. It is not intended to be used directly; you should use LzwEncoder.render(...) instead.

Linear Supertypes
AnyRef, Any
Known Subclasses
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. LzwEncoder
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by any2stringfmt
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LzwEncoder(encoder: Encoder)

Abstract Value Members

  1. abstract def handleCell(i: Int): Unit

    Process a single cell of raster data according to LZW.

    Process a single cell of raster data according to LZW.

    This should encode the cell's value appropriately into bytes (taking into account NODATA, sign, etc) and then make one or more handleByte calls.

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ->[B](y: B): (LzwEncoder, B)

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to ArrowAssoc[LzwEncoder] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. def addCode(str: String): Unit

    Add the given string to the string table.

    Add the given string to the string table.

    If the string table fills up, this method will write out omega (as a 12-bit code) and then reset the string table and omega.

  9. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  10. var buffer: Int

  11. var bufpos: Int

  12. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  13. var codeBits: Int

  14. val cols: Int

  15. val data: ArrayRasterData

  16. val dmg: DataOutputStream

  17. def ensuring(cond: (LzwEncoder) ⇒ Boolean, msg: ⇒ Any): LzwEncoder

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to Ensuring[LzwEncoder] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: (LzwEncoder) ⇒ Boolean): LzwEncoder

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to Ensuring[LzwEncoder] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean, msg: ⇒ Any): LzwEncoder

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to Ensuring[LzwEncoder] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. def ensuring(cond: Boolean): LzwEncoder

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to Ensuring[LzwEncoder] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  21. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  22. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  23. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  24. def flushBuffer(): Unit

    Write out all remaining buffered data.

    Write out all remaining buffered data. This will have the effect of possibly padding the last value up to a byte boundary.

  25. def flushByte(b: Byte): Unit

  26. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  27. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  28. def getCode(s: String): Int

    Retrieve the given string from the string table.

    Retrieve the given string from the string table.

    This method will crash if the string can't be found.

  29. def handleByte(k: Int): Unit

    Process a single byte of image data according to LZW.

    Process a single byte of image data according to LZW.

    This is the heart of the LZW algorithm.

  30. def hasCode(s: String): Boolean

    Test if the given string is available in the table.

  31. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  32. val imageStartOffset: Int

  33. def initStringTable(): Unit

    Reinitializes all state related to the string table.

    Reinitializes all state related to the string table. After this happens codes will reset to 258 and being 9-bit.

    It's important to remember to flush the omega variable before calling this method, and also to call it while there is still room in the 12-bit string table (i.e. once 4094 has been added).

  34. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  35. val lengths: Array[Int]

  36. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  37. var nextCode: Int

  38. var nextLimit: Int

  39. final def notify(): Unit

    Definition Classes
    AnyRef
  40. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  41. var offset: Int

  42. val offsets: Array[Int]

  43. var omega: String

  44. def render(): (Array[Int], Array[Int])

  45. val rows: Int

  46. val rowsPerStrip: Int

  47. def setOmega(s: String): Unit

  48. var stringTable: Map[String, Int]

  49. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  50. def toString(): String

    Definition Classes
    AnyRef → Any
  51. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  52. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  53. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  54. def writeCode(code: Int): Unit

    Write a 9-12 bit code to our output.

    Write a 9-12 bit code to our output.

    Due to byte-alignment issues we use a buffering strategy, writing out complete 2 byte "chunks" at a time.

  55. def xyz(o: String): IndexedSeq[Int]

  56. def [B](y: B): (LzwEncoder, B)

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to ArrowAssoc[LzwEncoder] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Shadowed Implict Value Members

  1. val self: Any

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to StringAdd performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (lzwEncoder: StringAdd).self
    Definition Classes
    StringAdd
  2. val self: Any

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to StringFormat performed by method any2stringfmt in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (lzwEncoder: StringFormat).self
    Definition Classes
    StringFormat

Deprecated Value Members

  1. def x: LzwEncoder

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to ArrowAssoc[LzwEncoder] performed by method any2ArrowAssoc in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (lzwEncoder: ArrowAssoc[LzwEncoder]).x
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  2. def x: LzwEncoder

    Implicit information
    This member is added by an implicit conversion from LzwEncoder to Ensuring[LzwEncoder] performed by method any2Ensuring in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (lzwEncoder: Ensuring[LzwEncoder]).x
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from LzwEncoder to StringAdd

Inherited by implicit conversion any2stringfmt from LzwEncoder to StringFormat

Inherited by implicit conversion any2ArrowAssoc from LzwEncoder to ArrowAssoc[LzwEncoder]

Inherited by implicit conversion any2Ensuring from LzwEncoder to Ensuring[LzwEncoder]

Ungrouped