SYMBOL INDEX (45 symbols across 4 files) FILE: decoder.py class JPEGFileReader (line 9) | class JPEGFileReader: method __init__ (line 20) | def __init__(self, filepath): method read_int (line 23) | def read_int(self, size): method read_dc_table (line 34) | def read_dc_table(self): method read_ac_table (line 45) | def read_ac_table(self): method read_blocks_count (line 57) | def read_blocks_count(self): method read_huffman_code (line 60) | def read_huffman_code(self, table): method __read_uint (line 67) | def __read_uint(self, size): method __read_str (line 72) | def __read_str(self, length): method __read_char (line 75) | def __read_char(self): method __int2 (line 78) | def __int2(self, bin_num): function read_image_file (line 82) | def read_image_file(filepath): function zigzag_to_block (line 129) | def zigzag_to_block(zigzag): function dequantize (line 144) | def dequantize(block, component): function idct_2d (line 149) | def idct_2d(image): function main (line 153) | def main(): FILE: encoder.py function quantize (line 11) | def quantize(block, component): function block_to_zigzag (line 16) | def block_to_zigzag(block): function dct_2d (line 20) | def dct_2d(image): function run_length_encode (line 24) | def run_length_encode(arr): function write_to_file (line 54) | def write_to_file(filepath, dc, ac, blocks_count, tables): function main (line 105) | def main(): FILE: huffman.py class HuffmanTree (line 4) | class HuffmanTree: class __Node (line 6) | class __Node: method __init__ (line 7) | def __init__(self, value, freq, left_child, right_child): method init_leaf (line 14) | def init_leaf(self, value, freq): method init_node (line 18) | def init_node(self, left_child, right_child): method is_leaf (line 22) | def is_leaf(self): method __eq__ (line 25) | def __eq__(self, other): method __nq__ (line 30) | def __nq__(self, other): method __lt__ (line 33) | def __lt__(self, other): method __le__ (line 36) | def __le__(self, other): method __gt__ (line 39) | def __gt__(self, other): method __ge__ (line 42) | def __ge__(self, other): method __init__ (line 45) | def __init__(self, arr): method value_to_bitstring_table (line 63) | def value_to_bitstring_table(self): method __create_huffman_table (line 68) | def __create_huffman_table(self): method __calc_freq (line 80) | def __calc_freq(self, arr): FILE: utils.py function load_quantization_table (line 4) | def load_quantization_table(component): function zigzag_points (line 33) | def zigzag_points(rows, cols): function bits_required (line 80) | def bits_required(n): function binstr_flip (line 89) | def binstr_flip(binstr): function uint_to_binstr (line 96) | def uint_to_binstr(number, size): function int_to_binstr (line 100) | def int_to_binstr(n): function flatten (line 110) | def flatten(lst):