class_docstr: The :obj:`Layout` class id designed for processing a list of layout elements
  on a page. It stores the layout elements in a list and the related `page_data`,
  and provides handy APIs for processing all the layout elements in batch. `
  
  Args:
      blocks (:obj:`list`):
          A list of layout element blocks
      page_data (Dict, optional):
          A dictionary storing the page (canvas) related information
          like `height`, `width`, etc. It should be passed in as a
          keyword argument to avoid any confusion.
          Defaults to None.
class_docstr_tok: ["The",":","obj",":","`","Layout","`","class","id","designed","for","processing","a","list","of","layout","elements","on","a","page",".","It","stores","the","layout","elements","in","a","list","and","the","related","`","page_data","`",",","and","provides","handy","APIs","for","processing","all","the","layout","elements","in","batch",".","`","Args",":","blocks","(",":","obj",":","`","list","`",")",":","A","list","of","layout","element","blocks","page_data","(","Dict",",","optional",")",":","A","dictionary","storing","the","page","(","canvas",")","related","information","like","`","height","`",",","`","width","`",",","etc",".","It","should","be","passed","in","as","a","keyword","argument","to","avoid","any","confusion",".","Defaults","to","None","."]
code: def __len__(self):
      return len(self._blocks)
  
imports: from typing import List, Union, Dict, Dict, Any, Optional
  from collections.abc import MutableSequence, Iterable
  from copy import copy
  import pandas
  from .base import BaseCoordElement, BaseLayoutElement
  from .layout_elements import Interval, Rectangle, Quadrilateral, TextBlock, ALL_BASECOORD_ELEMENTS, BASECOORD_ELEMENT_NAMEMAP, BASECOORD_ELEMENT_INDEXMAP
label_desc: Use image node_id 5 for calling the Layout obj's underlying member method code with example usage: obj.__len__() and returns: len