{'fraction_non_alphanumeric': 0.015418502202643172, 'fraction_numerical': 0.0, 'mean_word_length': 5.057777777777778, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Seed Sets and Search Structures for Optimal Isocontour Extraction

The search for intersected cells in isocontouring can be accelerated using suitable range query data structures, such as the interval tree or segment tree. The storage overhead of such search structures can be significantly reduced by searching over a subset of the cells S, called a seed set, which contains at least one cell per connected component of every isocontour. We present three algorithms for generating seed sets and compare their time complexity and performance in terms of the number of seed cells generated. The first two algorithms are applicable to both regular and irregular grids of arbitrary dimension, while the third is a specialization for regular grids. The first algorithm produces a nearly optimal seed set, minimizing the storage overhead for the search structure. While the second and third algorithms may produce a larger seed set, they are extremely fast, have the advantage of being suitable for extremely large datasets that cannot be kept in main memory (out-of-core computation), and are amenable to parallelization. In each case the resulting seed sets are orders of magnitude smaller than the total number of cells, while the computational complexity remains optimal. We compare the results of the two new algorithms with previous results and recent new work.