This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
COUNT(image_id) AS "Total Number of Images"
FROM
(SELECT
DISTINCT log_num,
image_id
FROM
document_images) AS doc_images_table
WHERE
doc_images_table.log_num IN (SELECT log_num FROM significant_logs)
</query>
<view type="table"/>
Total Number of Images
13825
First, let's look at summaries for the number of images users have operated on using ingimp. These are not per session, but the total number of images they have ever operated on using ingimp.
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
COUNT(image_id) AS num_images
FROM
interaction_log,
(SELECT
DISTINCT log_num,
image_id
FROM
document_images) AS doc_images_table
WHERE
interaction_log.log_num = doc_images_table.log_num AND
doc_images_table.log_num IN (SELECT log_num FROM significant_logs)
GROUP BY
interaction_log.user_id
</query>
<view type="hist" caption="Histogram for Number of Images Operated On Per User"/>
Histogram for Number of Images Operated On Per User
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
ROUND(AVG(num_images)) AS "Mean",
ROUND(MEDIAN(num_images)) AS "Median",
ROUND(STDDEV(num_images)) AS "SD",
MIN(num_images) AS "Min",
MAX(num_images) AS "Max",
COUNT(num_images) AS "n"
FROM
(SELECT
COUNT(image_id) AS num_images
FROM
interaction_log,
(SELECT
DISTINCT log_num,
image_id
FROM
document_images) AS doc_images_table
WHERE
interaction_log.log_num = doc_images_table.log_num AND
doc_images_table.log_num IN (SELECT log_num FROM significant_logs)
GROUP BY
interaction_log.user_id
) AS images_per_user_table
</query>
<view type="table" caption="Summary Stats for Number of Images Per User"/>
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
width,
height
FROM
image_sizes_on_close_cache AS image_sizes_on_close
WHERE
image_sizes_on_close.log_num IN (SELECT log_num FROM significant_logs)
</query>
<view type="bihist" caption="Bi-histogram of Image Widths, Heights"/>
Bi-histogram of Image Widths, Heights
And the median image width/height over its lifespan:
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
median(width),
median(height)
FROM
document_images,
gimp_image
WHERE
document_images.log_num = gimp_image.log_num AND
document_images.image_id = gimp_image.image_id AND
document_images.log_num IN (SELECT log_num FROM significant_logs)
GROUP BY
document_images.log_num,
document_images.image_id
</query>
<view type="bihist" caption="Bi-histogram of Median Image Widths, Heights"/>
Bi-histogram of Median Image Widths, Heights
From the bihistogram above, most image widths/heights are less than 5000 pixels in length, so let's cap our output at 5000:
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
width,
height
FROM
image_sizes_on_close_cache AS image_sizes_on_close
WHERE
width < 5000 AND
height < 5000 AND
image_sizes_on_close.log_num IN (SELECT log_num FROM significant_logs)
</query>
<view type="bihist" caption="Bi-histogram of Image Widths, Heights (Capped at 5000 pixels wide/high)"/>
Bi-histogram of Image Widths, Heights (Capped at 5000 pixels wide/high)
And again, considering the image's median width/height over its lifespan, but capped to 5000 pixels:
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
median(width),
median(height)
FROM
document_images,
gimp_image
WHERE
document_images.log_num = gimp_image.log_num AND
document_images.image_id = gimp_image.image_id AND
width < 5000 AND
height < 5000 AND
document_images.log_num IN (SELECT log_num FROM significant_logs)
GROUP BY
document_images.log_num,
document_images.image_id
</query>
<view type="bihist" caption="Bi-histogram of Median Image Widths, Heights (Capped at 5000 pixels wide/high)"/>
Bi-histogram of Median Image Widths, Heights (Capped at 5000 pixels wide/high)
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
mean_width AS "Mean Width",
median_width AS "Median Width",
sd_width AS "SD Width",
min_width AS "Min Width",
max_width AS "Max Width",
mean_height AS "Mean Height",
median_height AS "Median Height",
sd_height AS "SD Height",
min_height AS "Min Height",
max_height AS "Max Height",
n_width AS "n"
FROM
(SELECT
ROUND(AVG(width)) AS mean_width,
ROUND(MEDIAN(width)) AS median_width,
ROUND(STDDEV(width)) AS sd_width,
MIN(width) AS min_width,
MAX(width) AS max_width,
COUNT(width) AS n_width
FROM
image_sizes_on_close_cache AS image_sizes_on_close
WHERE
image_sizes_on_close.log_num IN (SELECT log_num FROM significant_logs)
) AS width_summary_table,
(SELECT
ROUND(AVG(height)) AS mean_height,
ROUND(MEDIAN(height)) AS median_height,
ROUND(STDDEV(height)) AS sd_height,
MIN(height) AS min_height,
MAX(height) AS max_height,
COUNT(height) AS n_height
FROM
image_sizes_on_close_cache AS image_sizes_on_close
WHERE
image_sizes_on_close.log_num IN (SELECT log_num FROM significant_logs)
) AS height_summary_table
</query>
<view type="table" caption="Summary Stats for Image Widths, Heights"/>
Summary Stats for Image Widths, Heights
Mean Width
Median Width
SD Width
Min Width
Max Width
Mean Height
Median Height
SD Height
Min Height
Max Height
n
1015.0
762.0
1263.0
1
38000
851.0
600.0
875.0
1
10000
13434
And again for the median widths/heights of all images:
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
ROUND(AVG(median_width)) AS "Mean Median Width",
ROUND(MEDIAN(median_width)) AS "Median Median Width",
ROUND(STDDEV(median_width)) AS "SD Median Width",
ROUND(MIN(median_width)) AS "Min Median Width",
ROUND(MAX(median_width)) AS "Max Median Width",
ROUND(AVG(median_height)) AS "Mean Median Height",
ROUND(MEDIAN(median_height)) AS "Median Median Height",
ROUND(STDDEV(median_height)) AS "SD Median Height",
ROUND(MIN(median_height)) AS "Min Median Height",
ROUND(MAX(median_height)) AS "Max Median Height",
COUNT(median_width) AS "n"
FROM
(SELECT
MEDIAN(width) AS median_width,
MEDIAN(height) AS median_height
FROM
document_images,
gimp_image
WHERE
document_images.log_num = gimp_image.log_num AND
document_images.image_id = gimp_image.image_id AND
document_images.log_num IN (SELECT log_num FROM significant_logs)
GROUP BY
document_images.log_num,
document_images.image_id
) AS median_summary_table
</query>
<view type="table" caption="Summary Stats for Image Widths, Heights"/>
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
log_date AS "Log Date",
num_layers AS "Number of Layers"
FROM
interaction_log,
image_layer_counts_cache AS image_layer_counts
WHERE
interaction_log.log_num = image_layer_counts.log_num AND
interaction_log.log_num IN (SELECT log_num FROM significant_logs)
</query>
<view type="plot_date" caption="Scatterplot for Number of Layers Per Image As Function of Time"/>
Scatterplot for Number of Layers Per Image As Function of Time
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
num_layers AS "Number of Layers"
FROM
image_layer_counts_cache AS image_layer_counts
WHERE
image_layer_counts.log_num IN (SELECT log_num FROM significant_logs)
</query>
<view type="hist" caption="Histogram for Number of Layers Per Image As Function of Time"/>
Histogram for Number of Layers Per Image As Function of Time
From the data above, we see most images have fewer than 25 layers, so let's cut off the data at 25 layers.
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
log_date AS "Log Date",
num_layers AS "Number of Layers"
FROM
interaction_log,
image_layer_counts_cache AS image_layer_counts
WHERE
interaction_log.log_num = image_layer_counts.log_num AND
num_layers < 25 AND
interaction_log.log_num IN (SELECT log_num FROM significant_logs)
</query>
<view type="plot_date" caption="Scatterplot for Number of Layers Per Image As Function of Time (25 Layer Cutoff)"/>
Scatterplot for Number of Layers Per Image As Function of Time (25 Layer Cutoff)
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
num_layers AS "Number of Layers"
FROM
image_layer_counts_cache AS image_layer_counts
WHERE
num_layers < 25 AND
image_layer_counts.log_num IN (SELECT log_num FROM significant_logs)
</query>
<view type="hist" caption="Histogram for Number of Layers Per Image As Function of Time (25 Layer Cutoff)"/>
Histogram for Number of Layers Per Image As Function of Time (25 Layer Cutoff)
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
num_layers AS "Number of Layers"
FROM
image_layer_counts_cache AS image_layer_counts
WHERE
num_layers < 5 AND
image_layer_counts.log_num IN (SELECT log_num FROM significant_logs)
</query>
<view type="hist" caption="Histogram for Number of Layers Per Image When Closed (5 Layer Cutoff)"/>
Histogram for Number of Layers Per Image When Closed (5 Layer Cutoff)
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
max_layer_num
FROM
(SELECT
MAX(num_layers) AS max_layer_num
FROM
(SELECT
document_images.log_num,
document_images.image_id,
COUNT(layer_id) AS "num_layers"
FROM
document_images,
gimp_layer
WHERE
document_images.log_num = gimp_layer.log_num AND
document_images.image_id = gimp_layer.image_id AND
document_images.log_num IN (SELECT log_num FROM significant_logs)
GROUP BY
document_images.log_num,
document_images.image_id,
gimp_layer.entry_num
) AS num_layers_table
GROUP BY
num_layers_table.log_num,
num_layers_table.image_id
) AS max_layer_table
WHERE
max_layer_num < 5
</query>
<view type="hist" caption="Max Layer Count Histogram Over All Log Files Over Image's Lifespan (Cutoff at 5)"/>
Max Layer Count Histogram Over All Log Files Over Image's Lifespan (Cutoff at 5)
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
ROUND(AVG(num_layers)) AS "Mean",
MEDIAN(num_layers) AS "Median",
ROUND(STDDEV(num_layers)) AS "SD",
MIN(num_layers) AS "Min",
MAX(num_layers) AS "Max",
COUNT(num_layers) AS "n"
FROM
image_layer_counts_cache AS image_layer_counts
WHERE
image_layer_counts.log_num IN (SELECT log_num FROM significant_logs)
</query>
<view type="table" caption="Layer Summary Stats Over All Log Files"/>
Layer Summary Stats Over All Log Files
Mean
Median
SD
Min
Max
n
3.0
1.0
11.0
1
300
13253
And now, the summary stats where we take the maximum layer count for the image, over its lifespan, rather than when it is closed:
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
ROUND(AVG(max_layer_num)) AS "Mean",
MEDIAN(max_layer_num) AS "Median",
ROUND(STDDEV(max_layer_num)) AS "SD",
MIN(max_layer_num) AS "Min",
MAX(max_layer_num) AS "Max",
COUNT(max_layer_num) AS "n"
FROM
(SELECT
MAX(num_layers) AS max_layer_num
FROM
(SELECT
document_images.log_num,
document_images.image_id,
COUNT(layer_id) AS "num_layers"
FROM
document_images,
gimp_layer
WHERE
document_images.log_num = gimp_layer.log_num AND
document_images.image_id = gimp_layer.image_id AND
document_images.log_num IN (SELECT log_num FROM significant_logs)
GROUP BY
document_images.log_num,
document_images.image_id,
gimp_layer.entry_num
) AS num_layers_table
GROUP BY
num_layers_table.log_num,
num_layers_table.image_id
) AS max_layers_table
</query>
<view type="table" caption="Layer Summary Stats Over All Log Files for Max Num Layers Over Image's Lifespan"/>
Layer Summary Stats Over All Log Files for Max Num Layers Over Image's Lifespan
This form gives you a chance to modify the query and quickly see
the results but it does not update the wiki page..
<query>
SELECT
ROUND(AVG(mean_layers)) AS "Mean Mean Layers Per User",
ROUND(MEDIAN(mean_layers)) AS "Median Mean Layers Per User",
ROUND(STDDEV(mean_layers)) AS "SD Mean Layers Per User",
ROUND(AVG(median_layers)) AS "Mean Median Layers Per User",
ROUND(MEDIAN(median_layers)) AS "Median Median Layers Per User",
ROUND(STDDEV(median_layers)) AS "SD Median Layers Per User"
FROM
(SELECT
AVG(num_layers) AS mean_layers,
MEDIAN(num_layers) AS median_layers,
COUNT(num_layers) AS num_images
FROM
interaction_log,
image_layer_counts_cache AS image_layer_counts
WHERE
interaction_log.log_num = image_layer_counts.log_num AND
image_layer_counts.log_num IN (SELECT log_num FROM significant_logs)
GROUP BY
user_id
) AS user_image_count_summary
</query>
<view type="table" caption="Layer Summary Stats Over All Log Files"/>
Looking at the data above, we have data for over 11,000 images at the time of this writing. ingimp users have each worked on 61 images on average, with the median number of images being 21. Amongst these images, they typically have very few layers -- an average of 3, median of 1. Furthermore, they are typically less than 1000 pixels wide and heights less than 900 pixels. So people are not working on overly complex images, nor are they working on very large images (though there are some who do work on fairly large, complex images).