<jupyter_start><jupyter_text>Creating the CandidateGraph Object<jupyter_code>import os
import sys

sys.path.insert(0, os.path.abspath('/data/autocnet'))

from autocnet import CandidateGraph

%pylab inline
figsize(12,4)<jupyter_output>Populating the interactive namespace from numpy and matplotlib<jupyter_text>Which Apollo Pan images?The first question to ask is which images to use.  Without good geospatial information, using 5, ~2GB each, raw images is not practical for a number of reasons (memory constraints, lack of a priori information to constrain the search space, ambiguity in overlap requiring human intervention).  The JP2000 option is attractive (and viable), but image sizes of >6GB are also concerning from a memory perspective.  Therefore, the highest resolution `png` images were selected.  These were then cropped in [GIMP](https://www.gimp.org) to the extent of the valid data.  The scans are not perfectly square resulting in some black border remaining at some corners.  This should not be an issue.<jupyter_code>a = 'AS15-P-0111_CENTER_LRG_CROPPED.png'
b = 'AS15-P-0112_CENTER_LRG_CROPPED.png'

adj = {a:[b],
       b:[a]}

cg = CandidateGraph.from_adjacency(adj)
cg.plot(labels=True)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.07679870654810024, 'fraction_numerical': 0.018593371059013743, 'mean_word_length': 5.585106382978723, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 9, 'https://': 1, 'lorem ipsum': 0, 'www.': 1, '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}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '65983', 'license': 'CC0-1.0', 'n_tokens_mistral': 393, 'n_tokens_neox': 368, 'n_words': 141, 'path': 'docs/users/tutorials/apollopan/1. Creating the CandidateGraph Object.ipynb', 'repo_name': 'gsn9/autocnet', 'size': '1237'}