class kqcircuits.masks.multi_face_mask_layout.MultiFaceMaskLayout(layout, name, version, with_grid, face_ids, chips_map=None, extra_face_params=None, mask_layout_type=<class 'kqcircuits.masks.mask_layout.MaskLayout'>, **kwargs)[source]

Bases: object

Class representing multiple mask layouts, corresponding to multiple faces on the same wafer.

This is a helper class to create multiple MaskLayout instances, one for each face, and set the same properties and chips map for each, and a container for the created mask layouts. It also provides add_chips_map that distributes over each containing MaskLayout.add_chips_map.

The usual way to instantiate MultiFaceMaskLayout is through MaskSet.add_multi_face_mask_layout.


List of face ids to include in this mask layout


Dictionary of {face_id: mask_layout} of the individual MaskLayouts contained in this class

Create a multi face mask layout, which can be used to make masks with matching chip maps on multiple faces.

A MaskLayout is created of each face in face_ids. If face_ids is a list, the individual mask layouts all have identical parameters. To specify some parameters differently for each mask layout, supply face_ids as a dictionary {face_ids: extra_params}, where extra_params is a dictionary of arguments passed only to the mask layout for that face id. These override kwargs if they contain the same keys.

By default, bbox_face_ids is set to list(face_ids) for all mask layouts.

  • layout – Layout to use

  • name – name of the mask

  • version – version of the mask

  • with_grid – if True, ground grids are generated

  • face_ids – either a list of face ids to include, or a dictionary of {face_id: extra_params}, where extra_params is a dictionary of keyword arguments to apply only to this mask layout.

  • chips_map – Chips map to use, or None to use an empty chips map.

  • mask_layout_type – optional subclass of MaskLayout to use

  • kwargs – any keyword arguments are passed to all containing mask layouts.

add_chips_map(chips_map, **kwargs)[source]