SYMBOL INDEX (91 symbols across 13 files) FILE: tests/conftest.py class Resources (line 8) | class Resources: method get_image (line 9) | def get_image(self, image: str) -> str: function resources (line 14) | def resources() -> Resources: FILE: tests/test_wfc_adjacency.py function test_adjacency_extraction (line 11) | def test_adjacency_extraction(resources: Resources) -> None: FILE: tests/test_wfc_patterns.py function test_unique_patterns_2d (line 10) | def test_unique_patterns_2d(resources: Resources) -> None: function test_make_pattern_catalog (line 24) | def test_make_pattern_catalog(resources: Resources) -> None: function test_pattern_to_tile (line 39) | def test_pattern_to_tile(resources: Resources) -> None: FILE: tests/test_wfc_solver.py function test_makeWave (line 15) | def test_makeWave() -> None: function test_entropyLocationHeuristic (line 25) | def test_entropyLocationHeuristic() -> None: function test_observe (line 37) | def test_observe() -> None: function test_propagate (line 57) | def test_propagate() -> None: function test_run (line 92) | def test_run() -> None: FILE: tests/test_wfc_tiles.py function test_image_to_tile (line 9) | def test_image_to_tile(resources: Resources) -> None: function test_make_tile_catalog (line 17) | def test_make_tile_catalog(resources: Resources) -> None: FILE: wfc/wfc_adjacency.py function adjacency_extraction (line 8) | def adjacency_extraction( FILE: wfc/wfc_control.py function visualize_tiles (line 50) | def visualize_tiles(unique_tiles, tile_catalog, tile_grid): function visualize_patterns (line 56) | def visualize_patterns(pattern_catalog, tile_catalog, pattern_weights, p... function make_log_stats (line 63) | def make_log_stats() -> Callable[[Dict[str, Any], str], None]: function execute_wfc (line 82) | def execute_wfc( FILE: wfc/wfc_patterns.py function unique_patterns_2d (line 14) | def unique_patterns_2d(agrid: NDArray[np.int64], ksize: int, periodic_in... function unique_patterns_brute_force (line 51) | def unique_patterns_brute_force(grid, size, periodic_input): function make_pattern_catalog (line 74) | def make_pattern_catalog( function identity_grid (line 97) | def identity_grid(grid): function reflect_grid (line 103) | def reflect_grid(grid): function rotate_grid (line 108) | def rotate_grid(grid): function make_pattern_catalog_with_rotations (line 113) | def make_pattern_catalog_with_rotations( function pattern_grid_to_tiles (line 175) | def pattern_grid_to_tiles( FILE: wfc/wfc_solver.py class Contradiction (line 19) | class Contradiction(Exception): class TimedOut (line 25) | class TimedOut(Exception): class StopEarly (line 31) | class StopEarly(Exception): class Solver (line 37) | class Solver: method __init__ (line 40) | def __init__( method is_solved (line 65) | def is_solved(self) -> bool: method solve_next (line 69) | def solve_next( method solve (line 103) | def solve( function makeWave (line 114) | def makeWave(n: int, w: int, h: int, ground: Optional[Iterable[int]] = N... function makeAdj (line 127) | def makeAdj( function makeRandomLocationHeuristic (line 147) | def makeRandomLocationHeuristic(preferences: NDArray[np.floating[Any]]) ... function makeEntropyLocationHeuristic (line 157) | def makeEntropyLocationHeuristic(preferences: NDArray[np.floating[Any]])... function makeAntiEntropyLocationHeuristic (line 171) | def makeAntiEntropyLocationHeuristic( function spiral_transforms (line 187) | def spiral_transforms() -> Iterator[Tuple[int, int]]: function spiral_coords (line 203) | def spiral_coords(x: int, y: int) -> Iterator[Tuple[int, int]]: function fill_with_curve (line 210) | def fill_with_curve(arr: NDArray[np.floating[T]], curve_gen: Iterable[It... function makeSpiralLocationHeuristic (line 227) | def makeSpiralLocationHeuristic(preferences: NDArray[np.floating[Any]]) ... function makeHilbertLocationHeuristic (line 245) | def makeHilbertLocationHeuristic(preferences: NDArray[np.floating[Any]])... function simpleLocationHeuristic (line 263) | def simpleLocationHeuristic(wave: NDArray[np.bool_]) -> Tuple[int, int]: function lexicalLocationHeuristic (line 272) | def lexicalLocationHeuristic(wave: NDArray[np.bool_]) -> Tuple[int, int]: function lexicalPatternHeuristic (line 283) | def lexicalPatternHeuristic(weights: NDArray[np.bool_], wave: NDArray[np... function makeWeightedPatternHeuristic (line 287) | def makeWeightedPatternHeuristic(weights: NDArray[np.floating[Any]]): function makeRarestPatternHeuristic (line 300) | def makeRarestPatternHeuristic(weights: NDArray[np.floating[Any]]) -> Ca... function makeMostCommonPatternHeuristic (line 315) | def makeMostCommonPatternHeuristic( function makeRandomPatternHeuristic (line 331) | def makeRandomPatternHeuristic(weights: NDArray[np.floating[Any]]) -> Ca... function make_global_use_all_patterns (line 348) | def make_global_use_all_patterns() -> Callable[[NDArray[np.bool_]], bool]: function propagate (line 360) | def propagate( function observe (line 425) | def observe( function run (line 436) | def run( FILE: wfc/wfc_tiles.py function image_to_tiles (line 10) | def image_to_tiles(img: NDArray[np.integer], tile_size: int) -> NDArray[... function make_tile_catalog (line 33) | def make_tile_catalog( function tiles_to_images (line 56) | def tiles_to_images(tile_grid, tile_catalog): FILE: wfc/wfc_utilities.py function hash_downto (line 16) | def hash_downto(a: NDArray[np.integer], rank: int, seed: Any=0) -> NDArr... function load_visualizer (line 35) | def load_visualizer(wfc_ns): function find_pattern_center (line 55) | def find_pattern_center(wfc_ns): FILE: wfc/wfc_visualize.py function rgb_to_int (line 23) | def rgb_to_int(rgb_in): function int_to_rgb (line 30) | def int_to_rgb(val): function tile_to_image (line 38) | def tile_to_image(tile, tile_catalog, tile_size, visualize=False): function argmax_unique (line 61) | def argmax_unique(arr, axis): function make_solver_loggers (line 70) | def make_solver_loggers(filename, stats={}): function make_solver_visualizers (line 127) | def make_solver_visualizers( function figure_unified (line 334) | def figure_unified(figure_name_overall, filename, data): function visualize_solver (line 361) | def visualize_solver(wave): function make_figure_solver_image (line 367) | def make_figure_solver_image(plot_title, img): function figure_solver_image (line 379) | def figure_solver_image(filename, plot_title, img): function make_figure_solver_data (line 386) | def make_figure_solver_data(plot_title, data, min_count, max_count, cmap... function figure_solver_data (line 398) | def figure_solver_data(filename, plot_title, data, min_count, max_count,... function figure_wave_patterns (line 405) | def figure_wave_patterns(filename, pattern_left_count, max_count): function tile_grid_to_average (line 419) | def tile_grid_to_average( function tile_grid_to_image (line 459) | def tile_grid_to_image( function figure_list_of_tiles (line 515) | def figure_list_of_tiles(unique_tiles, tile_catalog, output_filename="li... function figure_false_color_tile_grid (line 529) | def figure_false_color_tile_grid(tile_grid, output_filename="./false_col... function figure_tile_grid (line 541) | def figure_tile_grid(tile_grid, tile_catalog, tile_size): function render_pattern (line 545) | def render_pattern(render_pattern, tile_catalog): function figure_pattern_catalog (line 560) | def figure_pattern_catalog( function render_tiles_to_output (line 588) | def render_tiles_to_output( function blit (line 598) | def blit(destination, sprite, upper_left, layer=False, check=False): class InvalidAdjacency (line 631) | class InvalidAdjacency(Exception): function validate_adjacency (line 637) | def validate_adjacency( function figure_adjacencies (line 672) | def figure_adjacencies( FILE: wfc_run.py class RunInstructions (line 14) | class RunInstructions(TypedDict): function string2bool (line 21) | def string2bool(strn: Union[bool, str]) -> bool: function run_default (line 27) | def run_default(run_experiment: str = "simple", samples: str = "samples_... function main (line 329) | def main() -> None: