Bases: common.models.EmptyModelBase
An algorithm together with the parameters used
if True, this is part of the current set of comparisons
if True, this algorithm is a simple non-algorithm
citation for this algorithm
is this the best parameter setting for this slug?
mean error across all IIW (“Intrinsic Images in the Wild” paper) images
mean runtime across all IIW (“Intrinsic Images in the Wild” paper) images
json-encoded dictionary of the parameters used
Render the parameters as HTML
url-friendly name of the algorithm
counter to keep track of stale jobs; this is only used during scheduling of decompositions. Increment this number to invalidate current tasks.
Bases: common.models.EmptyModelBase
Result of running an intrinisc images algorithm
attributes on this instance corresponding to an error measure
algorithm used
threshold used in the comparison error metric
error of this across all dense comparisons
error of this decomposition from equality
error of this across all comparisons
error of this decomposition from inequality
error of this across all sparse comparisons
sum of error types
number of comparisons used in evaluating all errors
number of comparisons used in evaluating the dense error
number of comparisons used in evaluating the equality error
number of comparisons used in evaluating the inequality error
number of comparisons used in evaluating the dense error
input photograph
algorithm output
time taken to run in seconds
recomputed shading image from the algorithm output
Bases: common.models.EmptyModelBase
A point where we want to say something about relative shading, reflectance, or both, with respect to another point.
returns rgb / sum(rgb). pure black has the same chromaticity as pure white.
Return a dictionary of this model containing just the fields needed for javascript rendering.
returns mean(rgb)
returns the current point in L*a*b*
return the color as a list
at what density was this point sampled (use decimals so we can compare these with exact equality). This is converted to a distance in pixels according to
max(1, int(np.sqrt(cols ** 2 + rows ** 2) * min_separation))
if True: enough users voted this to be opaque (not a mirror and not transparent). if None: not yet known.
method used to set the opaque field (admin, CUBAM, or majority vote)
CUBAM score for the opaque field. higher scores indicate higher probability of being opaque. scores are thresholded at 0.
photo of interest
color at this point: “RRGGBB” in sRGB hex
synthetic ground truth std(diffuse contribution) / mean(diffuse contribution), if known, and if the mean is nonzero.
synthetic ground truth mean(diffuse contribution) / mean(combined pixel contribution), if known. So, for fully diffuse points, this is 1.0, and for fully specular points, this is 0.0.
synthetic ground truth diffuse albedo intensity (mean of reflectance color channels in the diff_col layer) at this point, if known.
Update the opaque field by aggregating user responses and selecting the majority vote. Note that the opaque field is updated periodically with the output of CUBAM, which is a better predictor than majority vote.
x and y are a fraction of width and height
Helper for templates. Return the x pixel coordinate, scaled by height instead of width (i.e. x_aspect = x_original / height)
x and y are a fraction of width and height
Bases: common.models.EmptyModelBase
Pair of points where we want to say something about their relative reflectance. The user must explain which point has a darker reflectance. To maintain unique ordering of points, point1 and point2 must be ordered so that:
point1.y < point2.y if point1.x == point2.x
point1.x < point2.x if point1.x != point2.x
darker: which point is darker
List of all ForeignKey relationships that are accessed during a mturk task. (called by mturk.utils.get_content_model_prefetch)
Return self (helper for templates)
method used to set the darker field (admin, CUBAM, or majority vote)
CUBAM score for final decision
Return the darker score as an int percentage
Return a dictionary of this model containing just the fields needed for javascript rendering.
Return the template path for rendering thumbnails
photo of interest
first point in the comparison. note: point1 and point2 must be from the same photo
True if the luminance of the RGB pixel value at point1 is darker than that of point2
second point in the comparison. note: point1 and point2 must be from the same photo
boolean version of the answer: if True, the darker pixel has a darker reflectance
CUBAM score for reflectance_dd
This is equal to darker == "E". This is used for aggregating votes with CUBAM.
CUBAM score for reflectance_eq
Return the svg path attribute
Return the svg style attribute
Return the expected/true judgement for a given threshold
if synthetic, the ratio (point1/point2) of the intensity of the diff_col channel (diffuse albedo) of the multilayer exr rendering. If the ground truth intensity is 0, then this is not computed.
Bases: common.models.ResultBase
A user’s answer to the comparison
0: guessing, 1: probably, 2: definitely
‘1’: 1 is darker ‘2’: 2 is darker ‘E’: the points are equal
boolean version of the answer: if True, the darker pixel has a darker reflectance
boolean version of the answer: stores whether darker == "E". This is used for aggregating votes with CUBAM.
Bases: common.models.ResultBase
A user’s opinion of a point’s opacity. Note that “opaque” additionally excludes pure mirrors. In BRDF terms, opaque points have only diffuse or glossy reflection components, and no transmission component.
List of all ForeignKey relationships that are accessed during a mturk task. (called by mturk.utils.get_content_model_prefetch)
if True: not a mirror and not transparent. if False: either a mirror or transparent.
point being classified
The zoom level that the user used in the UI when deciding on opaque (1: zoomed out, larger numbers indicate zoomed in further.
Bases: common.models.EmptyModelBase
This holds the different layers of a synthetic image. The final rendered result is stored as an LDR JPG in the photo attribute, and the layers are stored in multilayer_exr. LDR preview thumbnails of each layer are stored in *_thumb.
options for FileField or ImageField instance
small LDR thumbnail of the depth layer
small LDR thumbnail of the diffuse color (albedo) layer
small LDR thumbnail of the diffuse direct light layer
small LDR thumbnail of the diffuse indirect light layer
small LDR thumbnail of the emitter layer
small LDR thumbnail of the environment lighting layer
small LDR thumbnail of the gloss color (albedo) layer
small LDR thumbnail of the gloss direct light layer
small LDR thumbnail of the gloss indirect light layer
md5 hash of the multilayer exr file
decomposition stored as a multi-layer EXR file
small LDR thumbnail of the normal layer
Open all layers from the decomposition as a dictionary See intrinsic.synthetic.open_multilayer_exr for list of arguments
Open a set of layers from the decomposition, returned as a numpy float array (linear space)
final rendered result as an LDR JPG.
name of the artist that modeled the scene
URL where the scene can be found online
small LDR thumbnail of the transparent color layer
small LDR thumbnail of the transparent direct light layer
small LDR thumbnail of the transparent indirect light layer