A method for characterizing a user site with a marker, the method comprising: uploading a user digital image including a marker; filtering a user image to produce a linear image so that linear features in the size range of the marker lines are left and other linear and non-linear features are filtered out; filtering the linear image into an array of pixels using a cellular automata approach; traversing the array of pixels to create a candidate connectivity graph by traversing connected pixels; determining whether the candidate connectivity graph matches a reference connectivity graph by discarding the candidate connectivity graph that do not meet one or more connectivity criteria of the reference connectivity graph, wherein metadata describe one or more reference connectivity graphs that are expected to be seen in a user's digital image, wherein linear components are arranged to form the reference connectivity graph; in response to determining that the candidate graph matches the reference connectivity graph: calculating a marker transform which maps known nodes in the reference connectivity graph to found nodes in the matching graph; using the marker transform to find a plurality of light sampling points in the user image; using the marker transform to find a plurality of dark sampling points in the user image; extrapolating information about the user environment to apply appropriate changes to the user digital image. uploading a user digital image including a marker; filtering a user image to produce a linear image so that linear features in the size range of the marker lines are left and other linear and non-linear features are filtered out; filtering the linear image into an array of pixels using a cellular automata approach; traversing the array of pixels to create a candidate connectivity graph by traversing connected pixels; determining whether the candidate connectivity graph matches a reference connectivity graph by discarding the candidate connectivity graph that do not meet one or more connectivity criteria of the reference connectivity graph, wherein metadata describe one or more reference connectivity graphs that are expected to be seen in a user's digital image, wherein linear components are arranged to form the reference connectivity graph; in response to determining that the candidate graph matches the reference connectivity graph: calculating a marker transform which maps known nodes in the reference connectivity graph to found nodes in the matching graph; using the marker transform to find a plurality of light sampling points in the user image; using the marker transform to find a plurality of dark sampling points in the user image; extrapolating information about the user environment to apply appropriate changes to the user digital image. calculating a marker transform which maps known nodes in the reference connectivity graph to found nodes in the matching graph; using the marker transform to find a plurality of light sampling points in the user image; using the marker transform to find a plurality of dark sampling points in the user image; extrapolating information about the user environment to apply appropriate changes to the user digital image.