class_docstr: Handle decompression of a compressed data file.
  
  Constructor
  -----------
  
  cache_size : int
      Maximum number of chunks to keep in memory while reading. Every chunk kept in cache
      may take a few dozens of MB in RAM.
  check_after_decompress : bool
      Whether to perform the automatic check after decompression.
class_docstr_tok: ["Handle","decompression","of","a","compressed","data","file",".","Constructor","--","--","--","--","--","-","cache_size",":","int","Maximum","number","of","chunks","to","keep","in","memory","while","reading",".","Every","chunk","kept","in","cache","may","take","a","few","dozens","of","MB","in","RAM",".","check_after_decompress",":","bool","Whether","to","perform","the","automatic","check","after","decompression","."]
docstr: Set the LRU cache size for self.read_chunk().
docstr_tok: ["Set","the","LRU","cache","size","for","self.read_chunk","(",")","."]
code: def set_cache_size(self, cache_size=None):
      """Set the LRU cache size for self.read_chunk()."""
      if cache_size != self.cache_size:
          cache_size = cache_size or self.cache_size
          assert cache_size > 0
          self.read_chunk = lru_cache(maxsize=cache_size)(
              self.read_chunk
          )
          self.cache_size = cache_size
  
imports: import argparse
  import bisect
  from functools import lru_cache
  import hashlib
  import json
  import logging
  import multiprocessing
  from multiprocessing.dummy import Pool
  import os
  import os.path
  from pathlib import Path
  import sys
  from threading import Lock
  import zlib
  from tqdm import tqdm
  import numpy
label_desc: Use image node_id 3 for calling the Reader obj's underlying member method code with example usage: obj.set_cache_size(cache_size) without return types