From b84236c9337a2a353d00e510a808a8e6ebd6d0d8 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Thu, 20 Jun 2024 18:02:57 +0000 Subject: [PATCH 01/23] aggregation code copied in but cannot import panoptes_aggregation --- 03_Aggregate_Classifications.ipynb | 351 +++++++++++++++++++++++++++++ 1 file changed, 351 insertions(+) create mode 100644 03_Aggregate_Classifications.ipynb diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb new file mode 100644 index 0000000..24b919a --- /dev/null +++ b/03_Aggregate_Classifications.ipynb @@ -0,0 +1,351 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e3b4daaa-6ff8-467c-8a9b-c56d3e4d9f8b", + "metadata": {}, + "source": [ + "\"Vera \n", + "

Retrieve and Aggregate Zooniverse Output

\n", + "Authors: Becky Nevin, Clare Higgs, and Eric Rosas
\n", + "Contact author: Clare Higgs
\n", + "Last verified to run: 2024-06-20
\n", + "LSST Science Pipelines version: Weekly 2024_04
\n", + "Container size: small or medium
\n", + "Targeted learning level: intermediate" + ] + }, + { + "cell_type": "markdown", + "id": "0f16d57a-9af8-4fc9-bf86-8724024516e6", + "metadata": {}, + "source": [ + "Description: This notebook guides a PI through the process of retrieving classification data from Zooniverse and builds upon Hayley Robert's Aggregation notebook example.

\n", + "Skills: \n", + "

\n", + "LSST Data Products: n/a

\n", + "Packages: rubin.citsci, utils (citsci plotting and display utilities),

\n", + "Credit: Hayley Roberts

\n", + "Get Support: PIs new to DP0 are encouraged to find documentation and resources at dp0-2.lsst.io. Support for this notebook is available and questions are welcome at cscience@lsst.org." + ] + }, + { + "cell_type": "markdown", + "id": "2faa844a-2bd3-41e4-9058-f5ce85c3fc54", + "metadata": {}, + "source": [ + "## 1. Introduction \n", + "This notebook provides an introduction to how to use the ???? and rubin.citsci package to retrieve classifications from Zooniverse and aggregate the results." + ] + }, + { + "cell_type": "markdown", + "id": "1de3b241-4e92-49cd-9148-c6b180dc11d8", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-20T17:44:28.705146Z", + "iopub.status.busy": "2024-06-20T17:44:28.704785Z", + "iopub.status.idle": "2024-06-20T17:44:28.708543Z", + "shell.execute_reply": "2024-06-20T17:44:28.707909Z", + "shell.execute_reply.started": "2024-06-20T17:44:28.705123Z" + } + }, + "source": [ + "### 1.1 Package imports " + ] + }, + { + "cell_type": "markdown", + "id": "59cdc872-8bdf-485b-921f-bb9bd5b597dd", + "metadata": {}, + "source": [ + "#### Install Pipeline Package\n", + "\n", + "First, install the Rubin Citizen Science Pipeline package by doing the following:\n", + "\n", + "1. Open up a New Launcher tab\n", + "2. In the \"Other\" section of the New Launcher tab, click \"Terminal\"\n", + "3. Use `pip` to install the `rubin.citsci` package by entering the following command:\n", + "```\n", + "pip install rubin.citsci\n", + "```\n", + "Note that this package will soon be installed directly on RSP.\n", + "\n", + "If this package is already installed, make sure it is updated:\n", + "```\n", + "pip install --u rubin.citsci\n", + "```\n", + "\n", + "4. Confirm the next cell containing `from rubin.citsci import pipeline` works as expected and does not throw an error\n", + "\n", + "5. Install panoptes_client:\n", + "```\n", + "pip install panoptes_client\n", + "pip install panoptes_aggregation\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e566b7c-4fb3-4195-b68a-39e4dc1a374c", + "metadata": {}, + "outputs": [], + "source": [ + "# this is all from SLSN_batch_aggregation.py\n", + "# found here - \n", + "# https://github.com/astrohayley/SLSN-Aggregation-Example/blob/main/SLSN_batch_aggregation.py" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-20T17:58:18.462209Z", + "iopub.status.busy": "2024-06-20T17:58:18.461997Z", + "iopub.status.idle": "2024-06-20T17:58:19.960672Z", + "shell.execute_reply": "2024-06-20T17:58:19.959847Z", + "shell.execute_reply.started": "2024-06-20T17:58:18.462195Z" + } + }, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'panoptes_aggregation'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[1], line 10\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;66;03m# Zooniverse tools\u001b[39;00m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpanoptes_client\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Panoptes, Workflow\n\u001b[0;32m---> 10\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpanoptes_aggregation\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mextractors\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutilities\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m annotation_by_task\n\u001b[1;32m 11\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpanoptes_aggregation\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mextractors\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m question_extractor\n\u001b[1;32m 12\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpanoptes_aggregation\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mreducers\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m question_consensus_reducer\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'panoptes_aggregation'" + ] + } + ], + "source": [ + "# basics\n", + "import numpy as np\n", + "import pandas as pd\n", + "import getpass\n", + "import json\n", + "import os\n", + "\n", + "# Zooniverse tools\n", + "from panoptes_client import Panoptes, Workflow\n", + "from panoptes_aggregation.extractors.utilities import annotation_by_task\n", + "from panoptes_aggregation.extractors import question_extractor\n", + "from panoptes_aggregation.reducers import question_consensus_reducer\n", + "\n", + "\n", + "\n", + "def download_classifications(WORKFLOW_ID, client):\n", + " \"\"\"\n", + " Downloads data from Zooniverse\n", + "\n", + " Args:\n", + " WORKFLOW_ID (int): Workflow ID of workflow being aggregated\n", + " client: Logged in Zooniverse client\n", + "\n", + " Returns:\n", + " classification_data (DataFrame): Raw classifications from Zooniverse\n", + " \"\"\"\n", + "\n", + " workflow = Workflow(WORKFLOW_ID)\n", + "\n", + " # generate the classifications \n", + " with client:\n", + " classification_export = workflow.get_export('classifications', generate=True, wait=True)\n", + " classification_rows = [row for row in tqdm(classification_export.csv_dictreader())]\n", + "\n", + " # convert to pandas dataframe\n", + " classification_data = pd.DataFrame.from_dict(classification_rows)\n", + "\n", + " return classification_data\n", + "\n", + "\n", + "\n", + "def extract_data(classification_data):\n", + " \"\"\"\n", + " Extracts annotations from the classification data\n", + "\n", + " Args:\n", + " classification_data (DataFrame): Raw classifications from Zooniverse\n", + "\n", + " Returns:\n", + " extracted_data (DataFrame): Extracted annotations from raw classification data\n", + " \"\"\"\n", + " # set up our list where we will store the extracted data temporarily\n", + " extracted_rows = []\n", + "\n", + " # iterate through our classification data\n", + " for i in range(len(classification_data)):\n", + "\n", + " # access the specific row and extract the annotations\n", + " row = classification_data.iloc[i]\n", + " for annotation in json.loads(row.annotations):\n", + "\n", + " row_annotation = annotation_by_task({'annotations': [annotation]})\n", + " extract = question_extractor(row_annotation)\n", + "\n", + " # add the extracted annotations to our temporary list along with some other additional data\n", + " extracted_rows.append({\n", + " 'classification_id': row.classification_id,\n", + " 'subject_id': row.subject_ids,\n", + " 'user_name': row.user_name,\n", + " 'user_id': row.user_id,\n", + " 'created_at': row.created_at,\n", + " 'data': json.dumps(extract),\n", + " 'task': annotation['task']\n", + " })\n", + "\n", + "\n", + " # convert the extracted data to a pandas dataframe and sort\n", + " extracted_data = pd.DataFrame.from_dict(extracted_rows)\n", + " extracted_data.sort_values(['subject_id', 'created_at'], inplace=True)\n", + "\n", + " return extracted_data\n", + "\n", + "\n", + "\n", + "def last_filter(data):\n", + " \"\"\"\n", + " Determines the most recently submitted classifications\n", + " \"\"\"\n", + " last_time = data.created_at.max()\n", + " ldx = data.created_at == last_time\n", + " return data[ldx]\n", + "\n", + "\n", + "def aggregate_data(extracted_data):\n", + " \"\"\"\n", + " Aggregates question data from extracted annotations\n", + "\n", + " Args:\n", + " extracted_data (DataFrame): Extracted annotations from raw classifications\n", + "\n", + " Returns:\n", + " aggregated_data (DataFrame): Aggregated data for the given workflow\n", + " \"\"\"\n", + " # generate an array of unique subject ids - these are the ones that we will iterate over\n", + " subject_ids_unique = np.unique(extracted_data.subject_id)\n", + "\n", + " # set up a temporary list to store reduced data\n", + " aggregated_rows = []\n", + "\n", + " # determine the total number of tasks\n", + " tasks = np.unique(extracted_data.task)\n", + "\n", + " # iterating over each unique subject id\n", + " for i in range(len(subject_ids_unique)):\n", + "\n", + " # determine the subject_id to work on\n", + " subject_id = subject_ids_unique[i]\n", + "\n", + " # filter the extract_data dataframe for only the subject_id that is being worked on\n", + " extract_data_subject = extracted_data[extracted_data.subject_id==subject_id].drop_duplicates()\n", + "\n", + " for task in tasks:\n", + "\n", + " extract_data_filtered = extract_data_subject[extract_data_subject.task == task]\n", + "\n", + " # if there are less unique user submissions than classifications, filter for the most recently updated classification\n", + " if (len(extract_data_filtered.user_name.unique()) < len(extract_data_filtered)):\n", + " extract_data_filtered = extract_data_filtered.groupby(['user_name'], group_keys=False).apply(last_filter)\n", + "\n", + " # iterate through the filtered extract data to prepare for the reducer\n", + " classifications_to_reduce = [json.loads(extract_data_filtered.iloc[j].data) for j in range(len(extract_data_filtered))]\n", + "\n", + " # use the Zooniverse question_consesus_reducer to get the final consensus\n", + " reduction = question_consensus_reducer(classifications_to_reduce)\n", + "\n", + " # add the subject id to our reduction data\n", + " reduction['subject_id'] = subject_id\n", + " reduction['task'] = task\n", + "\n", + " # add the data to our temporary list\n", + " aggregated_rows.append(reduction)\n", + "\n", + "\n", + " # converting the result to a dataframe\n", + " aggregated_data = pd.DataFrame.from_dict(aggregated_rows)\n", + "\n", + " # drop rows that are nan\n", + " aggregated_data.dropna(inplace=True)\n", + "\n", + " return aggregated_data\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "def batch_aggregation(generate_new_classifications=False, WORKFLOW_ID=13193): \n", + " \"\"\"\n", + " Downloads raw classifications, extracts annotations, and aggregates data\n", + "\n", + " Args:\n", + " WORKFLOW_ID (int): Workflow ID of workflow being aggregated\n", + " client: Logged in Zooniverse client\n", + "\n", + " Returns:\n", + " aggregated_data (DataFrame): Aggregated data for the given workflow\n", + " \"\"\"\n", + "\n", + " if generate_new_classifications:\n", + " # connect to client and download data\n", + " print('Sign in to zooniverse.org:')\n", + " client = Panoptes.client(username=getpass.getpass('username: '), password=getpass.getpass('password: '))\n", + " print('Generating classification data - could take some time')\n", + " classification_data = get_data_from_zooniverse(WORKFLOW_ID=WORKFLOW_ID, client=client)\n", + " print('Saving classifications')\n", + " classification_data.to_csv('superluminous-supernovae-classifications.csv', index=False)\n", + " else:\n", + " # or just open the file\n", + " print('Loading classifications')\n", + " classification_data = pd.read_csv('superluminous-supernovae-classifications.csv')\n", + "\n", + " # limit classifications to those for the relevant workflow\n", + " classification_data = classification_data[classification_data.workflow_id==WORKFLOW_ID]\n", + "\n", + " # extract annotations\n", + " print('Extracting annotations')\n", + " extracted_data = extract_data(classification_data=classification_data)\n", + "\n", + " # aggregate annotations\n", + " print('Aggregating data')\n", + " final_data = aggregate_data(extracted_data=extracted_data)\n", + "\n", + " return final_data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "LSST", + "language": "python", + "name": "lsst" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From dc8e4f6a9e6ff41bd18326ab23a38971b70d861e Mon Sep 17 00:00:00 2001 From: beckynevin Date: Wed, 26 Jun 2024 17:22:38 +0000 Subject: [PATCH 02/23] now importing panoptes_aggregation from github --- 03_Aggregate_Classifications.ipynb | 155 ++++++++++++++++++++++++----- 1 file changed, 130 insertions(+), 25 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 24b919a..ae4fbc4 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -82,14 +82,28 @@ "```\n", "pip install panoptes_client\n", "pip install panoptes_aggregation\n", - "```" + "```\n", + "\n", + "6. If the pip install doesn't work for `panoptes_aggregation`:\n", + "```\n", + "pip install -U git+git://github.com/zooniverse/aggregation-for-caesar.git\n", + "```\n", + "(https://www.zooniverse.org/talk/1322/2415041?comment=3969837&page=1)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "8e566b7c-4fb3-4195-b68a-39e4dc1a374c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-26T15:59:18.552714Z", + "iopub.status.busy": "2024-06-26T15:59:18.552037Z", + "iopub.status.idle": "2024-06-26T15:59:18.555662Z", + "shell.execute_reply": "2024-06-26T15:59:18.555044Z", + "shell.execute_reply.started": "2024-06-26T15:59:18.552685Z" + } + }, "outputs": [], "source": [ "# this is all from SLSN_batch_aggregation.py\n", @@ -99,30 +113,18 @@ }, { "cell_type": "code", - "execution_count": 1, - "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", + "execution_count": 10, + "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-06-20T17:58:18.462209Z", - "iopub.status.busy": "2024-06-20T17:58:18.461997Z", - "iopub.status.idle": "2024-06-20T17:58:19.960672Z", - "shell.execute_reply": "2024-06-20T17:58:19.959847Z", - "shell.execute_reply.started": "2024-06-20T17:58:18.462195Z" + "iopub.execute_input": "2024-06-26T17:21:53.348628Z", + "iopub.status.busy": "2024-06-26T17:21:53.347925Z", + "iopub.status.idle": "2024-06-26T17:21:53.351769Z", + "shell.execute_reply": "2024-06-26T17:21:53.351294Z", + "shell.execute_reply.started": "2024-06-26T17:21:53.348601Z" } }, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'panoptes_aggregation'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[1], line 10\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;66;03m# Zooniverse tools\u001b[39;00m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpanoptes_client\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Panoptes, Workflow\n\u001b[0;32m---> 10\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpanoptes_aggregation\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mextractors\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutilities\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m annotation_by_task\n\u001b[1;32m 11\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpanoptes_aggregation\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mextractors\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m question_extractor\n\u001b[1;32m 12\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpanoptes_aggregation\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mreducers\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m question_consensus_reducer\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'panoptes_aggregation'" - ] - } - ], + "outputs": [], "source": [ "# basics\n", "import numpy as np\n", @@ -137,8 +139,24 @@ "from panoptes_aggregation.extractors import question_extractor\n", "from panoptes_aggregation.reducers import question_consensus_reducer\n", "\n", - "\n", - "\n", + "import tqdm" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-26T17:21:58.424257Z", + "iopub.status.busy": "2024-06-26T17:21:58.423978Z", + "iopub.status.idle": "2024-06-26T17:21:58.435053Z", + "shell.execute_reply": "2024-06-26T17:21:58.434558Z", + "shell.execute_reply.started": "2024-06-26T17:21:58.424237Z" + } + }, + "outputs": [], + "source": [ "def download_classifications(WORKFLOW_ID, client):\n", " \"\"\"\n", " Downloads data from Zooniverse\n", @@ -318,10 +336,97 @@ " return final_data" ] }, + { + "cell_type": "code", + "execution_count": 5, + "id": "bc18305d-acb6-4bc7-9f39-74feb1e7d197", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-26T17:19:47.071064Z", + "iopub.status.busy": "2024-06-26T17:19:47.070751Z", + "iopub.status.idle": "2024-06-26T17:19:47.516588Z", + "shell.execute_reply": "2024-06-26T17:19:47.515995Z", + "shell.execute_reply.started": "2024-06-26T17:19:47.071043Z" + } + }, + "outputs": [], + "source": [ + "from rubin.citsci import pipeline" + ] + }, { "cell_type": "code", "execution_count": null, + "id": "dadd85aa-7590-460f-800d-873814d6e50c", + "metadata": { + "execution": { + "execution_failed": "2024-06-26T17:22:05.406Z", + "iopub.execute_input": "2024-06-26T17:22:00.225613Z", + "iopub.status.busy": "2024-06-26T17:22:00.224837Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading and running utilities to establish a link with Zooniverse\n", + "Enter your Zooniverse username followed by password below\n", + "WARNING! : You currently have v0.4.3 of this package installed, but v0.5.0 is available.\n", + "To install the latest version, open up a terminal tab and run the following command:\n", + " pip install --upgrade --force-reinstall rubin.citsci\n", + "After the upgrade installation has finished, please restart the kernel for the changes to take effect.\n", + "Enter your Zooniverse credentials...\n" + ] + } + ], + "source": [ + "email = \"beckynevin@gmail.com\"\n", + "slug_name = \"rebecca-dot-nevin/test-project\"\n", + "print(\"Loading and running utilities to establish a link with Zooniverse\")\n", + "print(\"Enter your Zooniverse username followed by password below\")\n", + "cit_sci_pipeline = pipeline.CitSciPipeline()\n", + "cit_sci_pipeline.login_to_zooniverse(slug_name, email)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-26T17:21:34.529530Z", + "iopub.status.busy": "2024-06-26T17:21:34.528860Z", + "iopub.status.idle": "2024-06-26T17:21:37.110334Z", + "shell.execute_reply": "2024-06-26T17:21:37.109437Z", + "shell.execute_reply.started": "2024-06-26T17:21:34.529501Z" + } + }, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'tqdm' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[9], line 4\u001b[0m\n\u001b[1;32m 2\u001b[0m WORKFLOW_ID \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m23254\u001b[39m\n\u001b[1;32m 3\u001b[0m client \u001b[38;5;241m=\u001b[39m cit_sci_pipeline\u001b[38;5;241m.\u001b[39mclient\n\u001b[0;32m----> 4\u001b[0m \u001b[43mdownload_classifications\u001b[49m\u001b[43m(\u001b[49m\u001b[43mWORKFLOW_ID\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mclient\u001b[49m\u001b[43m)\u001b[49m\n", + "Cell \u001b[0;32mIn[3], line 18\u001b[0m, in \u001b[0;36mdownload_classifications\u001b[0;34m(WORKFLOW_ID, client)\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m client:\n\u001b[1;32m 17\u001b[0m classification_export \u001b[38;5;241m=\u001b[39m workflow\u001b[38;5;241m.\u001b[39mget_export(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mclassifications\u001b[39m\u001b[38;5;124m'\u001b[39m, generate\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m, wait\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[0;32m---> 18\u001b[0m classification_rows \u001b[38;5;241m=\u001b[39m [row \u001b[38;5;28;01mfor\u001b[39;00m row \u001b[38;5;129;01min\u001b[39;00m \u001b[43mtqdm\u001b[49m(classification_export\u001b[38;5;241m.\u001b[39mcsv_dictreader())]\n\u001b[1;32m 20\u001b[0m \u001b[38;5;66;03m# convert to pandas dataframe\u001b[39;00m\n\u001b[1;32m 21\u001b[0m classification_data \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mDataFrame\u001b[38;5;241m.\u001b[39mfrom_dict(classification_rows)\n", + "\u001b[0;31mNameError\u001b[0m: name 'tqdm' is not defined" + ] + } + ], + "source": [ + "#project_id = 19539\n", + "WORKFLOW_ID = 23254\n", + "client = cit_sci_pipeline.client\n", + "download_classifications(WORKFLOW_ID, client)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": {}, "outputs": [], "source": [] From db40ff862c899fba2404b0b1649e3062e38199d9 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Mon, 1 Jul 2024 18:25:34 +0000 Subject: [PATCH 03/23] adding our function to retrieve for comparison purposes --- 03_Aggregate_Classifications.ipynb | 788 +++++++++++++++++++++++++++-- 1 file changed, 741 insertions(+), 47 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index ae4fbc4..edc1dcb 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -93,17 +93,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "8e566b7c-4fb3-4195-b68a-39e4dc1a374c", - "metadata": { - "execution": { - "iopub.execute_input": "2024-06-26T15:59:18.552714Z", - "iopub.status.busy": "2024-06-26T15:59:18.552037Z", - "iopub.status.idle": "2024-06-26T15:59:18.555662Z", - "shell.execute_reply": "2024-06-26T15:59:18.555044Z", - "shell.execute_reply.started": "2024-06-26T15:59:18.552685Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "# this is all from SLSN_batch_aggregation.py\n", @@ -113,15 +105,15 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-06-26T17:21:53.348628Z", - "iopub.status.busy": "2024-06-26T17:21:53.347925Z", - "iopub.status.idle": "2024-06-26T17:21:53.351769Z", - "shell.execute_reply": "2024-06-26T17:21:53.351294Z", - "shell.execute_reply.started": "2024-06-26T17:21:53.348601Z" + "iopub.execute_input": "2024-07-01T17:59:26.840441Z", + "iopub.status.busy": "2024-07-01T17:59:26.839623Z", + "iopub.status.idle": "2024-07-01T17:59:26.843873Z", + "shell.execute_reply": "2024-07-01T17:59:26.843312Z", + "shell.execute_reply.started": "2024-07-01T17:59:26.840413Z" } }, "outputs": [], @@ -144,15 +136,15 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 24, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-06-26T17:21:58.424257Z", - "iopub.status.busy": "2024-06-26T17:21:58.423978Z", - "iopub.status.idle": "2024-06-26T17:21:58.435053Z", - "shell.execute_reply": "2024-06-26T17:21:58.434558Z", - "shell.execute_reply.started": "2024-06-26T17:21:58.424237Z" + "iopub.execute_input": "2024-07-01T18:20:38.535691Z", + "iopub.status.busy": "2024-07-01T18:20:38.535388Z", + "iopub.status.idle": "2024-07-01T18:20:38.547693Z", + "shell.execute_reply": "2024-07-01T18:20:38.547133Z", + "shell.execute_reply.started": "2024-07-01T18:20:38.535671Z" } }, "outputs": [], @@ -173,7 +165,8 @@ "\n", " # generate the classifications \n", " with client:\n", - " classification_export = workflow.get_export('classifications', generate=True, wait=True)\n", + " classification_export = workflow.get_export('classifications', generate=True, wait=False)\n", + " print('export', classification_export)\n", " classification_rows = [row for row in tqdm(classification_export.csv_dictreader())]\n", "\n", " # convert to pandas dataframe\n", @@ -338,15 +331,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "id": "bc18305d-acb6-4bc7-9f39-74feb1e7d197", "metadata": { "execution": { - "iopub.execute_input": "2024-06-26T17:19:47.071064Z", - "iopub.status.busy": "2024-06-26T17:19:47.070751Z", - "iopub.status.idle": "2024-06-26T17:19:47.516588Z", - "shell.execute_reply": "2024-06-26T17:19:47.515995Z", - "shell.execute_reply.started": "2024-06-26T17:19:47.071043Z" + "iopub.execute_input": "2024-06-26T18:06:55.376766Z", + "iopub.status.busy": "2024-06-26T18:06:55.376460Z", + "iopub.status.idle": "2024-06-26T18:06:55.581644Z", + "shell.execute_reply": "2024-06-26T18:06:55.581048Z", + "shell.execute_reply.started": "2024-06-26T18:06:55.376751Z" } }, "outputs": [], @@ -356,13 +349,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "dadd85aa-7590-460f-800d-873814d6e50c", "metadata": { "execution": { - "execution_failed": "2024-06-26T17:22:05.406Z", - "iopub.execute_input": "2024-06-26T17:22:00.225613Z", - "iopub.status.busy": "2024-06-26T17:22:00.224837Z" + "iopub.execute_input": "2024-06-26T18:09:18.838216Z", + "iopub.status.busy": "2024-06-26T18:09:18.837541Z", + "iopub.status.idle": "2024-06-26T18:09:27.430050Z", + "shell.execute_reply": "2024-06-26T18:09:27.429041Z", + "shell.execute_reply.started": "2024-06-26T18:09:18.838193Z" } }, "outputs": [ @@ -378,6 +373,21 @@ "After the upgrade installation has finished, please restart the kernel for the changes to take effect.\n", "Enter your Zooniverse credentials...\n" ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Username: rebecca.nevin\n", + " ········\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You now are logged in to the Zooniverse platform.\n" + ] } ], "source": [ @@ -389,44 +399,728 @@ "cit_sci_pipeline.login_to_zooniverse(slug_name, email)" ] }, + { + "cell_type": "markdown", + "id": "234ff23f-b321-4277-a28e-6a2f33e28b1a", + "metadata": {}, + "source": [ + "## Download the classifications\n", + "These will still be in the raw format. This function reads from the output csv and puts all rows into a dataframe format." + ] + }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-06-26T17:21:34.529530Z", - "iopub.status.busy": "2024-06-26T17:21:34.528860Z", - "iopub.status.idle": "2024-06-26T17:21:37.110334Z", - "shell.execute_reply": "2024-06-26T17:21:37.109437Z", - "shell.execute_reply.started": "2024-06-26T17:21:34.529501Z" + "iopub.execute_input": "2024-07-01T18:20:41.388861Z", + "iopub.status.busy": "2024-07-01T18:20:41.388060Z" + } + }, + "outputs": [], + "source": [ + "#project_id = 19539\n", + "WORKFLOW_ID = 23254\n", + "client = cit_sci_pipeline.client\n", + "# how long should this take?\n", + "classification_data = download_classifications(WORKFLOW_ID, client)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "87efe634-b609-483f-b3d3-49f7623fc565", + "metadata": {}, + "outputs": [], + "source": [ + "classification_data" + ] + }, + { + "cell_type": "markdown", + "id": "752ffc94-31c5-44fe-9cc9-0d04ded0e759", + "metadata": {}, + "source": [ + "Test to see if the above is the same as what we already have (below):" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "641b4197-a8db-49da-b317-6ddab4e0cc88", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-01T18:18:04.120837Z", + "iopub.status.busy": "2024-07-01T18:18:04.120087Z", + "iopub.status.idle": "2024-07-01T18:18:04.124615Z", + "shell.execute_reply": "2024-07-01T18:18:04.124097Z", + "shell.execute_reply.started": "2024-07-01T18:18:04.120807Z" + } + }, + "outputs": [], + "source": [ + "# again, this is from the citsci package\n", + "def retrieve_data(self, project_id):\n", + " \"\"\"\n", + " Given a project ID of a project that contains a completed workflow with \n", + " data that has been classified, this method will request the classified/\n", + " completed data and download it if it is available.\n", + " \"\"\"\n", + "\n", + " classification_export = panoptes_client.Project(project_id).get_export(\n", + " \"classifications\"\n", + " )\n", + " list_rows = []\n", + "\n", + " for row in classification_export.csv_reader():\n", + " list_rows.append(row)\n", + "\n", + " return list_rows\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "b0184a6f-05bc-4672-99d1-df60cd2bf646", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-01T18:19:09.508108Z", + "iopub.status.busy": "2024-07-01T18:19:09.507314Z", + "iopub.status.idle": "2024-07-01T18:19:09.960699Z", + "shell.execute_reply": "2024-07-01T18:19:09.959992Z", + "shell.execute_reply.started": "2024-07-01T18:19:09.508077Z" + } + }, + "outputs": [], + "source": [ + "project_id = 19539\n", + "raw_clas_data = cit_sci_pipeline.retrieve_data(project_id)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "fcae42f9-2288-4575-b919-fa1a9a68114d", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-01T18:19:16.420063Z", + "iopub.status.busy": "2024-07-01T18:19:16.419210Z", + "iopub.status.idle": "2024-07-01T18:19:16.427361Z", + "shell.execute_reply": "2024-07-01T18:19:16.426745Z", + "shell.execute_reply.started": "2024-07-01T18:19:16.420036Z" } }, "outputs": [ + { + "data": { + "text/plain": [ + "[['classification_id',\n", + " 'user_name',\n", + " 'user_id',\n", + " 'user_ip',\n", + " 'workflow_id',\n", + " 'workflow_name',\n", + " 'workflow_version',\n", + " 'created_at',\n", + " 'gold_standard',\n", + " 'expert',\n", + " 'metadata',\n", + " 'annotations',\n", + " 'subject_data',\n", + " 'subject_ids'],\n", + " ['460251424',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:18 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:13.704Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:18.588Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428507\":{\"retired\":null}}',\n", + " '83428507'],\n", + " ['460251464',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:27 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:21.335Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:27.204Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428528\":{\"retired\":null}}',\n", + " '83428528'],\n", + " ['460251470',\n", + " 'sreevani',\n", + " '1672374',\n", + " '7a7b641fa98e42d34bde',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:29 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:16.468Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:26.365Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428673\":{\"retired\":null}}',\n", + " '83428673'],\n", + " ['460251475',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:30 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:27.887Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:29.954Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428522\":{\"retired\":null}}',\n", + " '83428522'],\n", + " ['460251484',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:32 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:30.822Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:32.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428624\":{\"retired\":null}}',\n", + " '83428624'],\n", + " ['460251498',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:34 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:33.052Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:34.761Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428488\":{\"retired\":null}}',\n", + " '83428488'],\n", + " ['460251507',\n", + " 'sreevani',\n", + " '1672374',\n", + " '7a7b641fa98e42d34bde',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:36 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:27.921Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:34.353Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428610\":{\"retired\":null}}',\n", + " '83428610'],\n", + " ['460251508',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:37 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:35.471Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:36.910Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428619\":{\"retired\":null}}',\n", + " '83428619'],\n", + " ['460251529',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:40 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:37.581Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:40.143Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428583\":{\"retired\":null}}',\n", + " '83428583'],\n", + " ['460251542',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:42 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:40.936Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:42.417Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428592\":{\"retired\":null}}',\n", + " '83428592'],\n", + " ['460251551',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:44 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:43.063Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:44.428Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428578\":{\"retired\":null}}',\n", + " '83428578'],\n", + " ['460251562',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:47 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:45.408Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:46.930Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428626\":{\"retired\":null}}',\n", + " '83428626'],\n", + " ['460251572',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:49 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:47.510Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:49.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428649\":{\"retired\":null}}',\n", + " '83428649'],\n", + " ['460251578',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:51 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:49.696Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:51.089Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428516\":{\"retired\":null}}',\n", + " '83428516'],\n", + " ['460251586',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:53 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:51.718Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:53.488Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428615\":{\"retired\":null}}',\n", + " '83428615'],\n", + " ['460251591',\n", + " 'sreevani',\n", + " '1672374',\n", + " '7a7b641fa98e42d34bde',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:09:54 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:36.103Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:52.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428676\":{\"retired\":null}}',\n", + " '83428676'],\n", + " ['460251628',\n", + " 'sreevani',\n", + " '1672374',\n", + " '7a7b641fa98e42d34bde',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:10:03 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:52.946Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:00.426Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428515\":{\"retired\":null}}',\n", + " '83428515'],\n", + " ['460251730',\n", + " 'sreevani',\n", + " '1672374',\n", + " '7a7b641fa98e42d34bde',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:10:34 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:01.271Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:32.520Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428561\":{\"retired\":null}}',\n", + " '83428561'],\n", + " ['460252017',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:12:10 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:54.135Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:09.902Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428608\":{\"retired\":null}}',\n", + " '83428608'],\n", + " ['460252026',\n", + " 'sreevani',\n", + " '1672374',\n", + " '7a7b641fa98e42d34bde',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:12:12 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:33.414Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:12:09.422Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428551\":{\"retired\":null}}',\n", + " '83428551'],\n", + " ['460252033',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:12:15 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:10.816Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:14.857Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428576\":{\"retired\":null}}',\n", + " '83428576'],\n", + " ['460252218',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:13:14 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:15.617Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:14.084Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428504\":{\"retired\":null}}',\n", + " '83428504'],\n", + " ['460252229',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:13:19 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:16.425Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:19.219Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428569\":{\"retired\":null}}',\n", + " '83428569'],\n", + " ['460252306',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:13:41 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:05:32.841Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:41.653Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428643\":{\"retired\":null}}',\n", + " '83428643'],\n", + " ['460252318',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:13:44 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:42.558Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:44.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428673\":{\"retired\":null}}',\n", + " '83428673'],\n", + " ['460252330',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:13:48 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:44.969Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:48.545Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428637\":{\"retired\":null}}',\n", + " '83428637'],\n", + " ['460252338',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:13:52 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:49.300Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:51.951Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428551\":{\"retired\":null}}',\n", + " '83428551'],\n", + " ['460252349',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:13:55 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:52.743Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:54.844Z\",\"seen_before\":true,\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428504\":{\"retired\":null}}',\n", + " '83428504'],\n", + " ['460252358',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:13:57 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:55.720Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:57.120Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428665\":{\"retired\":null}}',\n", + " '83428665'],\n", + " ['460252388',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:14:05 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:57.735Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:14:05.613Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:13:55.735Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428489\":{\"retired\":null}}',\n", + " '83428489'],\n", + " ['460252838',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:16:35 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:31.555Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:35.151Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", + " '{\"83428494\":{\"retired\":null}}',\n", + " '83428494'],\n", + " ['460252855',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:16:40 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:35.973Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:40.182Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428593\":{\"retired\":null}}',\n", + " '83428593'],\n", + " ['460252872',\n", + " 'rebecca.nevin',\n", + " '1946584',\n", + " 'cbfbf6eb78413a32bf60',\n", + " '23254',\n", + " 'Classification',\n", + " '9.7',\n", + " '2023-01-05 17:16:44 UTC',\n", + " '',\n", + " '',\n", + " '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:41.080Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:43.808Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", + " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", + " '{\"83428650\":{\"retired\":null}}',\n", + " '83428650']]" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "raw_clas_data" + ] + }, + { + "cell_type": "markdown", + "id": "db961c2e-0304-4d9e-8ac1-9e25197a2fc2", + "metadata": {}, + "source": [ + "## Extract annotations by task and sort by subject ID\n", + "There could be multiple tasks per item." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", + "metadata": {}, + "outputs": [], + "source": [ + "extracted_data = extract_data(classification_data)\n", + "extracted_data" + ] + }, + { + "cell_type": "markdown", + "id": "6cbe65b0-dc50-4550-92a6-a2954c897c12", + "metadata": {}, + "source": [ + "## Aggregate the annotations\n", + "Sort by unique subject ID and then unique tasks. Find the most recent classification for each user ID, and uses the Zooniverse consensus builder to look through all user classifications and build consensus." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", + "metadata": {}, + "outputs": [], + "source": [ + "aggregated_data = aggregate_data(extracted_data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fab35094-bae0-4883-91ed-6d0215a17135", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "094f1bc5-a81c-4e2a-83e3-c85d3d6b0676", + "metadata": {}, + "outputs": [], + "source": [ + "# issues:\n", + "# get_data_from_zooniverse is undefined\n", + "# the pip install does not work for panoptes_aggregation\n", + "# download_classifications takes upwards of 43 minutes to run,\n", + "# is this because I haven't completed the workflow? Because I have" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "9c9ea823-383f-4ea7-98a6-f167afc5bfe2", + "metadata": { + "execution": { + "iopub.execute_input": "2024-06-26T18:07:05.268384Z", + "iopub.status.busy": "2024-06-26T18:07:05.268066Z", + "iopub.status.idle": "2024-06-26T18:07:09.740118Z", + "shell.execute_reply": "2024-06-26T18:07:09.739170Z", + "shell.execute_reply.started": "2024-06-26T18:07:05.268360Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sign in to zooniverse.org:\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "username: ········\n", + "password: ········\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generating classification data - could take some time\n" + ] + }, { "ename": "NameError", - "evalue": "name 'tqdm' is not defined", + "evalue": "name 'get_data_from_zooniverse' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[9], line 4\u001b[0m\n\u001b[1;32m 2\u001b[0m WORKFLOW_ID \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m23254\u001b[39m\n\u001b[1;32m 3\u001b[0m client \u001b[38;5;241m=\u001b[39m cit_sci_pipeline\u001b[38;5;241m.\u001b[39mclient\n\u001b[0;32m----> 4\u001b[0m \u001b[43mdownload_classifications\u001b[49m\u001b[43m(\u001b[49m\u001b[43mWORKFLOW_ID\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mclient\u001b[49m\u001b[43m)\u001b[49m\n", - "Cell \u001b[0;32mIn[3], line 18\u001b[0m, in \u001b[0;36mdownload_classifications\u001b[0;34m(WORKFLOW_ID, client)\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m client:\n\u001b[1;32m 17\u001b[0m classification_export \u001b[38;5;241m=\u001b[39m workflow\u001b[38;5;241m.\u001b[39mget_export(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mclassifications\u001b[39m\u001b[38;5;124m'\u001b[39m, generate\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m, wait\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[0;32m---> 18\u001b[0m classification_rows \u001b[38;5;241m=\u001b[39m [row \u001b[38;5;28;01mfor\u001b[39;00m row \u001b[38;5;129;01min\u001b[39;00m \u001b[43mtqdm\u001b[49m(classification_export\u001b[38;5;241m.\u001b[39mcsv_dictreader())]\n\u001b[1;32m 20\u001b[0m \u001b[38;5;66;03m# convert to pandas dataframe\u001b[39;00m\n\u001b[1;32m 21\u001b[0m classification_data \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mDataFrame\u001b[38;5;241m.\u001b[39mfrom_dict(classification_rows)\n", - "\u001b[0;31mNameError\u001b[0m: name 'tqdm' is not defined" + "Cell \u001b[0;32mIn[5], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m WORKFLOW_ID \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m23254\u001b[39m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mbatch_aggregation\u001b[49m\u001b[43m(\u001b[49m\u001b[43mWORKFLOW_ID\u001b[49m\u001b[43m)\u001b[49m\n", + "Cell \u001b[0;32mIn[2], line 158\u001b[0m, in \u001b[0;36mbatch_aggregation\u001b[0;34m(generate_new_classifications, WORKFLOW_ID)\u001b[0m\n\u001b[1;32m 156\u001b[0m client \u001b[38;5;241m=\u001b[39m Panoptes\u001b[38;5;241m.\u001b[39mclient(username\u001b[38;5;241m=\u001b[39mgetpass\u001b[38;5;241m.\u001b[39mgetpass(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124musername: \u001b[39m\u001b[38;5;124m'\u001b[39m), password\u001b[38;5;241m=\u001b[39mgetpass\u001b[38;5;241m.\u001b[39mgetpass(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mpassword: \u001b[39m\u001b[38;5;124m'\u001b[39m))\n\u001b[1;32m 157\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mGenerating classification data - could take some time\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m--> 158\u001b[0m classification_data \u001b[38;5;241m=\u001b[39m \u001b[43mget_data_from_zooniverse\u001b[49m(WORKFLOW_ID\u001b[38;5;241m=\u001b[39mWORKFLOW_ID, client\u001b[38;5;241m=\u001b[39mclient)\n\u001b[1;32m 159\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mSaving classifications\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 160\u001b[0m classification_data\u001b[38;5;241m.\u001b[39mto_csv(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124msuperluminous-supernovae-classifications.csv\u001b[39m\u001b[38;5;124m'\u001b[39m, index\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n", + "\u001b[0;31mNameError\u001b[0m: name 'get_data_from_zooniverse' is not defined" ] } ], "source": [ - "#project_id = 19539\n", "WORKFLOW_ID = 23254\n", - "client = cit_sci_pipeline.client\n", - "download_classifications(WORKFLOW_ID, client)" + "batch_aggregation(WORKFLOW_ID)" ] }, { "cell_type": "code", "execution_count": null, - "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", + "id": "601a1d44-98f2-45a6-905b-fb2c070ee706", "metadata": {}, "outputs": [], "source": [] From ab052eb7111c5b6e4f97cb47879af9565385355c Mon Sep 17 00:00:00 2001 From: beckynevin Date: Mon, 1 Jul 2024 22:00:00 +0000 Subject: [PATCH 04/23] adding some print statements to try to figure out where download_classifications is failing --- 03_Aggregate_Classifications.ipynb | 52 ++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 17 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index edc1dcb..046c701 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -105,15 +105,15 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 26, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-07-01T17:59:26.840441Z", - "iopub.status.busy": "2024-07-01T17:59:26.839623Z", - "iopub.status.idle": "2024-07-01T17:59:26.843873Z", - "shell.execute_reply": "2024-07-01T17:59:26.843312Z", - "shell.execute_reply.started": "2024-07-01T17:59:26.840413Z" + "iopub.execute_input": "2024-07-01T21:46:45.317225Z", + "iopub.status.busy": "2024-07-01T21:46:45.316527Z", + "iopub.status.idle": "2024-07-01T21:46:45.320454Z", + "shell.execute_reply": "2024-07-01T21:46:45.319952Z", + "shell.execute_reply.started": "2024-07-01T21:46:45.317200Z" } }, "outputs": [], @@ -136,15 +136,15 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 35, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-07-01T18:20:38.535691Z", - "iopub.status.busy": "2024-07-01T18:20:38.535388Z", - "iopub.status.idle": "2024-07-01T18:20:38.547693Z", - "shell.execute_reply": "2024-07-01T18:20:38.547133Z", - "shell.execute_reply.started": "2024-07-01T18:20:38.535671Z" + "iopub.execute_input": "2024-07-01T21:53:16.031981Z", + "iopub.status.busy": "2024-07-01T21:53:16.031654Z", + "iopub.status.idle": "2024-07-01T21:53:16.043844Z", + "shell.execute_reply": "2024-07-01T21:53:16.043338Z", + "shell.execute_reply.started": "2024-07-01T21:53:16.031957Z" } }, "outputs": [], @@ -160,13 +160,20 @@ " Returns:\n", " classification_data (DataFrame): Raw classifications from Zooniverse\n", " \"\"\"\n", - "\n", + " print('beginning function')\n", " workflow = Workflow(WORKFLOW_ID)\n", + " print('workflow class loaded?', workflow)\n", + " print('all attributes of this workflow', dir(workflow))\n", "\n", + " print('this is the client were working with', client)\n", + " \n", " # generate the classifications \n", " with client:\n", - " classification_export = workflow.get_export('classifications', generate=True, wait=False)\n", + " classification_export = workflow.get_export('classifications',\n", + " generate=False,\n", + " wait=False)\n", " print('export', classification_export)\n", + " print('csv_dictreader', classification_export.csv_dictreader())\n", " classification_rows = [row for row in tqdm(classification_export.csv_dictreader())]\n", "\n", " # convert to pandas dataframe\n", @@ -414,11 +421,22 @@ "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-07-01T18:20:41.388861Z", - "iopub.status.busy": "2024-07-01T18:20:41.388060Z" + "iopub.execute_input": "2024-07-01T21:53:18.526569Z", + "iopub.status.busy": "2024-07-01T21:53:18.525862Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "beginning function\n", + "workflow class loaded? \n", + "all attributes of this workflow ['RESERVED_ATTRIBUTES', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_api_slug', '_edit_attributes', '_export_path', '_link_slug', '_loaded', '_original_configuration', '_original_retirement', '_original_tasks', '_savable_dict', 'add_alice_extractors', 'add_alice_reducers', 'add_alice_rules_and_effects', 'add_caesar_extractor', 'add_caesar_reducer', 'add_caesar_rule', 'add_caesar_rule_effect', 'add_subject_sets', 'caesar_effects', 'caesar_extractors', 'caesar_reducers', 'caesar_rules', 'caesar_subject_extracts', 'caesar_subject_reductions', 'configure_for_alice', 'delete', 'describe_export', 'etag', 'find', 'generate_export', 'get_export', 'http_delete', 'http_get', 'http_post', 'http_put', 'import_caesar_data_extracts', 'links', 'modified_attributes', 'paginated_results', 'raw', 'reload', 'remove_subject_sets', 'retire_subjects', 'save', 'save_to_caesar', 'set_raw', 'subject_workflow_status', 'subject_workflow_statuses', 'unretire_subjects', 'unretire_subjects_by_subject_set', 'url', 'versions', 'wait_export', 'where']\n", + "this is the client were working with \n" + ] + } + ], "source": [ "#project_id = 19539\n", "WORKFLOW_ID = 23254\n", From 61f04de5dc4cc70542c210b1208a127a4c29b3f3 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Thu, 22 Aug 2024 15:09:54 +0000 Subject: [PATCH 05/23] import tqdm to from tqdm import tqdm --- 03_Aggregate_Classifications.ipynb | 109 ++++++++++++++++++----------- 1 file changed, 68 insertions(+), 41 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 046c701..bcd21d1 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -105,15 +105,15 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 9, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-07-01T21:46:45.317225Z", - "iopub.status.busy": "2024-07-01T21:46:45.316527Z", - "iopub.status.idle": "2024-07-01T21:46:45.320454Z", - "shell.execute_reply": "2024-07-01T21:46:45.319952Z", - "shell.execute_reply.started": "2024-07-01T21:46:45.317200Z" + "iopub.execute_input": "2024-08-22T15:09:10.128877Z", + "iopub.status.busy": "2024-08-22T15:09:10.128152Z", + "iopub.status.idle": "2024-08-22T15:09:10.132149Z", + "shell.execute_reply": "2024-08-22T15:09:10.131611Z", + "shell.execute_reply.started": "2024-08-22T15:09:10.128852Z" } }, "outputs": [], @@ -131,20 +131,20 @@ "from panoptes_aggregation.extractors import question_extractor\n", "from panoptes_aggregation.reducers import question_consensus_reducer\n", "\n", - "import tqdm" + "from tqdm import tqdm" ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 10, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-07-01T21:53:16.031981Z", - "iopub.status.busy": "2024-07-01T21:53:16.031654Z", - "iopub.status.idle": "2024-07-01T21:53:16.043844Z", - "shell.execute_reply": "2024-07-01T21:53:16.043338Z", - "shell.execute_reply.started": "2024-07-01T21:53:16.031957Z" + "iopub.execute_input": "2024-08-22T15:09:16.052281Z", + "iopub.status.busy": "2024-08-22T15:09:16.051762Z", + "iopub.status.idle": "2024-08-22T15:09:16.063639Z", + "shell.execute_reply": "2024-08-22T15:09:16.063126Z", + "shell.execute_reply.started": "2024-08-22T15:09:16.052256Z" } }, "outputs": [], @@ -170,11 +170,17 @@ " # generate the classifications \n", " with client:\n", " classification_export = workflow.get_export('classifications',\n", - " generate=False,\n", - " wait=False)\n", + " generate=True,\n", + " wait=True)\n", " print('export', classification_export)\n", - " print('csv_dictreader', classification_export.csv_dictreader())\n", - " classification_rows = [row for row in tqdm(classification_export.csv_dictreader())]\n", + " print('type', type(classification_export))\n", + " # since it's a partial class, call it to get the DictReader object\n", + " csv_dictreader_instance = classification_export.csv_dictreader()\n", + " print('csv_dictreader_instance', csv_dictreader_instance)\n", + "\n", + " classification_rows = [row for row in tqdm(csv_dictreader_instance)]\n", + "\n", + " #classification_rows = [row for row in tqdm(classification_export.csv_dictreader())]\n", "\n", " # convert to pandas dataframe\n", " classification_data = pd.DataFrame.from_dict(classification_rows)\n", @@ -338,15 +344,15 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 7, "id": "bc18305d-acb6-4bc7-9f39-74feb1e7d197", "metadata": { "execution": { - "iopub.execute_input": "2024-06-26T18:06:55.376766Z", - "iopub.status.busy": "2024-06-26T18:06:55.376460Z", - "iopub.status.idle": "2024-06-26T18:06:55.581644Z", - "shell.execute_reply": "2024-06-26T18:06:55.581048Z", - "shell.execute_reply.started": "2024-06-26T18:06:55.376751Z" + "iopub.execute_input": "2024-08-22T15:07:26.539653Z", + "iopub.status.busy": "2024-08-22T15:07:26.539360Z", + "iopub.status.idle": "2024-08-22T15:07:26.542606Z", + "shell.execute_reply": "2024-08-22T15:07:26.542069Z", + "shell.execute_reply.started": "2024-08-22T15:07:26.539633Z" } }, "outputs": [], @@ -356,15 +362,15 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 4, "id": "dadd85aa-7590-460f-800d-873814d6e50c", "metadata": { "execution": { - "iopub.execute_input": "2024-06-26T18:09:18.838216Z", - "iopub.status.busy": "2024-06-26T18:09:18.837541Z", - "iopub.status.idle": "2024-06-26T18:09:27.430050Z", - "shell.execute_reply": "2024-06-26T18:09:27.429041Z", - "shell.execute_reply.started": "2024-06-26T18:09:18.838193Z" + "iopub.execute_input": "2024-08-22T15:05:04.777843Z", + "iopub.status.busy": "2024-08-22T15:05:04.777538Z", + "iopub.status.idle": "2024-08-22T15:05:17.896295Z", + "shell.execute_reply": "2024-08-22T15:05:17.895768Z", + "shell.execute_reply.started": "2024-08-22T15:05:04.777822Z" } }, "outputs": [ @@ -374,10 +380,6 @@ "text": [ "Loading and running utilities to establish a link with Zooniverse\n", "Enter your Zooniverse username followed by password below\n", - "WARNING! : You currently have v0.4.3 of this package installed, but v0.5.0 is available.\n", - "To install the latest version, open up a terminal tab and run the following command:\n", - " pip install --upgrade --force-reinstall rubin.citsci\n", - "After the upgrade installation has finished, please restart the kernel for the changes to take effect.\n", "Enter your Zooniverse credentials...\n" ] }, @@ -393,17 +395,42 @@ "name": "stdout", "output_type": "stream", "text": [ - "You now are logged in to the Zooniverse platform.\n" + "You now are logged in to the Zooniverse platform.\n", + "\n", + "*==* Your Project Slugs *==*\n", + "\n", + "rebecca-dot-nevin/template-test-copy-2024-07-09-21-49-53\n", + "rebecca-dot-nevin/template-test-copy-2024-07-09-19-02-02\n", + "rebecca-dot-nevin/template-test-copy-2024-07-09-18-53-39\n", + "rebecca-dot-nevin/template-test-copy-2024-07-03-21-54-30\n", + "rebecca-dot-nevin/template-test-copy-2024-07-02-22-11-52\n", + "rebecca-dot-nevin/pcw-2023-awesome-citsci-project\n", + "rebecca-dot-nevin/test-project\n", + "rebecca-dot-nevin/galaxy-rotation-fields\n", + "\n", + "*==========================*\n", + "\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Which project would you like to send data to (copy & paste the slug name here)? rebecca-dot-nevin/test-project\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Current project set to: rebecca-dot-nevin/test-project\n" ] } ], "source": [ "email = \"beckynevin@gmail.com\"\n", - "slug_name = \"rebecca-dot-nevin/test-project\"\n", - "print(\"Loading and running utilities to establish a link with Zooniverse\")\n", - "print(\"Enter your Zooniverse username followed by password below\")\n", "cit_sci_pipeline = pipeline.CitSciPipeline()\n", - "cit_sci_pipeline.login_to_zooniverse(slug_name, email)" + "cit_sci_pipeline.login_to_zooniverse(email)" ] }, { @@ -421,8 +448,8 @@ "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-07-01T21:53:18.526569Z", - "iopub.status.busy": "2024-07-01T21:53:18.525862Z" + "iopub.execute_input": "2024-08-22T15:09:22.053998Z", + "iopub.status.busy": "2024-08-22T15:09:22.053323Z" } }, "outputs": [ @@ -433,7 +460,7 @@ "beginning function\n", "workflow class loaded? \n", "all attributes of this workflow ['RESERVED_ATTRIBUTES', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_api_slug', '_edit_attributes', '_export_path', '_link_slug', '_loaded', '_original_configuration', '_original_retirement', '_original_tasks', '_savable_dict', 'add_alice_extractors', 'add_alice_reducers', 'add_alice_rules_and_effects', 'add_caesar_extractor', 'add_caesar_reducer', 'add_caesar_rule', 'add_caesar_rule_effect', 'add_subject_sets', 'caesar_effects', 'caesar_extractors', 'caesar_reducers', 'caesar_rules', 'caesar_subject_extracts', 'caesar_subject_reductions', 'configure_for_alice', 'delete', 'describe_export', 'etag', 'find', 'generate_export', 'get_export', 'http_delete', 'http_get', 'http_post', 'http_put', 'import_caesar_data_extracts', 'links', 'modified_attributes', 'paginated_results', 'raw', 'reload', 'remove_subject_sets', 'retire_subjects', 'save', 'save_to_caesar', 'set_raw', 'subject_workflow_status', 'subject_workflow_statuses', 'unretire_subjects', 'unretire_subjects_by_subject_set', 'url', 'versions', 'wait_export', 'where']\n", - "this is the client were working with \n" + "this is the client were working with \n" ] } ], From d6ce822256bf0cf081f0b55f7120e09ccc52207c Mon Sep 17 00:00:00 2001 From: beckynevin Date: Wed, 11 Sep 2024 15:02:53 +0000 Subject: [PATCH 06/23] adding documentation, removed alternate example of retrieve classifications from 01 notebook --- 03_Aggregate_Classifications.ipynb | 2481 ++++++++++++++++++++-------- 1 file changed, 1827 insertions(+), 654 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index bcd21d1..35b0cc2 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -25,7 +25,7 @@ "

\n", "LSST Data Products: n/a

\n", "Packages: rubin.citsci, utils (citsci plotting and display utilities),

\n", - "Credit: Hayley Roberts

\n", + "Credit: Hayley Roberts' aggregation code https://github.com/astrohayley/SLSN-Aggregation-Example/blob/main/SLSN_batch_aggregation.py

\n", "Get Support: PIs new to DP0 are encouraged to find documentation and resources at dp0-2.lsst.io. Support for this notebook is available and questions are welcome at cscience@lsst.org." ] }, @@ -35,7 +35,7 @@ "metadata": {}, "source": [ "## 1. Introduction \n", - "This notebook provides an introduction to how to use the ???? and rubin.citsci package to retrieve classifications from Zooniverse and aggregate the results." + "This notebook provides an introduction to how to use the Zooniverse panoptes client and rubin.citsci package to retrieve classifications from Zooniverse and aggregate the results. Data aggregation in this context is collecting classifications across all citizen scientists and summarizing them by subject in terms of classifier majority." ] }, { @@ -91,18 +91,6 @@ "(https://www.zooniverse.org/talk/1322/2415041?comment=3969837&page=1)" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "8e566b7c-4fb3-4195-b68a-39e4dc1a374c", - "metadata": {}, - "outputs": [], - "source": [ - "# this is all from SLSN_batch_aggregation.py\n", - "# found here - \n", - "# https://github.com/astrohayley/SLSN-Aggregation-Example/blob/main/SLSN_batch_aggregation.py" - ] - }, { "cell_type": "code", "execution_count": 9, @@ -118,7 +106,6 @@ }, "outputs": [], "source": [ - "# basics\n", "import numpy as np\n", "import pandas as pd\n", "import getpass\n", @@ -131,20 +118,34 @@ "from panoptes_aggregation.extractors import question_extractor\n", "from panoptes_aggregation.reducers import question_consensus_reducer\n", "\n", - "from tqdm import tqdm" + "from tqdm import tqdm\n", + "\n", + "from rubin.citsci import pipeline" + ] + }, + { + "cell_type": "markdown", + "id": "cb65e56b-028b-425f-b3c3-87233734a9d7", + "metadata": {}, + "source": [ + "### 1.2 Define functions and parameters \n", + "Credit for these functions goes to Hayley Roberts at Zooniverse. This includes:\n", + "- `download_classifications`: A function to download the classifications given a workflow ID in, which returns a dataframe\n", + "- `extract_data`: A function to extract user annotations by task and sort by when they were classified??? This can be modified for other classification tasks such as drawing, please see the Zooniverse documentation.\n", + "- `aggregate_data`: A function that groups by task and user, selects the most recent classification from each user, and uses the Zooniverse `question_consesus_reducer` function to determine the consensus for each subject ID amongst all users" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 1, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-08-22T15:09:16.052281Z", - "iopub.status.busy": "2024-08-22T15:09:16.051762Z", - "iopub.status.idle": "2024-08-22T15:09:16.063639Z", - "shell.execute_reply": "2024-08-22T15:09:16.063126Z", - "shell.execute_reply.started": "2024-08-22T15:09:16.052256Z" + "iopub.execute_input": "2024-09-11T14:58:25.795177Z", + "iopub.status.busy": "2024-09-11T14:58:25.794870Z", + "iopub.status.idle": "2024-09-11T14:58:25.808288Z", + "shell.execute_reply": "2024-09-11T14:58:25.807636Z", + "shell.execute_reply.started": "2024-09-11T14:58:25.795155Z" } }, "outputs": [], @@ -168,21 +169,27 @@ " print('this is the client were working with', client)\n", " \n", " # generate the classifications \n", + " # if generate=True, it generates a new classification report,\n", + " # which can take a long time because they’re queued in the Zooniverse system.\n", + " # It’s the same as going to the project builder and clicking the “request new report”.\n", + " # If you just want to download the existing report, you can set generate to False.\n", " with client:\n", " classification_export = workflow.get_export('classifications',\n", - " generate=True,\n", - " wait=True)\n", + " generate=False,\n", + " wait=False)\n", " print('export', classification_export)\n", " print('type', type(classification_export))\n", " # since it's a partial class, call it to get the DictReader object\n", " csv_dictreader_instance = classification_export.csv_dictreader()\n", " print('csv_dictreader_instance', csv_dictreader_instance)\n", "\n", - " classification_rows = [row for row in tqdm(csv_dictreader_instance)]\n", + " # the below line is taking forever to run\n", + " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", "\n", " #classification_rows = [row for row in tqdm(classification_export.csv_dictreader())]\n", "\n", " # convert to pandas dataframe\n", + " print('pre conversion to df', classification_rows)\n", " classification_data = pd.DataFrame.from_dict(classification_rows)\n", "\n", " return classification_data\n", @@ -281,6 +288,7 @@ " classifications_to_reduce = [json.loads(extract_data_filtered.iloc[j].data) for j in range(len(extract_data_filtered))]\n", "\n", " # use the Zooniverse question_consesus_reducer to get the final consensus\n", + " # WHAT ARE THE ARGUMENTS THAT ARE OPTIONAL HERE?\n", " reduction = question_consensus_reducer(classifications_to_reduce)\n", "\n", " # add the subject id to our reduction data\n", @@ -320,13 +328,13 @@ " print('Sign in to zooniverse.org:')\n", " client = Panoptes.client(username=getpass.getpass('username: '), password=getpass.getpass('password: '))\n", " print('Generating classification data - could take some time')\n", - " classification_data = get_data_from_zooniverse(WORKFLOW_ID=WORKFLOW_ID, client=client)\n", + " classification_data = download_classifications(WORKFLOW_ID=WORKFLOW_ID, client=client)\n", " print('Saving classifications')\n", - " classification_data.to_csv('superluminous-supernovae-classifications.csv', index=False)\n", + " classification_data.to_csv('galaxy-classifications.csv', index=False)\n", " else:\n", " # or just open the file\n", " print('Loading classifications')\n", - " classification_data = pd.read_csv('superluminous-supernovae-classifications.csv')\n", + " classification_data = pd.read_csv('galaxy-classifications.csv')\n", "\n", " # limit classifications to those for the relevant workflow\n", " classification_data = classification_data[classification_data.workflow_id==WORKFLOW_ID]\n", @@ -343,90 +351,28 @@ ] }, { - "cell_type": "code", - "execution_count": 7, - "id": "bc18305d-acb6-4bc7-9f39-74feb1e7d197", - "metadata": { - "execution": { - "iopub.execute_input": "2024-08-22T15:07:26.539653Z", - "iopub.status.busy": "2024-08-22T15:07:26.539360Z", - "iopub.status.idle": "2024-08-22T15:07:26.542606Z", - "shell.execute_reply": "2024-08-22T15:07:26.542069Z", - "shell.execute_reply.started": "2024-08-22T15:07:26.539633Z" - } - }, - "outputs": [], + "cell_type": "markdown", + "id": "31a708c0-046f-4634-a22f-a80dd9b613f2", + "metadata": {}, "source": [ - "from rubin.citsci import pipeline" + "## 2. Log into Zooniverse and link\n", + "If you're running this notebook, you should already have a Zooniverse account with a project with classifications. If you do not yet have an account, please return to notebook `01_Introduction_to_Citsci_Pipeline.ipynb`.\n", + "\n", + "IMPORTANT: Your Zooniverse project must be set to \"public\", a \"private\" project will not work. Select this setting under the \"Visibility\" tab, (it does not need to be set to live). \n", + "\n", + "Supply the email associated with your Zooniverse account, and then follow the instructions in the prompt to log in and select your project by slug name. \n", + "\n", + "A \"slug\" is the string of your Zooniverse username and your project name without the leading forward slash, for instance: \"username/project-name\". [Click here for more details](https://www.zooniverse.org/talk/18/967061?comment=1898157&page=1).\n", + "\n", + "**The `rubin.citsci` package includes a method that creates a Zooniverse project from template. If you wish to use this feature, do not provide a slug_name and run the subsequent cell.**" ] }, { "cell_type": "code", - "execution_count": 4, - "id": "dadd85aa-7590-460f-800d-873814d6e50c", - "metadata": { - "execution": { - "iopub.execute_input": "2024-08-22T15:05:04.777843Z", - "iopub.status.busy": "2024-08-22T15:05:04.777538Z", - "iopub.status.idle": "2024-08-22T15:05:17.896295Z", - "shell.execute_reply": "2024-08-22T15:05:17.895768Z", - "shell.execute_reply.started": "2024-08-22T15:05:04.777822Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loading and running utilities to establish a link with Zooniverse\n", - "Enter your Zooniverse username followed by password below\n", - "Enter your Zooniverse credentials...\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Username: rebecca.nevin\n", - " ········\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "You now are logged in to the Zooniverse platform.\n", - "\n", - "*==* Your Project Slugs *==*\n", - "\n", - "rebecca-dot-nevin/template-test-copy-2024-07-09-21-49-53\n", - "rebecca-dot-nevin/template-test-copy-2024-07-09-19-02-02\n", - "rebecca-dot-nevin/template-test-copy-2024-07-09-18-53-39\n", - "rebecca-dot-nevin/template-test-copy-2024-07-03-21-54-30\n", - "rebecca-dot-nevin/template-test-copy-2024-07-02-22-11-52\n", - "rebecca-dot-nevin/pcw-2023-awesome-citsci-project\n", - "rebecca-dot-nevin/test-project\n", - "rebecca-dot-nevin/galaxy-rotation-fields\n", - "\n", - "*==========================*\n", - "\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Which project would you like to send data to (copy & paste the slug name here)? rebecca-dot-nevin/test-project\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Current project set to: rebecca-dot-nevin/test-project\n" - ] - } - ], + "execution_count": null, + "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", + "metadata": {}, + "outputs": [], "source": [ "email = \"beckynevin@gmail.com\"\n", "cit_sci_pipeline = pipeline.CitSciPipeline()\n", @@ -438,18 +384,21 @@ "id": "234ff23f-b321-4277-a28e-6a2f33e28b1a", "metadata": {}, "source": [ - "## Download the classifications\n", + "## 3. Download the classifications\n", "These will still be in the raw format. This function reads from the output csv and puts all rows into a dataframe format." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-08-22T15:09:22.053998Z", - "iopub.status.busy": "2024-08-22T15:09:22.053323Z" + "iopub.execute_input": "2024-08-22T15:17:37.734235Z", + "iopub.status.busy": "2024-08-22T15:17:37.733978Z", + "iopub.status.idle": "2024-08-22T15:17:38.250746Z", + "shell.execute_reply": "2024-08-22T15:17:38.250217Z", + "shell.execute_reply.started": "2024-08-22T15:17:37.734217Z" } }, "outputs": [ @@ -460,7 +409,12 @@ "beginning function\n", "workflow class loaded? \n", "all attributes of this workflow ['RESERVED_ATTRIBUTES', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_api_slug', '_edit_attributes', '_export_path', '_link_slug', '_loaded', '_original_configuration', '_original_retirement', '_original_tasks', '_savable_dict', 'add_alice_extractors', 'add_alice_reducers', 'add_alice_rules_and_effects', 'add_caesar_extractor', 'add_caesar_reducer', 'add_caesar_rule', 'add_caesar_rule_effect', 'add_subject_sets', 'caesar_effects', 'caesar_extractors', 'caesar_reducers', 'caesar_rules', 'caesar_subject_extracts', 'caesar_subject_reductions', 'configure_for_alice', 'delete', 'describe_export', 'etag', 'find', 'generate_export', 'get_export', 'http_delete', 'http_get', 'http_post', 'http_put', 'import_caesar_data_extracts', 'links', 'modified_attributes', 'paginated_results', 'raw', 'reload', 'remove_subject_sets', 'retire_subjects', 'save', 'save_to_caesar', 'set_raw', 'subject_workflow_status', 'subject_workflow_statuses', 'unretire_subjects', 'unretire_subjects_by_subject_set', 'url', 'versions', 'wait_export', 'where']\n", - "this is the client were working with \n" + "this is the client were working with \n", + "export \n", + "type \n", + "csv_dictreader_instance \n", + "34it [00:00, 26561.06it/s]\n", + "pre conversion to df [{'classification_id': '460251424', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:18 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:13.704Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:18.588Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428507\":{\"retired\":null}}', 'subject_ids': '83428507'}, {'classification_id': '460251464', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:27 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:21.335Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:27.204Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428528\":{\"retired\":null}}', 'subject_ids': '83428528'}, {'classification_id': '460251470', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:29 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:16.468Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:26.365Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428673\":{\"retired\":null}}', 'subject_ids': '83428673'}, {'classification_id': '460251475', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:30 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:27.887Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:29.954Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428522\":{\"retired\":null}}', 'subject_ids': '83428522'}, {'classification_id': '460251484', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:32 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:30.822Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:32.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428624\":{\"retired\":null}}', 'subject_ids': '83428624'}, {'classification_id': '460251498', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:34 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:33.052Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:34.761Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428488\":{\"retired\":null}}', 'subject_ids': '83428488'}, {'classification_id': '460251507', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:36 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:27.921Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:34.353Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428610\":{\"retired\":null}}', 'subject_ids': '83428610'}, {'classification_id': '460251508', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:37 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:35.471Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:36.910Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428619\":{\"retired\":null}}', 'subject_ids': '83428619'}, {'classification_id': '460251529', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:40 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:37.581Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:40.143Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428583\":{\"retired\":null}}', 'subject_ids': '83428583'}, {'classification_id': '460251542', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:42 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:40.936Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:42.417Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428592\":{\"retired\":null}}', 'subject_ids': '83428592'}, {'classification_id': '460251551', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:43.063Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:44.428Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428578\":{\"retired\":null}}', 'subject_ids': '83428578'}, {'classification_id': '460251562', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:47 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:45.408Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:46.930Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428626\":{\"retired\":null}}', 'subject_ids': '83428626'}, {'classification_id': '460251572', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:49 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:47.510Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:49.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428649\":{\"retired\":null}}', 'subject_ids': '83428649'}, {'classification_id': '460251578', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:51 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:49.696Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:51.089Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428516\":{\"retired\":null}}', 'subject_ids': '83428516'}, {'classification_id': '460251586', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:53 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:51.718Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:53.488Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428615\":{\"retired\":null}}', 'subject_ids': '83428615'}, {'classification_id': '460251591', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:54 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:36.103Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:52.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428676\":{\"retired\":null}}', 'subject_ids': '83428676'}, {'classification_id': '460251628', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:10:03 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:52.946Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:00.426Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428515\":{\"retired\":null}}', 'subject_ids': '83428515'}, {'classification_id': '460251730', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:10:34 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:01.271Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:32.520Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428561\":{\"retired\":null}}', 'subject_ids': '83428561'}, {'classification_id': '460252017', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:10 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:54.135Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:09.902Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428608\":{\"retired\":null}}', 'subject_ids': '83428608'}, {'classification_id': '460252026', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:12 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:33.414Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:12:09.422Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428551\":{\"retired\":null}}', 'subject_ids': '83428551'}, {'classification_id': '460252033', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:15 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:10.816Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:14.857Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428576\":{\"retired\":null}}', 'subject_ids': '83428576'}, {'classification_id': '460252218', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:14 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:15.617Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:14.084Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428504\":{\"retired\":null}}', 'subject_ids': '83428504'}, {'classification_id': '460252229', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:19 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:16.425Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:19.219Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428569\":{\"retired\":null}}', 'subject_ids': '83428569'}, {'classification_id': '460252306', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:41 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:05:32.841Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:41.653Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428643\":{\"retired\":null}}', 'subject_ids': '83428643'}, {'classification_id': '460252318', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:42.558Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:44.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428673\":{\"retired\":null}}', 'subject_ids': '83428673'}, {'classification_id': '460252330', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:48 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:44.969Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:48.545Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428637\":{\"retired\":null}}', 'subject_ids': '83428637'}, {'classification_id': '460252338', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:52 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:49.300Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:51.951Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428551\":{\"retired\":null}}', 'subject_ids': '83428551'}, {'classification_id': '460252349', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:55 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:52.743Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:54.844Z\",\"seen_before\":true,\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428504\":{\"retired\":null}}', 'subject_ids': '83428504'}, {'classification_id': '460252358', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:57 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:55.720Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:57.120Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428665\":{\"retired\":null}}', 'subject_ids': '83428665'}, {'classification_id': '460252388', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:14:05 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:57.735Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:14:05.613Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:13:55.735Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428489\":{\"retired\":null}}', 'subject_ids': '83428489'}, {'classification_id': '460252838', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:35 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:31.555Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:35.151Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428494\":{\"retired\":null}}', 'subject_ids': '83428494'}, {'classification_id': '460252855', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:40 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:35.973Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:40.182Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428593\":{\"retired\":null}}', 'subject_ids': '83428593'}, {'classification_id': '460252872', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:41.080Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:43.808Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428650\":{\"retired\":null}}', 'subject_ids': '83428650'}, {'classification_id': '460282244', 'user_name': 'not-logged-in-6489dd5f6e1936b2336e', 'user_id': '', 'user_ip': '6489dd5f6e1936b2336e', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 19:40:00 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"500cd63d10b1f67a4038e8e6457a6fca892db7a71677de313ef5db005362c278\",\"viewport\":{\"width\":865,\"height\":493},\"started_at\":\"2023-01-05T19:39:53.177Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T19:40:00.721Z\",\"live_project\":false,\"interventions\":{\"opt_in\":false,\"messageShown\":false},\"user_language\":\"en\",\"subject_dimensions\":[{\"clientWidth\":555,\"clientHeight\":445,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T19:39:53.226Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428529\":{\"retired\":null}}', 'subject_ids': '83428529'}]\n" ] } ], @@ -474,622 +428,1841 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "87efe634-b609-483f-b3d3-49f7623fc565", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-08-22T15:17:14.461872Z", + "iopub.status.busy": "2024-08-22T15:17:14.461222Z", + "iopub.status.idle": "2024-08-22T15:17:14.482139Z", + "shell.execute_reply": "2024-08-22T15:17:14.481565Z", + "shell.execute_reply.started": "2024-08-22T15:17:14.461848Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
classification_iduser_nameuser_iduser_ipworkflow_idworkflow_nameworkflow_versioncreated_atgold_standardexpertmetadataannotationssubject_datasubject_ids
0460251424rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:18 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428507\":{\"retired\":null}}83428507
1460251464rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:27 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428528\":{\"retired\":null}}83428528
2460251470sreevani1672374adb6c943f6a02f9f48b323254Classification9.72023-01-05 17:09:29 UTC{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428673\":{\"retired\":null}}83428673
3460251475rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:30 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428522\":{\"retired\":null}}83428522
4460251484rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:32 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428624\":{\"retired\":null}}83428624
5460251498rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:34 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428488\":{\"retired\":null}}83428488
6460251507sreevani1672374adb6c943f6a02f9f48b323254Classification9.72023-01-05 17:09:36 UTC{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428610\":{\"retired\":null}}83428610
7460251508rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:37 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428619\":{\"retired\":null}}83428619
8460251529rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:40 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428583\":{\"retired\":null}}83428583
9460251542rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:42 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428592\":{\"retired\":null}}83428592
10460251551rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:44 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428578\":{\"retired\":null}}83428578
11460251562rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:47 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428626\":{\"retired\":null}}83428626
12460251572rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:49 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428649\":{\"retired\":null}}83428649
13460251578rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:51 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428516\":{\"retired\":null}}83428516
14460251586rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:53 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428615\":{\"retired\":null}}83428615
15460251591sreevani1672374adb6c943f6a02f9f48b323254Classification9.72023-01-05 17:09:54 UTC{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428676\":{\"retired\":null}}83428676
16460251628sreevani1672374adb6c943f6a02f9f48b323254Classification9.72023-01-05 17:10:03 UTC{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428515\":{\"retired\":null}}83428515
17460251730sreevani1672374adb6c943f6a02f9f48b323254Classification9.72023-01-05 17:10:34 UTC{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428561\":{\"retired\":null}}83428561
18460252017rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:12:10 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428608\":{\"retired\":null}}83428608
19460252026sreevani1672374adb6c943f6a02f9f48b323254Classification9.72023-01-05 17:12:12 UTC{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428551\":{\"retired\":null}}83428551
20460252033rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:12:15 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428576\":{\"retired\":null}}83428576
21460252218rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:14 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428504\":{\"retired\":null}}83428504
22460252229rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:19 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428569\":{\"retired\":null}}83428569
23460252306rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:41 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428643\":{\"retired\":null}}83428643
24460252318rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:44 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428673\":{\"retired\":null}}83428673
25460252330rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:48 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428637\":{\"retired\":null}}83428637
26460252338rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:52 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428551\":{\"retired\":null}}83428551
27460252349rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:55 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428504\":{\"retired\":null}}83428504
28460252358rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:57 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428665\":{\"retired\":null}}83428665
29460252388rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:14:05 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428489\":{\"retired\":null}}83428489
30460252838rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:16:35 UTC{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428494\":{\"retired\":null}}83428494
31460252855rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:16:40 UTC{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428593\":{\"retired\":null}}83428593
32460252872rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:16:44 UTC{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428650\":{\"retired\":null}}83428650
33460282244not-logged-in-6489dd5f6e1936b2336e6489dd5f6e1936b2336e23254Classification9.72023-01-05 19:40:00 UTC{\"source\":\"api\",\"session\":\"500cd63d10b1f67a403...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428529\":{\"retired\":null}}83428529
\n", + "
" + ], + "text/plain": [ + " classification_id user_name user_id \\\n", + "0 460251424 rebecca.nevin 1946584 \n", + "1 460251464 rebecca.nevin 1946584 \n", + "2 460251470 sreevani 1672374 \n", + "3 460251475 rebecca.nevin 1946584 \n", + "4 460251484 rebecca.nevin 1946584 \n", + "5 460251498 rebecca.nevin 1946584 \n", + "6 460251507 sreevani 1672374 \n", + "7 460251508 rebecca.nevin 1946584 \n", + "8 460251529 rebecca.nevin 1946584 \n", + "9 460251542 rebecca.nevin 1946584 \n", + "10 460251551 rebecca.nevin 1946584 \n", + "11 460251562 rebecca.nevin 1946584 \n", + "12 460251572 rebecca.nevin 1946584 \n", + "13 460251578 rebecca.nevin 1946584 \n", + "14 460251586 rebecca.nevin 1946584 \n", + "15 460251591 sreevani 1672374 \n", + "16 460251628 sreevani 1672374 \n", + "17 460251730 sreevani 1672374 \n", + "18 460252017 rebecca.nevin 1946584 \n", + "19 460252026 sreevani 1672374 \n", + "20 460252033 rebecca.nevin 1946584 \n", + "21 460252218 rebecca.nevin 1946584 \n", + "22 460252229 rebecca.nevin 1946584 \n", + "23 460252306 rebecca.nevin 1946584 \n", + "24 460252318 rebecca.nevin 1946584 \n", + "25 460252330 rebecca.nevin 1946584 \n", + "26 460252338 rebecca.nevin 1946584 \n", + "27 460252349 rebecca.nevin 1946584 \n", + "28 460252358 rebecca.nevin 1946584 \n", + "29 460252388 rebecca.nevin 1946584 \n", + "30 460252838 rebecca.nevin 1946584 \n", + "31 460252855 rebecca.nevin 1946584 \n", + "32 460252872 rebecca.nevin 1946584 \n", + "33 460282244 not-logged-in-6489dd5f6e1936b2336e \n", + "\n", + " user_ip workflow_id workflow_name workflow_version \\\n", + "0 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "1 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "2 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", + "3 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "4 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "5 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "6 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", + "7 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "8 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "9 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "10 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "11 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "12 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "13 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "14 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "15 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", + "16 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", + "17 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", + "18 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "19 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", + "20 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "21 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "22 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "23 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "24 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "25 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "26 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "27 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "28 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "29 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "30 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "31 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "32 93db3159e6449bc8cf78 23254 Classification 9.7 \n", + "33 6489dd5f6e1936b2336e 23254 Classification 9.7 \n", + "\n", + " created_at gold_standard expert \\\n", + "0 2023-01-05 17:09:18 UTC \n", + "1 2023-01-05 17:09:27 UTC \n", + "2 2023-01-05 17:09:29 UTC \n", + "3 2023-01-05 17:09:30 UTC \n", + "4 2023-01-05 17:09:32 UTC \n", + "5 2023-01-05 17:09:34 UTC \n", + "6 2023-01-05 17:09:36 UTC \n", + "7 2023-01-05 17:09:37 UTC \n", + "8 2023-01-05 17:09:40 UTC \n", + "9 2023-01-05 17:09:42 UTC \n", + "10 2023-01-05 17:09:44 UTC \n", + "11 2023-01-05 17:09:47 UTC \n", + "12 2023-01-05 17:09:49 UTC \n", + "13 2023-01-05 17:09:51 UTC \n", + "14 2023-01-05 17:09:53 UTC \n", + "15 2023-01-05 17:09:54 UTC \n", + "16 2023-01-05 17:10:03 UTC \n", + "17 2023-01-05 17:10:34 UTC \n", + "18 2023-01-05 17:12:10 UTC \n", + "19 2023-01-05 17:12:12 UTC \n", + "20 2023-01-05 17:12:15 UTC \n", + "21 2023-01-05 17:13:14 UTC \n", + "22 2023-01-05 17:13:19 UTC \n", + "23 2023-01-05 17:13:41 UTC \n", + "24 2023-01-05 17:13:44 UTC \n", + "25 2023-01-05 17:13:48 UTC \n", + "26 2023-01-05 17:13:52 UTC \n", + "27 2023-01-05 17:13:55 UTC \n", + "28 2023-01-05 17:13:57 UTC \n", + "29 2023-01-05 17:14:05 UTC \n", + "30 2023-01-05 17:16:35 UTC \n", + "31 2023-01-05 17:16:40 UTC \n", + "32 2023-01-05 17:16:44 UTC \n", + "33 2023-01-05 19:40:00 UTC \n", + "\n", + " metadata \\\n", + "0 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "1 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "2 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", + "3 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "4 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "5 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "6 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", + "7 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "8 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "9 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "10 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "11 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "12 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "13 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "14 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "15 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", + "16 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", + "17 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", + "18 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "19 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", + "20 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "21 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "22 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "23 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", + "24 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", + "25 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", + "26 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", + "27 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", + "28 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", + "29 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", + "30 {\"source\":\"api\",\"session\":\"18486065bb961c2f1bd... \n", + "31 {\"source\":\"api\",\"session\":\"18486065bb961c2f1bd... \n", + "32 {\"source\":\"api\",\"session\":\"18486065bb961c2f1bd... \n", + "33 {\"source\":\"api\",\"session\":\"500cd63d10b1f67a403... \n", + "\n", + " annotations \\\n", + "0 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "1 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "2 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "3 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "4 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "5 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "6 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "7 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "8 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "9 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "10 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "11 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "12 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "13 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "14 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "15 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "16 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "17 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "18 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "19 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "20 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "21 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "22 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "23 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "24 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "25 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "26 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "27 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "28 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "29 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "30 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "31 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "32 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "33 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "\n", + " subject_data subject_ids \n", + "0 {\"83428507\":{\"retired\":null}} 83428507 \n", + "1 {\"83428528\":{\"retired\":null}} 83428528 \n", + "2 {\"83428673\":{\"retired\":null}} 83428673 \n", + "3 {\"83428522\":{\"retired\":null}} 83428522 \n", + "4 {\"83428624\":{\"retired\":null}} 83428624 \n", + "5 {\"83428488\":{\"retired\":null}} 83428488 \n", + "6 {\"83428610\":{\"retired\":null}} 83428610 \n", + "7 {\"83428619\":{\"retired\":null}} 83428619 \n", + "8 {\"83428583\":{\"retired\":null}} 83428583 \n", + "9 {\"83428592\":{\"retired\":null}} 83428592 \n", + "10 {\"83428578\":{\"retired\":null}} 83428578 \n", + "11 {\"83428626\":{\"retired\":null}} 83428626 \n", + "12 {\"83428649\":{\"retired\":null}} 83428649 \n", + "13 {\"83428516\":{\"retired\":null}} 83428516 \n", + "14 {\"83428615\":{\"retired\":null}} 83428615 \n", + "15 {\"83428676\":{\"retired\":null}} 83428676 \n", + "16 {\"83428515\":{\"retired\":null}} 83428515 \n", + "17 {\"83428561\":{\"retired\":null}} 83428561 \n", + "18 {\"83428608\":{\"retired\":null}} 83428608 \n", + "19 {\"83428551\":{\"retired\":null}} 83428551 \n", + "20 {\"83428576\":{\"retired\":null}} 83428576 \n", + "21 {\"83428504\":{\"retired\":null}} 83428504 \n", + "22 {\"83428569\":{\"retired\":null}} 83428569 \n", + "23 {\"83428643\":{\"retired\":null}} 83428643 \n", + "24 {\"83428673\":{\"retired\":null}} 83428673 \n", + "25 {\"83428637\":{\"retired\":null}} 83428637 \n", + "26 {\"83428551\":{\"retired\":null}} 83428551 \n", + "27 {\"83428504\":{\"retired\":null}} 83428504 \n", + "28 {\"83428665\":{\"retired\":null}} 83428665 \n", + "29 {\"83428489\":{\"retired\":null}} 83428489 \n", + "30 {\"83428494\":{\"retired\":null}} 83428494 \n", + "31 {\"83428593\":{\"retired\":null}} 83428593 \n", + "32 {\"83428650\":{\"retired\":null}} 83428650 \n", + "33 {\"83428529\":{\"retired\":null}} 83428529 " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "classification_data" ] }, { "cell_type": "markdown", - "id": "752ffc94-31c5-44fe-9cc9-0d04ded0e759", + "id": "db961c2e-0304-4d9e-8ac1-9e25197a2fc2", "metadata": {}, "source": [ - "Test to see if the above is the same as what we already have (below):" + "## 4. Extract annotations by task and sort by subject ID\n", + "There could be multiple tasks per item." ] }, { "cell_type": "code", - "execution_count": 17, - "id": "641b4197-a8db-49da-b317-6ddab4e0cc88", + "execution_count": 20, + "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": { "execution": { - "iopub.execute_input": "2024-07-01T18:18:04.120837Z", - "iopub.status.busy": "2024-07-01T18:18:04.120087Z", - "iopub.status.idle": "2024-07-01T18:18:04.124615Z", - "shell.execute_reply": "2024-07-01T18:18:04.124097Z", - "shell.execute_reply.started": "2024-07-01T18:18:04.120807Z" + "iopub.execute_input": "2024-08-22T15:18:07.378042Z", + "iopub.status.busy": "2024-08-22T15:18:07.377404Z", + "iopub.status.idle": "2024-08-22T15:18:07.404882Z", + "shell.execute_reply": "2024-08-22T15:18:07.404356Z", + "shell.execute_reply.started": "2024-08-22T15:18:07.378017Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
classification_idsubject_iduser_nameuser_idcreated_atdatatask
546025149883428488rebecca.nevin19465842023-01-05 17:09:34 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2946025238883428489rebecca.nevin19465842023-01-05 17:14:05 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
3046025283883428494rebecca.nevin19465842023-01-05 17:16:35 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2146025221883428504rebecca.nevin19465842023-01-05 17:13:14 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2746025234983428504rebecca.nevin19465842023-01-05 17:13:55 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
046025142483428507rebecca.nevin19465842023-01-05 17:09:18 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1646025162883428515sreevani16723742023-01-05 17:10:03 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1346025157883428516rebecca.nevin19465842023-01-05 17:09:51 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
346025147583428522rebecca.nevin19465842023-01-05 17:09:30 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
146025146483428528rebecca.nevin19465842023-01-05 17:09:27 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
3346028224483428529not-logged-in-6489dd5f6e1936b2336e2023-01-05 19:40:00 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1946025202683428551sreevani16723742023-01-05 17:12:12 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2646025233883428551rebecca.nevin19465842023-01-05 17:13:52 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1746025173083428561sreevani16723742023-01-05 17:10:34 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2246025222983428569rebecca.nevin19465842023-01-05 17:13:19 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2046025203383428576rebecca.nevin19465842023-01-05 17:12:15 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1046025155183428578rebecca.nevin19465842023-01-05 17:09:44 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
846025152983428583rebecca.nevin19465842023-01-05 17:09:40 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
946025154283428592rebecca.nevin19465842023-01-05 17:09:42 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
3146025285583428593rebecca.nevin19465842023-01-05 17:16:40 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1846025201783428608rebecca.nevin19465842023-01-05 17:12:10 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
646025150783428610sreevani16723742023-01-05 17:09:36 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1446025158683428615rebecca.nevin19465842023-01-05 17:09:53 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
746025150883428619rebecca.nevin19465842023-01-05 17:09:37 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
446025148483428624rebecca.nevin19465842023-01-05 17:09:32 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1146025156283428626rebecca.nevin19465842023-01-05 17:09:47 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2546025233083428637rebecca.nevin19465842023-01-05 17:13:48 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2346025230683428643rebecca.nevin19465842023-01-05 17:13:41 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1246025157283428649rebecca.nevin19465842023-01-05 17:09:49 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
3246025287283428650rebecca.nevin19465842023-01-05 17:16:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2846025235883428665rebecca.nevin19465842023-01-05 17:13:57 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
246025147083428673sreevani16723742023-01-05 17:09:29 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2446025231883428673rebecca.nevin19465842023-01-05 17:13:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1546025159183428676sreevani16723742023-01-05 17:09:54 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
\n", + "
" + ], + "text/plain": [ + " classification_id subject_id user_name user_id \\\n", + "5 460251498 83428488 rebecca.nevin 1946584 \n", + "29 460252388 83428489 rebecca.nevin 1946584 \n", + "30 460252838 83428494 rebecca.nevin 1946584 \n", + "21 460252218 83428504 rebecca.nevin 1946584 \n", + "27 460252349 83428504 rebecca.nevin 1946584 \n", + "0 460251424 83428507 rebecca.nevin 1946584 \n", + "16 460251628 83428515 sreevani 1672374 \n", + "13 460251578 83428516 rebecca.nevin 1946584 \n", + "3 460251475 83428522 rebecca.nevin 1946584 \n", + "1 460251464 83428528 rebecca.nevin 1946584 \n", + "33 460282244 83428529 not-logged-in-6489dd5f6e1936b2336e \n", + "19 460252026 83428551 sreevani 1672374 \n", + "26 460252338 83428551 rebecca.nevin 1946584 \n", + "17 460251730 83428561 sreevani 1672374 \n", + "22 460252229 83428569 rebecca.nevin 1946584 \n", + "20 460252033 83428576 rebecca.nevin 1946584 \n", + "10 460251551 83428578 rebecca.nevin 1946584 \n", + "8 460251529 83428583 rebecca.nevin 1946584 \n", + "9 460251542 83428592 rebecca.nevin 1946584 \n", + "31 460252855 83428593 rebecca.nevin 1946584 \n", + "18 460252017 83428608 rebecca.nevin 1946584 \n", + "6 460251507 83428610 sreevani 1672374 \n", + "14 460251586 83428615 rebecca.nevin 1946584 \n", + "7 460251508 83428619 rebecca.nevin 1946584 \n", + "4 460251484 83428624 rebecca.nevin 1946584 \n", + "11 460251562 83428626 rebecca.nevin 1946584 \n", + "25 460252330 83428637 rebecca.nevin 1946584 \n", + "23 460252306 83428643 rebecca.nevin 1946584 \n", + "12 460251572 83428649 rebecca.nevin 1946584 \n", + "32 460252872 83428650 rebecca.nevin 1946584 \n", + "28 460252358 83428665 rebecca.nevin 1946584 \n", + "2 460251470 83428673 sreevani 1672374 \n", + "24 460252318 83428673 rebecca.nevin 1946584 \n", + "15 460251591 83428676 sreevani 1672374 \n", + "\n", + " created_at data task \n", + "5 2023-01-05 17:09:34 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "29 2023-01-05 17:14:05 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "30 2023-01-05 17:16:35 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "21 2023-01-05 17:13:14 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "27 2023-01-05 17:13:55 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "0 2023-01-05 17:09:18 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "16 2023-01-05 17:10:03 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "13 2023-01-05 17:09:51 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "3 2023-01-05 17:09:30 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "1 2023-01-05 17:09:27 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "33 2023-01-05 19:40:00 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "19 2023-01-05 17:12:12 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "26 2023-01-05 17:13:52 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "17 2023-01-05 17:10:34 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "22 2023-01-05 17:13:19 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "20 2023-01-05 17:12:15 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "10 2023-01-05 17:09:44 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "8 2023-01-05 17:09:40 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "9 2023-01-05 17:09:42 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "31 2023-01-05 17:16:40 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "18 2023-01-05 17:12:10 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "6 2023-01-05 17:09:36 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "14 2023-01-05 17:09:53 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "7 2023-01-05 17:09:37 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "4 2023-01-05 17:09:32 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "11 2023-01-05 17:09:47 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "25 2023-01-05 17:13:48 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "23 2023-01-05 17:13:41 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "12 2023-01-05 17:09:49 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "32 2023-01-05 17:16:44 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "28 2023-01-05 17:13:57 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "2 2023-01-05 17:09:29 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "24 2023-01-05 17:13:44 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "15 2023-01-05 17:09:54 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 " + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# again, this is from the citsci package\n", - "def retrieve_data(self, project_id):\n", - " \"\"\"\n", - " Given a project ID of a project that contains a completed workflow with \n", - " data that has been classified, this method will request the classified/\n", - " completed data and download it if it is available.\n", - " \"\"\"\n", - "\n", - " classification_export = panoptes_client.Project(project_id).get_export(\n", - " \"classifications\"\n", - " )\n", - " list_rows = []\n", - "\n", - " for row in classification_export.csv_reader():\n", - " list_rows.append(row)\n", - "\n", - " return list_rows\n" + "extracted_data = extract_data(classification_data)\n", + "extracted_data" + ] + }, + { + "cell_type": "markdown", + "id": "6cbe65b0-dc50-4550-92a6-a2954c897c12", + "metadata": {}, + "source": [ + "## 5. Aggregate the annotations\n", + "Sort by unique subject ID and then unique tasks. Find the most recent classification for each user ID, and uses the Zooniverse consensus builder to look through all user classifications and build consensus." ] }, { "cell_type": "code", - "execution_count": 22, - "id": "b0184a6f-05bc-4672-99d1-df60cd2bf646", + "execution_count": 21, + "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", "metadata": { "execution": { - "iopub.execute_input": "2024-07-01T18:19:09.508108Z", - "iopub.status.busy": "2024-07-01T18:19:09.507314Z", - "iopub.status.idle": "2024-07-01T18:19:09.960699Z", - "shell.execute_reply": "2024-07-01T18:19:09.959992Z", - "shell.execute_reply.started": "2024-07-01T18:19:09.508077Z" + "iopub.execute_input": "2024-08-22T15:18:36.501881Z", + "iopub.status.busy": "2024-08-22T15:18:36.501315Z", + "iopub.status.idle": "2024-08-22T15:18:36.552102Z", + "shell.execute_reply": "2024-08-22T15:18:36.551553Z", + "shell.execute_reply.started": "2024-08-22T15:18:36.501856Z" } }, "outputs": [], "source": [ - "project_id = 19539\n", - "raw_clas_data = cit_sci_pipeline.retrieve_data(project_id)" + "aggregated_data = aggregate_data(extracted_data)" ] }, { "cell_type": "code", - "execution_count": 23, - "id": "fcae42f9-2288-4575-b919-fa1a9a68114d", + "execution_count": 22, + "id": "fab35094-bae0-4883-91ed-6d0215a17135", "metadata": { "execution": { - "iopub.execute_input": "2024-07-01T18:19:16.420063Z", - "iopub.status.busy": "2024-07-01T18:19:16.419210Z", - "iopub.status.idle": "2024-07-01T18:19:16.427361Z", - "shell.execute_reply": "2024-07-01T18:19:16.426745Z", - "shell.execute_reply.started": "2024-07-01T18:19:16.420036Z" + "iopub.execute_input": "2024-08-22T15:18:42.095088Z", + "iopub.status.busy": "2024-08-22T15:18:42.094343Z", + "iopub.status.idle": "2024-08-22T15:18:42.105353Z", + "shell.execute_reply": "2024-08-22T15:18:42.104867Z", + "shell.execute_reply.started": "2024-08-22T15:18:42.095060Z" } }, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
most_likelynum_votesagreementaggregation_versionsubject_idtask
0yes11.04.1.083428488T0
1yes11.04.1.083428489T0
2yes11.04.1.083428494T0
3yes11.04.1.083428504T0
4yes11.04.1.083428507T0
5no11.04.1.083428515T0
6no11.04.1.083428516T0
7yes11.04.1.083428522T0
8no11.04.1.083428528T0
9no11.04.1.083428529T0
10no10.54.1.083428551T0
11no11.04.1.083428561T0
12yes11.04.1.083428569T0
13yes11.04.1.083428576T0
14yes11.04.1.083428578T0
15yes11.04.1.083428583T0
16no11.04.1.083428592T0
17no11.04.1.083428593T0
18yes11.04.1.083428608T0
19no11.04.1.083428610T0
20yes11.04.1.083428615T0
21no11.04.1.083428619T0
22no11.04.1.083428624T0
23no11.04.1.083428626T0
24no11.04.1.083428637T0
25yes11.04.1.083428643T0
26yes11.04.1.083428649T0
27no11.04.1.083428650T0
28no11.04.1.083428665T0
29no21.04.1.083428673T0
30yes11.04.1.083428676T0
\n", + "
" + ], "text/plain": [ - "[['classification_id',\n", - " 'user_name',\n", - " 'user_id',\n", - " 'user_ip',\n", - " 'workflow_id',\n", - " 'workflow_name',\n", - " 'workflow_version',\n", - " 'created_at',\n", - " 'gold_standard',\n", - " 'expert',\n", - " 'metadata',\n", - " 'annotations',\n", - " 'subject_data',\n", - " 'subject_ids'],\n", - " ['460251424',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:18 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:13.704Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:18.588Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428507\":{\"retired\":null}}',\n", - " '83428507'],\n", - " ['460251464',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:27 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:21.335Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:27.204Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428528\":{\"retired\":null}}',\n", - " '83428528'],\n", - " ['460251470',\n", - " 'sreevani',\n", - " '1672374',\n", - " '7a7b641fa98e42d34bde',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:29 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:16.468Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:26.365Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428673\":{\"retired\":null}}',\n", - " '83428673'],\n", - " ['460251475',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:30 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:27.887Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:29.954Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428522\":{\"retired\":null}}',\n", - " '83428522'],\n", - " ['460251484',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:32 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:30.822Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:32.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428624\":{\"retired\":null}}',\n", - " '83428624'],\n", - " ['460251498',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:34 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:33.052Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:34.761Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428488\":{\"retired\":null}}',\n", - " '83428488'],\n", - " ['460251507',\n", - " 'sreevani',\n", - " '1672374',\n", - " '7a7b641fa98e42d34bde',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:36 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:27.921Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:34.353Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428610\":{\"retired\":null}}',\n", - " '83428610'],\n", - " ['460251508',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:37 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:35.471Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:36.910Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428619\":{\"retired\":null}}',\n", - " '83428619'],\n", - " ['460251529',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:40 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:37.581Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:40.143Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428583\":{\"retired\":null}}',\n", - " '83428583'],\n", - " ['460251542',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:42 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:40.936Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:42.417Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428592\":{\"retired\":null}}',\n", - " '83428592'],\n", - " ['460251551',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:44 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:43.063Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:44.428Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428578\":{\"retired\":null}}',\n", - " '83428578'],\n", - " ['460251562',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:47 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:45.408Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:46.930Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428626\":{\"retired\":null}}',\n", - " '83428626'],\n", - " ['460251572',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:49 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:47.510Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:49.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428649\":{\"retired\":null}}',\n", - " '83428649'],\n", - " ['460251578',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:51 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:49.696Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:51.089Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428516\":{\"retired\":null}}',\n", - " '83428516'],\n", - " ['460251586',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:53 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:51.718Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:53.488Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428615\":{\"retired\":null}}',\n", - " '83428615'],\n", - " ['460251591',\n", - " 'sreevani',\n", - " '1672374',\n", - " '7a7b641fa98e42d34bde',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:09:54 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:36.103Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:52.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428676\":{\"retired\":null}}',\n", - " '83428676'],\n", - " ['460251628',\n", - " 'sreevani',\n", - " '1672374',\n", - " '7a7b641fa98e42d34bde',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:10:03 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:52.946Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:00.426Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428515\":{\"retired\":null}}',\n", - " '83428515'],\n", - " ['460251730',\n", - " 'sreevani',\n", - " '1672374',\n", - " '7a7b641fa98e42d34bde',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:10:34 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:01.271Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:32.520Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428561\":{\"retired\":null}}',\n", - " '83428561'],\n", - " ['460252017',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:12:10 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:54.135Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:09.902Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428608\":{\"retired\":null}}',\n", - " '83428608'],\n", - " ['460252026',\n", - " 'sreevani',\n", - " '1672374',\n", - " '7a7b641fa98e42d34bde',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:12:12 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:33.414Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:12:09.422Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428551\":{\"retired\":null}}',\n", - " '83428551'],\n", - " ['460252033',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:12:15 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:10.816Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:14.857Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428576\":{\"retired\":null}}',\n", - " '83428576'],\n", - " ['460252218',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:13:14 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:15.617Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:14.084Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428504\":{\"retired\":null}}',\n", - " '83428504'],\n", - " ['460252229',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:13:19 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:16.425Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:19.219Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428569\":{\"retired\":null}}',\n", - " '83428569'],\n", - " ['460252306',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:13:41 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:05:32.841Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:41.653Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428643\":{\"retired\":null}}',\n", - " '83428643'],\n", - " ['460252318',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:13:44 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:42.558Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:44.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428673\":{\"retired\":null}}',\n", - " '83428673'],\n", - " ['460252330',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:13:48 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:44.969Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:48.545Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428637\":{\"retired\":null}}',\n", - " '83428637'],\n", - " ['460252338',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:13:52 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:49.300Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:51.951Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428551\":{\"retired\":null}}',\n", - " '83428551'],\n", - " ['460252349',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:13:55 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:52.743Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:54.844Z\",\"seen_before\":true,\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428504\":{\"retired\":null}}',\n", - " '83428504'],\n", - " ['460252358',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:13:57 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:55.720Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:57.120Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428665\":{\"retired\":null}}',\n", - " '83428665'],\n", - " ['460252388',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:14:05 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:57.735Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:14:05.613Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:13:55.735Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428489\":{\"retired\":null}}',\n", - " '83428489'],\n", - " ['460252838',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:16:35 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:31.555Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:35.151Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]',\n", - " '{\"83428494\":{\"retired\":null}}',\n", - " '83428494'],\n", - " ['460252855',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:16:40 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:35.973Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:40.182Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428593\":{\"retired\":null}}',\n", - " '83428593'],\n", - " ['460252872',\n", - " 'rebecca.nevin',\n", - " '1946584',\n", - " 'cbfbf6eb78413a32bf60',\n", - " '23254',\n", - " 'Classification',\n", - " '9.7',\n", - " '2023-01-05 17:16:44 UTC',\n", - " '',\n", - " '',\n", - " '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:41.080Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:43.808Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}',\n", - " '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]',\n", - " '{\"83428650\":{\"retired\":null}}',\n", - " '83428650']]" + " most_likely num_votes agreement aggregation_version subject_id task\n", + "0 yes 1 1.0 4.1.0 83428488 T0\n", + "1 yes 1 1.0 4.1.0 83428489 T0\n", + "2 yes 1 1.0 4.1.0 83428494 T0\n", + "3 yes 1 1.0 4.1.0 83428504 T0\n", + "4 yes 1 1.0 4.1.0 83428507 T0\n", + "5 no 1 1.0 4.1.0 83428515 T0\n", + "6 no 1 1.0 4.1.0 83428516 T0\n", + "7 yes 1 1.0 4.1.0 83428522 T0\n", + "8 no 1 1.0 4.1.0 83428528 T0\n", + "9 no 1 1.0 4.1.0 83428529 T0\n", + "10 no 1 0.5 4.1.0 83428551 T0\n", + "11 no 1 1.0 4.1.0 83428561 T0\n", + "12 yes 1 1.0 4.1.0 83428569 T0\n", + "13 yes 1 1.0 4.1.0 83428576 T0\n", + "14 yes 1 1.0 4.1.0 83428578 T0\n", + "15 yes 1 1.0 4.1.0 83428583 T0\n", + "16 no 1 1.0 4.1.0 83428592 T0\n", + "17 no 1 1.0 4.1.0 83428593 T0\n", + "18 yes 1 1.0 4.1.0 83428608 T0\n", + "19 no 1 1.0 4.1.0 83428610 T0\n", + "20 yes 1 1.0 4.1.0 83428615 T0\n", + "21 no 1 1.0 4.1.0 83428619 T0\n", + "22 no 1 1.0 4.1.0 83428624 T0\n", + "23 no 1 1.0 4.1.0 83428626 T0\n", + "24 no 1 1.0 4.1.0 83428637 T0\n", + "25 yes 1 1.0 4.1.0 83428643 T0\n", + "26 yes 1 1.0 4.1.0 83428649 T0\n", + "27 no 1 1.0 4.1.0 83428650 T0\n", + "28 no 1 1.0 4.1.0 83428665 T0\n", + "29 no 2 1.0 4.1.0 83428673 T0\n", + "30 yes 1 1.0 4.1.0 83428676 T0" ] }, - "execution_count": 23, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "raw_clas_data" + "aggregated_data" ] }, { "cell_type": "markdown", - "id": "db961c2e-0304-4d9e-8ac1-9e25197a2fc2", + "id": "2b8ad7cd-a9d1-4496-8b70-5cbe26986e2c", "metadata": {}, "source": [ - "## Extract annotations by task and sort by subject ID\n", - "There could be multiple tasks per item." + "Note in txt about how you could join stuff now with another table." ] }, { "cell_type": "code", "execution_count": null, - "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", + "id": "d0f99dae-b69b-4ac5-a87f-4eaf4757a54d", "metadata": {}, "outputs": [], - "source": [ - "extracted_data = extract_data(classification_data)\n", - "extracted_data" - ] + "source": [] }, { "cell_type": "markdown", - "id": "6cbe65b0-dc50-4550-92a6-a2954c897c12", + "id": "a1005767-c8cc-4b1c-9cc6-a9f3267f5d6d", "metadata": {}, "source": [ - "## Aggregate the annotations\n", - "Sort by unique subject ID and then unique tasks. Find the most recent classification for each user ID, and uses the Zooniverse consensus builder to look through all user classifications and build consensus." + "What I haven't tested is the batch aggregation, which downloads classifications in a slightly different way?:" ] }, { "cell_type": "code", - "execution_count": null, - "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", - "metadata": {}, - "outputs": [], + "execution_count": 28, + "id": "22a1d081-95b7-43b7-a3b9-1fcc9369e6fb", + "metadata": { + "execution": { + "iopub.execute_input": "2024-08-22T15:24:05.254787Z", + "iopub.status.busy": "2024-08-22T15:24:05.254133Z", + "iopub.status.idle": "2024-08-22T15:24:10.055004Z", + "shell.execute_reply": "2024-08-22T15:24:10.054217Z", + "shell.execute_reply.started": "2024-08-22T15:24:05.254765Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sign in to zooniverse.org:\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "username: ········\n", + "password: ········\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generating classification data - could take some time\n", + "beginning function\n", + "workflow class loaded? \n", + "all attributes of this workflow ['RESERVED_ATTRIBUTES', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_api_slug', '_edit_attributes', '_export_path', '_link_slug', '_loaded', '_original_configuration', '_original_retirement', '_original_tasks', '_savable_dict', 'add_alice_extractors', 'add_alice_reducers', 'add_alice_rules_and_effects', 'add_caesar_extractor', 'add_caesar_reducer', 'add_caesar_rule', 'add_caesar_rule_effect', 'add_subject_sets', 'caesar_effects', 'caesar_extractors', 'caesar_reducers', 'caesar_rules', 'caesar_subject_extracts', 'caesar_subject_reductions', 'configure_for_alice', 'delete', 'describe_export', 'etag', 'find', 'generate_export', 'get_export', 'http_delete', 'http_get', 'http_post', 'http_put', 'import_caesar_data_extracts', 'links', 'modified_attributes', 'paginated_results', 'raw', 'reload', 'remove_subject_sets', 'retire_subjects', 'save', 'save_to_caesar', 'set_raw', 'subject_workflow_status', 'subject_workflow_statuses', 'unretire_subjects', 'unretire_subjects_by_subject_set', 'url', 'versions', 'wait_export', 'where']\n", + "this is the client were working with \n", + "export \n", + "type \n", + "csv_dictreader_instance \n", + "34it [00:00, 24979.21it/s]\n", + "pre conversion to df [{'classification_id': '460251424', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:18 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:13.704Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:18.588Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428507\":{\"retired\":null}}', 'subject_ids': '83428507'}, {'classification_id': '460251464', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:27 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:21.335Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:27.204Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428528\":{\"retired\":null}}', 'subject_ids': '83428528'}, {'classification_id': '460251470', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:29 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:16.468Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:26.365Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428673\":{\"retired\":null}}', 'subject_ids': '83428673'}, {'classification_id': '460251475', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:30 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:27.887Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:29.954Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428522\":{\"retired\":null}}', 'subject_ids': '83428522'}, {'classification_id': '460251484', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:32 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:30.822Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:32.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428624\":{\"retired\":null}}', 'subject_ids': '83428624'}, {'classification_id': '460251498', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:34 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:33.052Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:34.761Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428488\":{\"retired\":null}}', 'subject_ids': '83428488'}, {'classification_id': '460251507', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:36 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:27.921Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:34.353Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428610\":{\"retired\":null}}', 'subject_ids': '83428610'}, {'classification_id': '460251508', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:37 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:35.471Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:36.910Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428619\":{\"retired\":null}}', 'subject_ids': '83428619'}, {'classification_id': '460251529', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:40 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:37.581Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:40.143Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428583\":{\"retired\":null}}', 'subject_ids': '83428583'}, {'classification_id': '460251542', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:42 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:40.936Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:42.417Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428592\":{\"retired\":null}}', 'subject_ids': '83428592'}, {'classification_id': '460251551', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:43.063Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:44.428Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428578\":{\"retired\":null}}', 'subject_ids': '83428578'}, {'classification_id': '460251562', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:47 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:45.408Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:46.930Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428626\":{\"retired\":null}}', 'subject_ids': '83428626'}, {'classification_id': '460251572', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:49 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:47.510Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:49.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428649\":{\"retired\":null}}', 'subject_ids': '83428649'}, {'classification_id': '460251578', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:51 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:49.696Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:51.089Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428516\":{\"retired\":null}}', 'subject_ids': '83428516'}, {'classification_id': '460251586', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:53 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:51.718Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:53.488Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428615\":{\"retired\":null}}', 'subject_ids': '83428615'}, {'classification_id': '460251591', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:54 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:36.103Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:52.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428676\":{\"retired\":null}}', 'subject_ids': '83428676'}, {'classification_id': '460251628', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:10:03 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:52.946Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:00.426Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428515\":{\"retired\":null}}', 'subject_ids': '83428515'}, {'classification_id': '460251730', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:10:34 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:01.271Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:32.520Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428561\":{\"retired\":null}}', 'subject_ids': '83428561'}, {'classification_id': '460252017', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:10 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:54.135Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:09.902Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428608\":{\"retired\":null}}', 'subject_ids': '83428608'}, {'classification_id': '460252026', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:12 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:33.414Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:12:09.422Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428551\":{\"retired\":null}}', 'subject_ids': '83428551'}, {'classification_id': '460252033', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:15 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:10.816Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:14.857Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428576\":{\"retired\":null}}', 'subject_ids': '83428576'}, {'classification_id': '460252218', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:14 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:15.617Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:14.084Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428504\":{\"retired\":null}}', 'subject_ids': '83428504'}, {'classification_id': '460252229', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:19 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:16.425Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:19.219Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428569\":{\"retired\":null}}', 'subject_ids': '83428569'}, {'classification_id': '460252306', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:41 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:05:32.841Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:41.653Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428643\":{\"retired\":null}}', 'subject_ids': '83428643'}, {'classification_id': '460252318', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:42.558Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:44.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428673\":{\"retired\":null}}', 'subject_ids': '83428673'}, {'classification_id': '460252330', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:48 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:44.969Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:48.545Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428637\":{\"retired\":null}}', 'subject_ids': '83428637'}, {'classification_id': '460252338', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:52 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:49.300Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:51.951Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428551\":{\"retired\":null}}', 'subject_ids': '83428551'}, {'classification_id': '460252349', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:55 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:52.743Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:54.844Z\",\"seen_before\":true,\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428504\":{\"retired\":null}}', 'subject_ids': '83428504'}, {'classification_id': '460252358', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:57 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:55.720Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:57.120Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428665\":{\"retired\":null}}', 'subject_ids': '83428665'}, {'classification_id': '460252388', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:14:05 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:57.735Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:14:05.613Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:13:55.735Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428489\":{\"retired\":null}}', 'subject_ids': '83428489'}, {'classification_id': '460252838', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:35 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:31.555Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:35.151Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428494\":{\"retired\":null}}', 'subject_ids': '83428494'}, {'classification_id': '460252855', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:40 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:35.973Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:40.182Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428593\":{\"retired\":null}}', 'subject_ids': '83428593'}, {'classification_id': '460252872', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:41.080Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:43.808Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428650\":{\"retired\":null}}', 'subject_ids': '83428650'}, {'classification_id': '460282244', 'user_name': 'not-logged-in-6489dd5f6e1936b2336e', 'user_id': '', 'user_ip': '6489dd5f6e1936b2336e', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 19:40:00 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"500cd63d10b1f67a4038e8e6457a6fca892db7a71677de313ef5db005362c278\",\"viewport\":{\"width\":865,\"height\":493},\"started_at\":\"2023-01-05T19:39:53.177Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T19:40:00.721Z\",\"live_project\":false,\"interventions\":{\"opt_in\":false,\"messageShown\":false},\"user_language\":\"en\",\"subject_dimensions\":[{\"clientWidth\":555,\"clientHeight\":445,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T19:39:53.226Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428529\":{\"retired\":null}}', 'subject_ids': '83428529'}]\n", + "Saving classifications\n", + "Extracting annotations\n" + ] + }, + { + "ename": "KeyError", + "evalue": "'subject_id'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipykernel_656/396955853.py\u001b[0m in \u001b[0;36m?\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbatch_aggregation\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgenerate_new_classifications\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mWORKFLOW_ID\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mWORKFLOW_ID\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/tmp/ipykernel_656/1996850338.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(generate_new_classifications, WORKFLOW_ID)\u001b[0m\n\u001b[1;32m 187\u001b[0m \u001b[0mclassification_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mclassification_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mclassification_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mworkflow_id\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0mWORKFLOW_ID\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 188\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 189\u001b[0m \u001b[0;31m# extract annotations\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 190\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Extracting annotations'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 191\u001b[0;31m \u001b[0mextracted_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mextract_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mclassification_data\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mclassification_data\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 192\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 193\u001b[0m \u001b[0;31m# aggregate annotations\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 194\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Aggregating data'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/tmp/ipykernel_656/1996850338.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(classification_data)\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 82\u001b[0m \u001b[0;31m# convert the extracted data to a pandas dataframe and sort\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 83\u001b[0m \u001b[0mextracted_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_dict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mextracted_rows\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 84\u001b[0;31m \u001b[0mextracted_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msort_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'subject_id'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'created_at'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minplace\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 85\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 86\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mextracted_data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/.local/lib/python3.11/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, by, axis, ascending, inplace, kind, na_position, ignore_index, key)\u001b[0m\n\u001b[1;32m 6923\u001b[0m \u001b[0;34mf\"Length of ascending ({len(ascending)})\"\u001b[0m \u001b[0;31m# type: ignore[arg-type]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6924\u001b[0m \u001b[0;34mf\" != length of by ({len(by)})\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6925\u001b[0m )\n\u001b[1;32m 6926\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mby\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 6927\u001b[0;31m \u001b[0mkeys\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_label_or_level_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mby\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6928\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6929\u001b[0m \u001b[0;31m# need to rewrap columns in Series to apply key function\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6930\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mkey\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/.local/lib/python3.11/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(.0)\u001b[0m\n\u001b[0;32m-> 6927\u001b[0;31m \u001b[0;34m...\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margsort\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindex_natsorted\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"time\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m~/.local/lib/python3.11/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, key, axis)\u001b[0m\n\u001b[1;32m 1840\u001b[0m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mother_axes\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1841\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_is_level_reference\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1842\u001b[0m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maxes\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_level_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1843\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1844\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1845\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1846\u001b[0m \u001b[0;31m# Check for duplicates\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1847\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyError\u001b[0m: 'subject_id'" + ] + } + ], "source": [ - "aggregated_data = aggregate_data(extracted_data)" + "out = batch_aggregation(generate_new_classifications=True,WORKFLOW_ID=WORKFLOW_ID)" ] }, { "cell_type": "code", "execution_count": null, - "id": "fab35094-bae0-4883-91ed-6d0215a17135", + "id": "2049655d-e783-4054-9d0a-ef9af3dcc12f", "metadata": {}, "outputs": [], "source": [] @@ -1187,7 +2360,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.7" + "version": "3.11.9" } }, "nbformat": 4, From 79fa6ffc010d4f60e96495814070102251655d26 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Wed, 11 Sep 2024 15:29:41 +0000 Subject: [PATCH 07/23] removing printouts from download_classifications, removing the combo batch_aggregation function --- 03_Aggregate_Classifications.ipynb | 394 +++++++++-------------------- 1 file changed, 115 insertions(+), 279 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 35b0cc2..2f25b3d 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -93,15 +93,15 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 2, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-08-22T15:09:10.128877Z", - "iopub.status.busy": "2024-08-22T15:09:10.128152Z", - "iopub.status.idle": "2024-08-22T15:09:10.132149Z", - "shell.execute_reply": "2024-08-22T15:09:10.131611Z", - "shell.execute_reply.started": "2024-08-22T15:09:10.128852Z" + "iopub.execute_input": "2024-09-11T15:22:24.484210Z", + "iopub.status.busy": "2024-09-11T15:22:24.483854Z", + "iopub.status.idle": "2024-09-11T15:22:28.005466Z", + "shell.execute_reply": "2024-09-11T15:22:28.004748Z", + "shell.execute_reply.started": "2024-09-11T15:22:24.484183Z" } }, "outputs": [], @@ -137,15 +137,15 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 12, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-09-11T14:58:25.795177Z", - "iopub.status.busy": "2024-09-11T14:58:25.794870Z", - "iopub.status.idle": "2024-09-11T14:58:25.808288Z", - "shell.execute_reply": "2024-09-11T14:58:25.807636Z", - "shell.execute_reply.started": "2024-09-11T14:58:25.795155Z" + "iopub.execute_input": "2024-09-11T15:26:41.747663Z", + "iopub.status.busy": "2024-09-11T15:26:41.747321Z", + "iopub.status.idle": "2024-09-11T15:26:41.757152Z", + "shell.execute_reply": "2024-09-11T15:26:41.756615Z", + "shell.execute_reply.started": "2024-09-11T15:26:41.747638Z" } }, "outputs": [], @@ -163,11 +163,6 @@ " \"\"\"\n", " print('beginning function')\n", " workflow = Workflow(WORKFLOW_ID)\n", - " print('workflow class loaded?', workflow)\n", - " print('all attributes of this workflow', dir(workflow))\n", - "\n", - " print('this is the client were working with', client)\n", - " \n", " # generate the classifications \n", " # if generate=True, it generates a new classification report,\n", " # which can take a long time because they’re queued in the Zooniverse system.\n", @@ -177,21 +172,11 @@ " classification_export = workflow.get_export('classifications',\n", " generate=False,\n", " wait=False)\n", - " print('export', classification_export)\n", - " print('type', type(classification_export))\n", " # since it's a partial class, call it to get the DictReader object\n", " csv_dictreader_instance = classification_export.csv_dictreader()\n", - " print('csv_dictreader_instance', csv_dictreader_instance)\n", - "\n", - " # the below line is taking forever to run\n", " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", - "\n", - " #classification_rows = [row for row in tqdm(classification_export.csv_dictreader())]\n", - "\n", " # convert to pandas dataframe\n", - " print('pre conversion to df', classification_rows)\n", " classification_data = pd.DataFrame.from_dict(classification_rows)\n", - "\n", " return classification_data\n", "\n", "\n", @@ -237,8 +222,6 @@ "\n", " return extracted_data\n", "\n", - "\n", - "\n", "def last_filter(data):\n", " \"\"\"\n", " Determines the most recently submitted classifications\n", @@ -247,7 +230,6 @@ " ldx = data.created_at == last_time\n", " return data[ldx]\n", "\n", - "\n", "def aggregate_data(extracted_data):\n", " \"\"\"\n", " Aggregates question data from extracted annotations\n", @@ -305,49 +287,7 @@ " # drop rows that are nan\n", " aggregated_data.dropna(inplace=True)\n", "\n", - " return aggregated_data\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "def batch_aggregation(generate_new_classifications=False, WORKFLOW_ID=13193): \n", - " \"\"\"\n", - " Downloads raw classifications, extracts annotations, and aggregates data\n", - "\n", - " Args:\n", - " WORKFLOW_ID (int): Workflow ID of workflow being aggregated\n", - " client: Logged in Zooniverse client\n", - "\n", - " Returns:\n", - " aggregated_data (DataFrame): Aggregated data for the given workflow\n", - " \"\"\"\n", - "\n", - " if generate_new_classifications:\n", - " # connect to client and download data\n", - " print('Sign in to zooniverse.org:')\n", - " client = Panoptes.client(username=getpass.getpass('username: '), password=getpass.getpass('password: '))\n", - " print('Generating classification data - could take some time')\n", - " classification_data = download_classifications(WORKFLOW_ID=WORKFLOW_ID, client=client)\n", - " print('Saving classifications')\n", - " classification_data.to_csv('galaxy-classifications.csv', index=False)\n", - " else:\n", - " # or just open the file\n", - " print('Loading classifications')\n", - " classification_data = pd.read_csv('galaxy-classifications.csv')\n", - "\n", - " # limit classifications to those for the relevant workflow\n", - " classification_data = classification_data[classification_data.workflow_id==WORKFLOW_ID]\n", - "\n", - " # extract annotations\n", - " print('Extracting annotations')\n", - " extracted_data = extract_data(classification_data=classification_data)\n", - "\n", - " # aggregate annotations\n", - " print('Aggregating data')\n", - " final_data = aggregate_data(extracted_data=extracted_data)\n", - "\n", - " return final_data" + " return aggregated_data" ] }, { @@ -369,10 +309,71 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-09-11T15:26:50.891248Z", + "iopub.status.busy": "2024-09-11T15:26:50.890527Z", + "iopub.status.idle": "2024-09-11T15:27:01.536776Z", + "shell.execute_reply": "2024-09-11T15:27:01.536139Z", + "shell.execute_reply.started": "2024-09-11T15:26:50.891224Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading and running utilities to establish a link with Zooniverse\n", + "Enter your Zooniverse username followed by password below\n", + "Enter your Zooniverse credentials...\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Username: rebecca.nevin\n", + " ········\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You now are logged in to the Zooniverse platform.\n", + "\n", + "*==* Your Project Slugs *==*\n", + "\n", + "rebecca-dot-nevin/template-test-copy-2024-07-09-21-49-53\n", + "rebecca-dot-nevin/template-test-copy-2024-07-09-19-02-02\n", + "rebecca-dot-nevin/template-test-copy-2024-07-09-18-53-39\n", + "rebecca-dot-nevin/template-test-copy-2024-07-03-21-54-30\n", + "rebecca-dot-nevin/template-test-copy-2024-07-02-22-11-52\n", + "rebecca-dot-nevin/pcw-2023-awesome-citsci-project\n", + "rebecca-dot-nevin/test-project\n", + "rebecca-dot-nevin/galaxy-rotation-fields\n", + "\n", + "*==========================*\n", + "\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Which project would you like to send data to (copy & paste the slug name here)? rebecca-dot-nevin/test-project\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Current project set to: rebecca-dot-nevin/test-project\n" + ] + } + ], "source": [ "email = \"beckynevin@gmail.com\"\n", "cit_sci_pipeline = pipeline.CitSciPipeline()\n", @@ -390,15 +391,15 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 14, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-08-22T15:17:37.734235Z", - "iopub.status.busy": "2024-08-22T15:17:37.733978Z", - "iopub.status.idle": "2024-08-22T15:17:38.250746Z", - "shell.execute_reply": "2024-08-22T15:17:38.250217Z", - "shell.execute_reply.started": "2024-08-22T15:17:37.734217Z" + "iopub.execute_input": "2024-09-11T15:27:04.122739Z", + "iopub.status.busy": "2024-09-11T15:27:04.121866Z", + "iopub.status.idle": "2024-09-11T15:27:04.526568Z", + "shell.execute_reply": "2024-09-11T15:27:04.525957Z", + "shell.execute_reply.started": "2024-09-11T15:27:04.122708Z" } }, "outputs": [ @@ -407,14 +408,7 @@ "output_type": "stream", "text": [ "beginning function\n", - "workflow class loaded? \n", - "all attributes of this workflow ['RESERVED_ATTRIBUTES', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_api_slug', '_edit_attributes', '_export_path', '_link_slug', '_loaded', '_original_configuration', '_original_retirement', '_original_tasks', '_savable_dict', 'add_alice_extractors', 'add_alice_reducers', 'add_alice_rules_and_effects', 'add_caesar_extractor', 'add_caesar_reducer', 'add_caesar_rule', 'add_caesar_rule_effect', 'add_subject_sets', 'caesar_effects', 'caesar_extractors', 'caesar_reducers', 'caesar_rules', 'caesar_subject_extracts', 'caesar_subject_reductions', 'configure_for_alice', 'delete', 'describe_export', 'etag', 'find', 'generate_export', 'get_export', 'http_delete', 'http_get', 'http_post', 'http_put', 'import_caesar_data_extracts', 'links', 'modified_attributes', 'paginated_results', 'raw', 'reload', 'remove_subject_sets', 'retire_subjects', 'save', 'save_to_caesar', 'set_raw', 'subject_workflow_status', 'subject_workflow_statuses', 'unretire_subjects', 'unretire_subjects_by_subject_set', 'url', 'versions', 'wait_export', 'where']\n", - "this is the client were working with \n", - "export \n", - "type \n", - "csv_dictreader_instance \n", - "34it [00:00, 26561.06it/s]\n", - "pre conversion to df [{'classification_id': '460251424', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:18 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:13.704Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:18.588Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428507\":{\"retired\":null}}', 'subject_ids': '83428507'}, {'classification_id': '460251464', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:27 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:21.335Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:27.204Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428528\":{\"retired\":null}}', 'subject_ids': '83428528'}, {'classification_id': '460251470', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:29 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:16.468Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:26.365Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428673\":{\"retired\":null}}', 'subject_ids': '83428673'}, {'classification_id': '460251475', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:30 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:27.887Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:29.954Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428522\":{\"retired\":null}}', 'subject_ids': '83428522'}, {'classification_id': '460251484', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:32 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:30.822Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:32.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428624\":{\"retired\":null}}', 'subject_ids': '83428624'}, {'classification_id': '460251498', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:34 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:33.052Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:34.761Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428488\":{\"retired\":null}}', 'subject_ids': '83428488'}, {'classification_id': '460251507', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:36 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:27.921Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:34.353Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428610\":{\"retired\":null}}', 'subject_ids': '83428610'}, {'classification_id': '460251508', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:37 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:35.471Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:36.910Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428619\":{\"retired\":null}}', 'subject_ids': '83428619'}, {'classification_id': '460251529', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:40 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:37.581Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:40.143Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428583\":{\"retired\":null}}', 'subject_ids': '83428583'}, {'classification_id': '460251542', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:42 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:40.936Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:42.417Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428592\":{\"retired\":null}}', 'subject_ids': '83428592'}, {'classification_id': '460251551', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:43.063Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:44.428Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428578\":{\"retired\":null}}', 'subject_ids': '83428578'}, {'classification_id': '460251562', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:47 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:45.408Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:46.930Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428626\":{\"retired\":null}}', 'subject_ids': '83428626'}, {'classification_id': '460251572', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:49 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:47.510Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:49.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428649\":{\"retired\":null}}', 'subject_ids': '83428649'}, {'classification_id': '460251578', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:51 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:49.696Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:51.089Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428516\":{\"retired\":null}}', 'subject_ids': '83428516'}, {'classification_id': '460251586', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:53 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:51.718Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:53.488Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428615\":{\"retired\":null}}', 'subject_ids': '83428615'}, {'classification_id': '460251591', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:54 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:36.103Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:52.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428676\":{\"retired\":null}}', 'subject_ids': '83428676'}, {'classification_id': '460251628', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:10:03 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:52.946Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:00.426Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428515\":{\"retired\":null}}', 'subject_ids': '83428515'}, {'classification_id': '460251730', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:10:34 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:01.271Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:32.520Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428561\":{\"retired\":null}}', 'subject_ids': '83428561'}, {'classification_id': '460252017', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:10 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:54.135Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:09.902Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428608\":{\"retired\":null}}', 'subject_ids': '83428608'}, {'classification_id': '460252026', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:12 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:33.414Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:12:09.422Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428551\":{\"retired\":null}}', 'subject_ids': '83428551'}, {'classification_id': '460252033', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:15 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:10.816Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:14.857Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428576\":{\"retired\":null}}', 'subject_ids': '83428576'}, {'classification_id': '460252218', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:14 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:15.617Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:14.084Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428504\":{\"retired\":null}}', 'subject_ids': '83428504'}, {'classification_id': '460252229', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:19 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:16.425Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:19.219Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428569\":{\"retired\":null}}', 'subject_ids': '83428569'}, {'classification_id': '460252306', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:41 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:05:32.841Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:41.653Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428643\":{\"retired\":null}}', 'subject_ids': '83428643'}, {'classification_id': '460252318', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:42.558Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:44.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428673\":{\"retired\":null}}', 'subject_ids': '83428673'}, {'classification_id': '460252330', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:48 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:44.969Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:48.545Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428637\":{\"retired\":null}}', 'subject_ids': '83428637'}, {'classification_id': '460252338', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:52 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:49.300Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:51.951Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428551\":{\"retired\":null}}', 'subject_ids': '83428551'}, {'classification_id': '460252349', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:55 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:52.743Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:54.844Z\",\"seen_before\":true,\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428504\":{\"retired\":null}}', 'subject_ids': '83428504'}, {'classification_id': '460252358', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:57 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:55.720Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:57.120Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428665\":{\"retired\":null}}', 'subject_ids': '83428665'}, {'classification_id': '460252388', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:14:05 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:57.735Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:14:05.613Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:13:55.735Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428489\":{\"retired\":null}}', 'subject_ids': '83428489'}, {'classification_id': '460252838', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:35 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:31.555Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:35.151Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428494\":{\"retired\":null}}', 'subject_ids': '83428494'}, {'classification_id': '460252855', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:40 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:35.973Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:40.182Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428593\":{\"retired\":null}}', 'subject_ids': '83428593'}, {'classification_id': '460252872', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:41.080Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:43.808Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428650\":{\"retired\":null}}', 'subject_ids': '83428650'}, {'classification_id': '460282244', 'user_name': 'not-logged-in-6489dd5f6e1936b2336e', 'user_id': '', 'user_ip': '6489dd5f6e1936b2336e', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 19:40:00 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"500cd63d10b1f67a4038e8e6457a6fca892db7a71677de313ef5db005362c278\",\"viewport\":{\"width\":865,\"height\":493},\"started_at\":\"2023-01-05T19:39:53.177Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T19:40:00.721Z\",\"live_project\":false,\"interventions\":{\"opt_in\":false,\"messageShown\":false},\"user_language\":\"en\",\"subject_dimensions\":[{\"clientWidth\":555,\"clientHeight\":445,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T19:39:53.226Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428529\":{\"retired\":null}}', 'subject_ids': '83428529'}]\n" + "34it [00:00, 26600.70it/s]\n" ] } ], @@ -428,15 +422,15 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 15, "id": "87efe634-b609-483f-b3d3-49f7623fc565", "metadata": { "execution": { - "iopub.execute_input": "2024-08-22T15:17:14.461872Z", - "iopub.status.busy": "2024-08-22T15:17:14.461222Z", - "iopub.status.idle": "2024-08-22T15:17:14.482139Z", - "shell.execute_reply": "2024-08-22T15:17:14.481565Z", - "shell.execute_reply.started": "2024-08-22T15:17:14.461848Z" + "iopub.execute_input": "2024-09-11T15:27:05.152829Z", + "iopub.status.busy": "2024-09-11T15:27:05.152406Z", + "iopub.status.idle": "2024-09-11T15:27:05.169049Z", + "shell.execute_reply": "2024-09-11T15:27:05.168407Z", + "shell.execute_reply.started": "2024-09-11T15:27:05.152798Z" } }, "outputs": [ @@ -1278,7 +1272,7 @@ "33 {\"83428529\":{\"retired\":null}} 83428529 " ] }, - "execution_count": 17, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -1298,16 +1292,17 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 16, "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": { "execution": { - "iopub.execute_input": "2024-08-22T15:18:07.378042Z", - "iopub.status.busy": "2024-08-22T15:18:07.377404Z", - "iopub.status.idle": "2024-08-22T15:18:07.404882Z", - "shell.execute_reply": "2024-08-22T15:18:07.404356Z", - "shell.execute_reply.started": "2024-08-22T15:18:07.378017Z" - } + "iopub.execute_input": "2024-09-11T15:27:06.674047Z", + "iopub.status.busy": "2024-09-11T15:27:06.673723Z", + "iopub.status.idle": "2024-09-11T15:27:06.691442Z", + "shell.execute_reply": "2024-09-11T15:27:06.690809Z", + "shell.execute_reply.started": "2024-09-11T15:27:06.674026Z" + }, + "scrolled": true }, "outputs": [ { @@ -1759,7 +1754,7 @@ "15 2023-01-05 17:09:54 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 " ] }, - "execution_count": 20, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -1780,15 +1775,15 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 17, "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", "metadata": { "execution": { - "iopub.execute_input": "2024-08-22T15:18:36.501881Z", - "iopub.status.busy": "2024-08-22T15:18:36.501315Z", - "iopub.status.idle": "2024-08-22T15:18:36.552102Z", - "shell.execute_reply": "2024-08-22T15:18:36.551553Z", - "shell.execute_reply.started": "2024-08-22T15:18:36.501856Z" + "iopub.execute_input": "2024-09-11T15:27:07.995435Z", + "iopub.status.busy": "2024-09-11T15:27:07.994451Z", + "iopub.status.idle": "2024-09-11T15:27:08.056303Z", + "shell.execute_reply": "2024-09-11T15:27:08.055308Z", + "shell.execute_reply.started": "2024-09-11T15:27:07.995406Z" } }, "outputs": [], @@ -1798,15 +1793,15 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 18, "id": "fab35094-bae0-4883-91ed-6d0215a17135", "metadata": { "execution": { - "iopub.execute_input": "2024-08-22T15:18:42.095088Z", - "iopub.status.busy": "2024-08-22T15:18:42.094343Z", - "iopub.status.idle": "2024-08-22T15:18:42.105353Z", - "shell.execute_reply": "2024-08-22T15:18:42.104867Z", - "shell.execute_reply.started": "2024-08-22T15:18:42.095060Z" + "iopub.execute_input": "2024-09-11T15:27:08.771139Z", + "iopub.status.busy": "2024-09-11T15:27:08.770182Z", + "iopub.status.idle": "2024-09-11T15:27:08.782064Z", + "shell.execute_reply": "2024-09-11T15:27:08.781432Z", + "shell.execute_reply.started": "2024-09-11T15:27:08.771112Z" } }, "outputs": [ @@ -2158,7 +2153,7 @@ "30 yes 1 1.0 4.1.0 83428676 T0" ] }, - "execution_count": 22, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -2172,7 +2167,8 @@ "id": "2b8ad7cd-a9d1-4496-8b70-5cbe26986e2c", "metadata": {}, "source": [ - "Note in txt about how you could join stuff now with another table." + "## 6. Next steps and additional resources\n", + "You are now done" ] }, { @@ -2182,166 +2178,6 @@ "metadata": {}, "outputs": [], "source": [] - }, - { - "cell_type": "markdown", - "id": "a1005767-c8cc-4b1c-9cc6-a9f3267f5d6d", - "metadata": {}, - "source": [ - "What I haven't tested is the batch aggregation, which downloads classifications in a slightly different way?:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "22a1d081-95b7-43b7-a3b9-1fcc9369e6fb", - "metadata": { - "execution": { - "iopub.execute_input": "2024-08-22T15:24:05.254787Z", - "iopub.status.busy": "2024-08-22T15:24:05.254133Z", - "iopub.status.idle": "2024-08-22T15:24:10.055004Z", - "shell.execute_reply": "2024-08-22T15:24:10.054217Z", - "shell.execute_reply.started": "2024-08-22T15:24:05.254765Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Sign in to zooniverse.org:\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "username: ········\n", - "password: ········\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generating classification data - could take some time\n", - "beginning function\n", - "workflow class loaded? \n", - "all attributes of this workflow ['RESERVED_ATTRIBUTES', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_api_slug', '_edit_attributes', '_export_path', '_link_slug', '_loaded', '_original_configuration', '_original_retirement', '_original_tasks', '_savable_dict', 'add_alice_extractors', 'add_alice_reducers', 'add_alice_rules_and_effects', 'add_caesar_extractor', 'add_caesar_reducer', 'add_caesar_rule', 'add_caesar_rule_effect', 'add_subject_sets', 'caesar_effects', 'caesar_extractors', 'caesar_reducers', 'caesar_rules', 'caesar_subject_extracts', 'caesar_subject_reductions', 'configure_for_alice', 'delete', 'describe_export', 'etag', 'find', 'generate_export', 'get_export', 'http_delete', 'http_get', 'http_post', 'http_put', 'import_caesar_data_extracts', 'links', 'modified_attributes', 'paginated_results', 'raw', 'reload', 'remove_subject_sets', 'retire_subjects', 'save', 'save_to_caesar', 'set_raw', 'subject_workflow_status', 'subject_workflow_statuses', 'unretire_subjects', 'unretire_subjects_by_subject_set', 'url', 'versions', 'wait_export', 'where']\n", - "this is the client were working with \n", - "export \n", - "type \n", - "csv_dictreader_instance \n", - "34it [00:00, 24979.21it/s]\n", - "pre conversion to df [{'classification_id': '460251424', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:18 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:13.704Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:18.588Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428507\":{\"retired\":null}}', 'subject_ids': '83428507'}, {'classification_id': '460251464', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:27 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:21.335Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:27.204Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428528\":{\"retired\":null}}', 'subject_ids': '83428528'}, {'classification_id': '460251470', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:29 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:16.468Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:26.365Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428673\":{\"retired\":null}}', 'subject_ids': '83428673'}, {'classification_id': '460251475', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:30 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:27.887Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:29.954Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428522\":{\"retired\":null}}', 'subject_ids': '83428522'}, {'classification_id': '460251484', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:32 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:30.822Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:32.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428624\":{\"retired\":null}}', 'subject_ids': '83428624'}, {'classification_id': '460251498', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:34 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:33.052Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:34.761Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428488\":{\"retired\":null}}', 'subject_ids': '83428488'}, {'classification_id': '460251507', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:36 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:27.921Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:34.353Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428610\":{\"retired\":null}}', 'subject_ids': '83428610'}, {'classification_id': '460251508', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:37 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:35.471Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:36.910Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428619\":{\"retired\":null}}', 'subject_ids': '83428619'}, {'classification_id': '460251529', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:40 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:37.581Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:40.143Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428583\":{\"retired\":null}}', 'subject_ids': '83428583'}, {'classification_id': '460251542', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:42 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:40.936Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:42.417Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428592\":{\"retired\":null}}', 'subject_ids': '83428592'}, {'classification_id': '460251551', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:43.063Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:44.428Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428578\":{\"retired\":null}}', 'subject_ids': '83428578'}, {'classification_id': '460251562', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:47 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:45.408Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:46.930Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:13.744Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428626\":{\"retired\":null}}', 'subject_ids': '83428626'}, {'classification_id': '460251572', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:49 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:47.510Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:49.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428649\":{\"retired\":null}}', 'subject_ids': '83428649'}, {'classification_id': '460251578', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:51 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:49.696Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:51.089Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428516\":{\"retired\":null}}', 'subject_ids': '83428516'}, {'classification_id': '460251586', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:53 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:51.718Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:09:53.488Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428615\":{\"retired\":null}}', 'subject_ids': '83428615'}, {'classification_id': '460251591', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:09:54 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:36.103Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:09:52.078Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428676\":{\"retired\":null}}', 'subject_ids': '83428676'}, {'classification_id': '460251628', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:10:03 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:09:52.946Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:00.426Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428515\":{\"retired\":null}}', 'subject_ids': '83428515'}, {'classification_id': '460251730', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:10:34 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:01.271Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:10:32.520Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428561\":{\"retired\":null}}', 'subject_ids': '83428561'}, {'classification_id': '460252017', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:10 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:09:54.135Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:09.902Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428608\":{\"retired\":null}}', 'subject_ids': '83428608'}, {'classification_id': '460252026', 'user_name': 'sreevani', 'user_id': '1672374', 'user_ip': 'adb6c943f6a02f9f48b3', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:12 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d0d2497fe77d73fb20157cb661f38cccc44199b49b083b\",\"viewport\":{\"width\":1324,\"height\":792},\"started_at\":\"2023-01-05T17:10:33.414Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15\",\"utc_offset\":\"-19800\",\"finished_at\":\"2023-01-05T17:12:09.422Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":827,\"clientHeight\":662,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:18.267Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428551\":{\"retired\":null}}', 'subject_ids': '83428551'}, {'classification_id': '460252033', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:12:15 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:10.816Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:12:14.857Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428576\":{\"retired\":null}}', 'subject_ids': '83428576'}, {'classification_id': '460252218', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:14 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:12:15.617Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:14.084Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428504\":{\"retired\":null}}', 'subject_ids': '83428504'}, {'classification_id': '460252229', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:19 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9c49c9f4b8d66f3dc7482b7a8f6e9f7234ef3245d404ed\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:16.425Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:19.219Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:09:45.395Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428569\":{\"retired\":null}}', 'subject_ids': '83428569'}, {'classification_id': '460252306', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:41 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:05:32.841Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:41.653Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428643\":{\"retired\":null}}', 'subject_ids': '83428643'}, {'classification_id': '460252318', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:42.558Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:44.286Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428673\":{\"retired\":null}}', 'subject_ids': '83428673'}, {'classification_id': '460252330', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:48 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:44.969Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:48.545Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428637\":{\"retired\":null}}', 'subject_ids': '83428637'}, {'classification_id': '460252338', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:52 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:49.300Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:51.951Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428551\":{\"retired\":null}}', 'subject_ids': '83428551'}, {'classification_id': '460252349', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:55 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:52.743Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:54.844Z\",\"seen_before\":true,\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428504\":{\"retired\":null}}', 'subject_ids': '83428504'}, {'classification_id': '460252358', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:13:57 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:55.720Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:13:57.120Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:05:32.809Z\",\"already_seen\":false,\"selection_state\":\"internal_fallback\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428665\":{\"retired\":null}}', 'subject_ids': '83428665'}, {'classification_id': '460252388', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:14:05 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904fa1d480ef7ddbc3029e49bfe6e809149c1910ed5396be0\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:13:57.735Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:14:05.613Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:13:55.735Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428489\":{\"retired\":null}}', 'subject_ids': '83428489'}, {'classification_id': '460252838', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:35 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:31.555Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:35.151Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"Yes\"}]', 'subject_data': '{\"83428494\":{\"retired\":null}}', 'subject_ids': '83428494'}, {'classification_id': '460252855', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:40 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:35.973Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:40.182Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428593\":{\"retired\":null}}', 'subject_ids': '83428593'}, {'classification_id': '460252872', 'user_name': 'rebecca.nevin', 'user_id': '1946584', 'user_ip': '93db3159e6449bc8cf78', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 17:16:44 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd49ba25868f222ef94d23ff3798e6e5dcf1f653d076d99\",\"viewport\":{\"width\":1191,\"height\":776},\"started_at\":\"2023-01-05T17:16:41.080Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T17:16:43.808Z\",\"live_project\":false,\"interventions\":{\"opt_in\":true,\"messageShown\":false},\"user_language\":\"en\",\"user_group_ids\":[],\"subject_dimensions\":[{\"clientWidth\":702,\"clientHeight\":562,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T17:16:31.574Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428650\":{\"retired\":null}}', 'subject_ids': '83428650'}, {'classification_id': '460282244', 'user_name': 'not-logged-in-6489dd5f6e1936b2336e', 'user_id': '', 'user_ip': '6489dd5f6e1936b2336e', 'workflow_id': '23254', 'workflow_name': 'Classification', 'workflow_version': '9.7', 'created_at': '2023-01-05 19:40:00 UTC', 'gold_standard': '', 'expert': '', 'metadata': '{\"source\":\"api\",\"session\":\"500cd63d10b1f67a4038e8e6457a6fca892db7a71677de313ef5db005362c278\",\"viewport\":{\"width\":865,\"height\":493},\"started_at\":\"2023-01-05T19:39:53.177Z\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15\",\"utc_offset\":\"25200\",\"finished_at\":\"2023-01-05T19:40:00.721Z\",\"live_project\":false,\"interventions\":{\"opt_in\":false,\"messageShown\":false},\"user_language\":\"en\",\"subject_dimensions\":[{\"clientWidth\":555,\"clientHeight\":445,\"naturalWidth\":1000,\"naturalHeight\":800}],\"subject_selection_state\":{\"retired\":false,\"selected_at\":\"2023-01-05T19:39:53.226Z\",\"already_seen\":false,\"selection_state\":\"normal\",\"finished_workflow\":false,\"user_has_finished_workflow\":false},\"workflow_translation_id\":\"61197\"}', 'annotations': '[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\",\"value\":\"No\"}]', 'subject_data': '{\"83428529\":{\"retired\":null}}', 'subject_ids': '83428529'}]\n", - "Saving classifications\n", - "Extracting annotations\n" - ] - }, - { - "ename": "KeyError", - "evalue": "'subject_id'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m/tmp/ipykernel_656/396955853.py\u001b[0m in \u001b[0;36m?\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbatch_aggregation\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgenerate_new_classifications\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mWORKFLOW_ID\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mWORKFLOW_ID\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m/tmp/ipykernel_656/1996850338.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(generate_new_classifications, WORKFLOW_ID)\u001b[0m\n\u001b[1;32m 187\u001b[0m \u001b[0mclassification_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mclassification_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mclassification_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mworkflow_id\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0mWORKFLOW_ID\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 188\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 189\u001b[0m \u001b[0;31m# extract annotations\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 190\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Extracting annotations'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 191\u001b[0;31m \u001b[0mextracted_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mextract_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mclassification_data\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mclassification_data\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 192\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 193\u001b[0m \u001b[0;31m# aggregate annotations\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 194\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Aggregating data'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/tmp/ipykernel_656/1996850338.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(classification_data)\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 82\u001b[0m \u001b[0;31m# convert the extracted data to a pandas dataframe and sort\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 83\u001b[0m \u001b[0mextracted_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_dict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mextracted_rows\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 84\u001b[0;31m \u001b[0mextracted_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msort_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'subject_id'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'created_at'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minplace\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 85\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 86\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mextracted_data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib/python3.11/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, by, axis, ascending, inplace, kind, na_position, ignore_index, key)\u001b[0m\n\u001b[1;32m 6923\u001b[0m \u001b[0;34mf\"Length of ascending ({len(ascending)})\"\u001b[0m \u001b[0;31m# type: ignore[arg-type]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6924\u001b[0m \u001b[0;34mf\" != length of by ({len(by)})\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6925\u001b[0m )\n\u001b[1;32m 6926\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mby\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 6927\u001b[0;31m \u001b[0mkeys\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_label_or_level_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mby\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6928\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6929\u001b[0m \u001b[0;31m# need to rewrap columns in Series to apply key function\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6930\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mkey\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib/python3.11/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(.0)\u001b[0m\n\u001b[0;32m-> 6927\u001b[0;31m \u001b[0;34m...\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margsort\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindex_natsorted\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"time\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/.local/lib/python3.11/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, key, axis)\u001b[0m\n\u001b[1;32m 1840\u001b[0m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mother_axes\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1841\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_is_level_reference\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1842\u001b[0m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maxes\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_level_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1843\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1844\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1845\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1846\u001b[0m \u001b[0;31m# Check for duplicates\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1847\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mKeyError\u001b[0m: 'subject_id'" - ] - } - ], - "source": [ - "out = batch_aggregation(generate_new_classifications=True,WORKFLOW_ID=WORKFLOW_ID)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2049655d-e783-4054-9d0a-ef9af3dcc12f", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "094f1bc5-a81c-4e2a-83e3-c85d3d6b0676", - "metadata": {}, - "outputs": [], - "source": [ - "# issues:\n", - "# get_data_from_zooniverse is undefined\n", - "# the pip install does not work for panoptes_aggregation\n", - "# download_classifications takes upwards of 43 minutes to run,\n", - "# is this because I haven't completed the workflow? Because I have" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "9c9ea823-383f-4ea7-98a6-f167afc5bfe2", - "metadata": { - "execution": { - "iopub.execute_input": "2024-06-26T18:07:05.268384Z", - "iopub.status.busy": "2024-06-26T18:07:05.268066Z", - "iopub.status.idle": "2024-06-26T18:07:09.740118Z", - "shell.execute_reply": "2024-06-26T18:07:09.739170Z", - "shell.execute_reply.started": "2024-06-26T18:07:05.268360Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Sign in to zooniverse.org:\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "username: ········\n", - "password: ········\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generating classification data - could take some time\n" - ] - }, - { - "ename": "NameError", - "evalue": "name 'get_data_from_zooniverse' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[5], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m WORKFLOW_ID \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m23254\u001b[39m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mbatch_aggregation\u001b[49m\u001b[43m(\u001b[49m\u001b[43mWORKFLOW_ID\u001b[49m\u001b[43m)\u001b[49m\n", - "Cell \u001b[0;32mIn[2], line 158\u001b[0m, in \u001b[0;36mbatch_aggregation\u001b[0;34m(generate_new_classifications, WORKFLOW_ID)\u001b[0m\n\u001b[1;32m 156\u001b[0m client \u001b[38;5;241m=\u001b[39m Panoptes\u001b[38;5;241m.\u001b[39mclient(username\u001b[38;5;241m=\u001b[39mgetpass\u001b[38;5;241m.\u001b[39mgetpass(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124musername: \u001b[39m\u001b[38;5;124m'\u001b[39m), password\u001b[38;5;241m=\u001b[39mgetpass\u001b[38;5;241m.\u001b[39mgetpass(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mpassword: \u001b[39m\u001b[38;5;124m'\u001b[39m))\n\u001b[1;32m 157\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mGenerating classification data - could take some time\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m--> 158\u001b[0m classification_data \u001b[38;5;241m=\u001b[39m \u001b[43mget_data_from_zooniverse\u001b[49m(WORKFLOW_ID\u001b[38;5;241m=\u001b[39mWORKFLOW_ID, client\u001b[38;5;241m=\u001b[39mclient)\n\u001b[1;32m 159\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mSaving classifications\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 160\u001b[0m classification_data\u001b[38;5;241m.\u001b[39mto_csv(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124msuperluminous-supernovae-classifications.csv\u001b[39m\u001b[38;5;124m'\u001b[39m, index\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n", - "\u001b[0;31mNameError\u001b[0m: name 'get_data_from_zooniverse' is not defined" - ] - } - ], - "source": [ - "WORKFLOW_ID = 23254\n", - "batch_aggregation(WORKFLOW_ID)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "601a1d44-98f2-45a6-905b-fb2c070ee706", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From 846fd866b033f4a9c3aa53a76fbd6bfcbf98d320 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Wed, 11 Sep 2024 15:34:05 +0000 Subject: [PATCH 08/23] adding a future work section to 03 --- 03_Aggregate_Classifications.ipynb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 2f25b3d..282092f 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -2168,7 +2168,11 @@ "metadata": {}, "source": [ "## 6. Next steps and additional resources\n", - "You are now done" + "You are now done! Congratulations!\n", + "Next steps could include joining the above table by subject ID with WHAT????\n", + "Additional resources include the Zooniverse team's resources to run panoptes through python (https://github.com/zooniverse/panoptes-python-client/tree/master), which includes tools to:\n", + "- update and\n", + "- ???? to your project on Zooniverse." ] }, { From 43d0dea8e15a50fdc58b9e9a37e9bc15a31f3a35 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Thu, 12 Sep 2024 18:51:06 +0000 Subject: [PATCH 09/23] adding a function that makes subject ID its own column in the classification table but then commenting it out because we already have subject ID as an option --- 03_Aggregate_Classifications.ipynb | 938 +++-------------------------- 1 file changed, 70 insertions(+), 868 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 282092f..cf58108 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -93,15 +93,15 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-09-11T15:22:24.484210Z", - "iopub.status.busy": "2024-09-11T15:22:24.483854Z", - "iopub.status.idle": "2024-09-11T15:22:28.005466Z", - "shell.execute_reply": "2024-09-11T15:22:28.004748Z", - "shell.execute_reply.started": "2024-09-11T15:22:24.484183Z" + "iopub.execute_input": "2024-09-12T18:04:29.781025Z", + "iopub.status.busy": "2024-09-12T18:04:29.780741Z", + "iopub.status.idle": "2024-09-12T18:04:33.292680Z", + "shell.execute_reply": "2024-09-12T18:04:33.291428Z", + "shell.execute_reply.started": "2024-09-12T18:04:29.781004Z" } }, "outputs": [], @@ -137,15 +137,15 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-09-11T15:26:41.747663Z", - "iopub.status.busy": "2024-09-11T15:26:41.747321Z", - "iopub.status.idle": "2024-09-11T15:26:41.757152Z", - "shell.execute_reply": "2024-09-11T15:26:41.756615Z", - "shell.execute_reply.started": "2024-09-11T15:26:41.747638Z" + "iopub.execute_input": "2024-09-12T18:38:45.213838Z", + "iopub.status.busy": "2024-09-12T18:38:45.213453Z", + "iopub.status.idle": "2024-09-12T18:38:45.228887Z", + "shell.execute_reply": "2024-09-12T18:38:45.227943Z", + "shell.execute_reply.started": "2024-09-12T18:38:45.213815Z" } }, "outputs": [], @@ -177,6 +177,35 @@ " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", " # convert to pandas dataframe\n", " classification_data = pd.DataFrame.from_dict(classification_rows)\n", + "\n", + " '''\n", + " # Extract metadata such as input IDs from the 'subject_data' column\n", + " def extract_input_id(row):\n", + " \"\"\"\n", + " Extracts the original input ID from the 'subject_data' JSON field in the classification data.\n", + "\n", + " Args:\n", + " row (Series): A row of the DataFrame.\n", + "\n", + " Returns:\n", + " input_id (str or None): The original input ID, if available.\n", + " \"\"\"\n", + " # Convert 'subject_data' to a dictionary using json.loads\n", + " try:\n", + " subject_data = json.loads(row.get('subject_data', '{}'))\n", + " # Extract the first subject's data (assuming there's only one subject per classification)\n", + " subject_metadata = next(iter(subject_data.values()), {})\n", + " # Return the original input ID or None if not found\n", + " return subject_metadata.get('original_id')\n", + " except json.JSONDecodeError:\n", + " # Handle the case where the JSON is not properly formatted\n", + " return None\n", + "\n", + " # Apply the extraction function to each row\n", + " classification_data['input_id'] = classification_data.apply(extract_input_id, axis=1)\n", + " '''\n", + " \n", + " \n", " return classification_data\n", "\n", "\n", @@ -200,6 +229,8 @@ " # access the specific row and extract the annotations\n", " row = classification_data.iloc[i]\n", " for annotation in json.loads(row.annotations):\n", + " print('annotation', annotation)\n", + " continue\n", "\n", " row_annotation = annotation_by_task({'annotations': [annotation]})\n", " extract = question_extractor(row_annotation)\n", @@ -214,6 +245,7 @@ " 'data': json.dumps(extract),\n", " 'task': annotation['task']\n", " })\n", + " STOP\n", "\n", "\n", " # convert the extracted data to a pandas dataframe and sort\n", @@ -309,15 +341,15 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 3, "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", "metadata": { "execution": { - "iopub.execute_input": "2024-09-11T15:26:50.891248Z", - "iopub.status.busy": "2024-09-11T15:26:50.890527Z", - "iopub.status.idle": "2024-09-11T15:27:01.536776Z", - "shell.execute_reply": "2024-09-11T15:27:01.536139Z", - "shell.execute_reply.started": "2024-09-11T15:26:50.891224Z" + "iopub.execute_input": "2024-09-12T18:04:41.016356Z", + "iopub.status.busy": "2024-09-12T18:04:41.015258Z", + "iopub.status.idle": "2024-09-12T18:04:51.313020Z", + "shell.execute_reply": "2024-09-12T18:04:51.312318Z", + "shell.execute_reply.started": "2024-09-12T18:04:41.016322Z" } }, "outputs": [ @@ -395,11 +427,11 @@ "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-09-11T15:27:04.122739Z", - "iopub.status.busy": "2024-09-11T15:27:04.121866Z", - "iopub.status.idle": "2024-09-11T15:27:04.526568Z", - "shell.execute_reply": "2024-09-11T15:27:04.525957Z", - "shell.execute_reply.started": "2024-09-11T15:27:04.122708Z" + "iopub.execute_input": "2024-09-12T18:38:48.197082Z", + "iopub.status.busy": "2024-09-12T18:38:48.196739Z", + "iopub.status.idle": "2024-09-12T18:38:48.779304Z", + "shell.execute_reply": "2024-09-12T18:38:48.778605Z", + "shell.execute_reply.started": "2024-09-12T18:38:48.197059Z" } }, "outputs": [ @@ -408,7 +440,7 @@ "output_type": "stream", "text": [ "beginning function\n", - "34it [00:00, 26600.70it/s]\n" + "34it [00:00, 23082.93it/s]\n" ] } ], @@ -422,15 +454,15 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 18, "id": "87efe634-b609-483f-b3d3-49f7623fc565", "metadata": { "execution": { - "iopub.execute_input": "2024-09-11T15:27:05.152829Z", - "iopub.status.busy": "2024-09-11T15:27:05.152406Z", - "iopub.status.idle": "2024-09-11T15:27:05.169049Z", - "shell.execute_reply": "2024-09-11T15:27:05.168407Z", - "shell.execute_reply.started": "2024-09-11T15:27:05.152798Z" + "iopub.execute_input": "2024-09-12T18:45:50.663675Z", + "iopub.status.busy": "2024-09-12T18:45:50.663242Z", + "iopub.status.idle": "2024-09-12T18:45:50.687102Z", + "shell.execute_reply": "2024-09-12T18:45:50.686411Z", + "shell.execute_reply.started": "2024-09-12T18:45:50.663646Z" } }, "outputs": [ @@ -1272,7 +1304,7 @@ "33 {\"83428529\":{\"retired\":null}} 83428529 " ] }, - "execution_count": 15, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1292,473 +1324,12 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": { - "execution": { - "iopub.execute_input": "2024-09-11T15:27:06.674047Z", - "iopub.status.busy": "2024-09-11T15:27:06.673723Z", - "iopub.status.idle": "2024-09-11T15:27:06.691442Z", - "shell.execute_reply": "2024-09-11T15:27:06.690809Z", - "shell.execute_reply.started": "2024-09-11T15:27:06.674026Z" - }, "scrolled": true }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
classification_idsubject_iduser_nameuser_idcreated_atdatatask
546025149883428488rebecca.nevin19465842023-01-05 17:09:34 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2946025238883428489rebecca.nevin19465842023-01-05 17:14:05 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
3046025283883428494rebecca.nevin19465842023-01-05 17:16:35 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2146025221883428504rebecca.nevin19465842023-01-05 17:13:14 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2746025234983428504rebecca.nevin19465842023-01-05 17:13:55 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
046025142483428507rebecca.nevin19465842023-01-05 17:09:18 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1646025162883428515sreevani16723742023-01-05 17:10:03 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1346025157883428516rebecca.nevin19465842023-01-05 17:09:51 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
346025147583428522rebecca.nevin19465842023-01-05 17:09:30 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
146025146483428528rebecca.nevin19465842023-01-05 17:09:27 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
3346028224483428529not-logged-in-6489dd5f6e1936b2336e2023-01-05 19:40:00 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1946025202683428551sreevani16723742023-01-05 17:12:12 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2646025233883428551rebecca.nevin19465842023-01-05 17:13:52 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1746025173083428561sreevani16723742023-01-05 17:10:34 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2246025222983428569rebecca.nevin19465842023-01-05 17:13:19 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2046025203383428576rebecca.nevin19465842023-01-05 17:12:15 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1046025155183428578rebecca.nevin19465842023-01-05 17:09:44 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
846025152983428583rebecca.nevin19465842023-01-05 17:09:40 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
946025154283428592rebecca.nevin19465842023-01-05 17:09:42 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
3146025285583428593rebecca.nevin19465842023-01-05 17:16:40 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1846025201783428608rebecca.nevin19465842023-01-05 17:12:10 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
646025150783428610sreevani16723742023-01-05 17:09:36 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1446025158683428615rebecca.nevin19465842023-01-05 17:09:53 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
746025150883428619rebecca.nevin19465842023-01-05 17:09:37 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
446025148483428624rebecca.nevin19465842023-01-05 17:09:32 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1146025156283428626rebecca.nevin19465842023-01-05 17:09:47 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2546025233083428637rebecca.nevin19465842023-01-05 17:13:48 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2346025230683428643rebecca.nevin19465842023-01-05 17:13:41 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1246025157283428649rebecca.nevin19465842023-01-05 17:09:49 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
3246025287283428650rebecca.nevin19465842023-01-05 17:16:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2846025235883428665rebecca.nevin19465842023-01-05 17:13:57 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
246025147083428673sreevani16723742023-01-05 17:09:29 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2446025231883428673rebecca.nevin19465842023-01-05 17:13:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1546025159183428676sreevani16723742023-01-05 17:09:54 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
\n", - "
" - ], - "text/plain": [ - " classification_id subject_id user_name user_id \\\n", - "5 460251498 83428488 rebecca.nevin 1946584 \n", - "29 460252388 83428489 rebecca.nevin 1946584 \n", - "30 460252838 83428494 rebecca.nevin 1946584 \n", - "21 460252218 83428504 rebecca.nevin 1946584 \n", - "27 460252349 83428504 rebecca.nevin 1946584 \n", - "0 460251424 83428507 rebecca.nevin 1946584 \n", - "16 460251628 83428515 sreevani 1672374 \n", - "13 460251578 83428516 rebecca.nevin 1946584 \n", - "3 460251475 83428522 rebecca.nevin 1946584 \n", - "1 460251464 83428528 rebecca.nevin 1946584 \n", - "33 460282244 83428529 not-logged-in-6489dd5f6e1936b2336e \n", - "19 460252026 83428551 sreevani 1672374 \n", - "26 460252338 83428551 rebecca.nevin 1946584 \n", - "17 460251730 83428561 sreevani 1672374 \n", - "22 460252229 83428569 rebecca.nevin 1946584 \n", - "20 460252033 83428576 rebecca.nevin 1946584 \n", - "10 460251551 83428578 rebecca.nevin 1946584 \n", - "8 460251529 83428583 rebecca.nevin 1946584 \n", - "9 460251542 83428592 rebecca.nevin 1946584 \n", - "31 460252855 83428593 rebecca.nevin 1946584 \n", - "18 460252017 83428608 rebecca.nevin 1946584 \n", - "6 460251507 83428610 sreevani 1672374 \n", - "14 460251586 83428615 rebecca.nevin 1946584 \n", - "7 460251508 83428619 rebecca.nevin 1946584 \n", - "4 460251484 83428624 rebecca.nevin 1946584 \n", - "11 460251562 83428626 rebecca.nevin 1946584 \n", - "25 460252330 83428637 rebecca.nevin 1946584 \n", - "23 460252306 83428643 rebecca.nevin 1946584 \n", - "12 460251572 83428649 rebecca.nevin 1946584 \n", - "32 460252872 83428650 rebecca.nevin 1946584 \n", - "28 460252358 83428665 rebecca.nevin 1946584 \n", - "2 460251470 83428673 sreevani 1672374 \n", - "24 460252318 83428673 rebecca.nevin 1946584 \n", - "15 460251591 83428676 sreevani 1672374 \n", - "\n", - " created_at data task \n", - "5 2023-01-05 17:09:34 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "29 2023-01-05 17:14:05 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "30 2023-01-05 17:16:35 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "21 2023-01-05 17:13:14 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "27 2023-01-05 17:13:55 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "0 2023-01-05 17:09:18 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "16 2023-01-05 17:10:03 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "13 2023-01-05 17:09:51 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "3 2023-01-05 17:09:30 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "1 2023-01-05 17:09:27 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "33 2023-01-05 19:40:00 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "19 2023-01-05 17:12:12 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "26 2023-01-05 17:13:52 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "17 2023-01-05 17:10:34 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "22 2023-01-05 17:13:19 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "20 2023-01-05 17:12:15 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "10 2023-01-05 17:09:44 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "8 2023-01-05 17:09:40 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "9 2023-01-05 17:09:42 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "31 2023-01-05 17:16:40 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "18 2023-01-05 17:12:10 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "6 2023-01-05 17:09:36 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "14 2023-01-05 17:09:53 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "7 2023-01-05 17:09:37 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "4 2023-01-05 17:09:32 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "11 2023-01-05 17:09:47 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "25 2023-01-05 17:13:48 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "23 2023-01-05 17:13:41 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "12 2023-01-05 17:09:49 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "32 2023-01-05 17:16:44 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "28 2023-01-05 17:13:57 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "2 2023-01-05 17:09:29 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "24 2023-01-05 17:13:44 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "15 2023-01-05 17:09:54 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 " - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "extracted_data = extract_data(classification_data)\n", "extracted_data" @@ -1775,17 +1346,9 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", - "metadata": { - "execution": { - "iopub.execute_input": "2024-09-11T15:27:07.995435Z", - "iopub.status.busy": "2024-09-11T15:27:07.994451Z", - "iopub.status.idle": "2024-09-11T15:27:08.056303Z", - "shell.execute_reply": "2024-09-11T15:27:08.055308Z", - "shell.execute_reply.started": "2024-09-11T15:27:07.995406Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "aggregated_data = aggregate_data(extracted_data)" @@ -1793,371 +1356,10 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "fab35094-bae0-4883-91ed-6d0215a17135", - "metadata": { - "execution": { - "iopub.execute_input": "2024-09-11T15:27:08.771139Z", - "iopub.status.busy": "2024-09-11T15:27:08.770182Z", - "iopub.status.idle": "2024-09-11T15:27:08.782064Z", - "shell.execute_reply": "2024-09-11T15:27:08.781432Z", - "shell.execute_reply.started": "2024-09-11T15:27:08.771112Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
most_likelynum_votesagreementaggregation_versionsubject_idtask
0yes11.04.1.083428488T0
1yes11.04.1.083428489T0
2yes11.04.1.083428494T0
3yes11.04.1.083428504T0
4yes11.04.1.083428507T0
5no11.04.1.083428515T0
6no11.04.1.083428516T0
7yes11.04.1.083428522T0
8no11.04.1.083428528T0
9no11.04.1.083428529T0
10no10.54.1.083428551T0
11no11.04.1.083428561T0
12yes11.04.1.083428569T0
13yes11.04.1.083428576T0
14yes11.04.1.083428578T0
15yes11.04.1.083428583T0
16no11.04.1.083428592T0
17no11.04.1.083428593T0
18yes11.04.1.083428608T0
19no11.04.1.083428610T0
20yes11.04.1.083428615T0
21no11.04.1.083428619T0
22no11.04.1.083428624T0
23no11.04.1.083428626T0
24no11.04.1.083428637T0
25yes11.04.1.083428643T0
26yes11.04.1.083428649T0
27no11.04.1.083428650T0
28no11.04.1.083428665T0
29no21.04.1.083428673T0
30yes11.04.1.083428676T0
\n", - "
" - ], - "text/plain": [ - " most_likely num_votes agreement aggregation_version subject_id task\n", - "0 yes 1 1.0 4.1.0 83428488 T0\n", - "1 yes 1 1.0 4.1.0 83428489 T0\n", - "2 yes 1 1.0 4.1.0 83428494 T0\n", - "3 yes 1 1.0 4.1.0 83428504 T0\n", - "4 yes 1 1.0 4.1.0 83428507 T0\n", - "5 no 1 1.0 4.1.0 83428515 T0\n", - "6 no 1 1.0 4.1.0 83428516 T0\n", - "7 yes 1 1.0 4.1.0 83428522 T0\n", - "8 no 1 1.0 4.1.0 83428528 T0\n", - "9 no 1 1.0 4.1.0 83428529 T0\n", - "10 no 1 0.5 4.1.0 83428551 T0\n", - "11 no 1 1.0 4.1.0 83428561 T0\n", - "12 yes 1 1.0 4.1.0 83428569 T0\n", - "13 yes 1 1.0 4.1.0 83428576 T0\n", - "14 yes 1 1.0 4.1.0 83428578 T0\n", - "15 yes 1 1.0 4.1.0 83428583 T0\n", - "16 no 1 1.0 4.1.0 83428592 T0\n", - "17 no 1 1.0 4.1.0 83428593 T0\n", - "18 yes 1 1.0 4.1.0 83428608 T0\n", - "19 no 1 1.0 4.1.0 83428610 T0\n", - "20 yes 1 1.0 4.1.0 83428615 T0\n", - "21 no 1 1.0 4.1.0 83428619 T0\n", - "22 no 1 1.0 4.1.0 83428624 T0\n", - "23 no 1 1.0 4.1.0 83428626 T0\n", - "24 no 1 1.0 4.1.0 83428637 T0\n", - "25 yes 1 1.0 4.1.0 83428643 T0\n", - "26 yes 1 1.0 4.1.0 83428649 T0\n", - "27 no 1 1.0 4.1.0 83428650 T0\n", - "28 no 1 1.0 4.1.0 83428665 T0\n", - "29 no 2 1.0 4.1.0 83428673 T0\n", - "30 yes 1 1.0 4.1.0 83428676 T0" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "aggregated_data" ] From cdf930632cb24ff68b92d9552ffa3e243bf3c264 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Mon, 16 Sep 2024 17:57:43 +0000 Subject: [PATCH 10/23] update to include printing out workflow ID, metadata is blank for subject ID indicating something has gone wrong internally --- 03_Aggregate_Classifications.ipynb | 1156 +++++++++++++++++++++++++--- 1 file changed, 1037 insertions(+), 119 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index cf58108..f67ec71 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -97,11 +97,11 @@ "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-09-12T18:04:29.781025Z", - "iopub.status.busy": "2024-09-12T18:04:29.780741Z", - "iopub.status.idle": "2024-09-12T18:04:33.292680Z", - "shell.execute_reply": "2024-09-12T18:04:33.291428Z", - "shell.execute_reply.started": "2024-09-12T18:04:29.781004Z" + "iopub.execute_input": "2024-09-16T17:33:40.012054Z", + "iopub.status.busy": "2024-09-16T17:33:40.011683Z", + "iopub.status.idle": "2024-09-16T17:33:41.624159Z", + "shell.execute_reply": "2024-09-16T17:33:41.623591Z", + "shell.execute_reply.started": "2024-09-16T17:33:40.012035Z" } }, "outputs": [], @@ -141,11 +141,11 @@ "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-09-12T18:38:45.213838Z", - "iopub.status.busy": "2024-09-12T18:38:45.213453Z", - "iopub.status.idle": "2024-09-12T18:38:45.228887Z", - "shell.execute_reply": "2024-09-12T18:38:45.227943Z", - "shell.execute_reply.started": "2024-09-12T18:38:45.213815Z" + "iopub.execute_input": "2024-09-16T17:51:48.050668Z", + "iopub.status.busy": "2024-09-16T17:51:48.049940Z", + "iopub.status.idle": "2024-09-16T17:51:48.060285Z", + "shell.execute_reply": "2024-09-16T17:51:48.059704Z", + "shell.execute_reply.started": "2024-09-16T17:51:48.050642Z" } }, "outputs": [], @@ -177,35 +177,6 @@ " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", " # convert to pandas dataframe\n", " classification_data = pd.DataFrame.from_dict(classification_rows)\n", - "\n", - " '''\n", - " # Extract metadata such as input IDs from the 'subject_data' column\n", - " def extract_input_id(row):\n", - " \"\"\"\n", - " Extracts the original input ID from the 'subject_data' JSON field in the classification data.\n", - "\n", - " Args:\n", - " row (Series): A row of the DataFrame.\n", - "\n", - " Returns:\n", - " input_id (str or None): The original input ID, if available.\n", - " \"\"\"\n", - " # Convert 'subject_data' to a dictionary using json.loads\n", - " try:\n", - " subject_data = json.loads(row.get('subject_data', '{}'))\n", - " # Extract the first subject's data (assuming there's only one subject per classification)\n", - " subject_metadata = next(iter(subject_data.values()), {})\n", - " # Return the original input ID or None if not found\n", - " return subject_metadata.get('original_id')\n", - " except json.JSONDecodeError:\n", - " # Handle the case where the JSON is not properly formatted\n", - " return None\n", - "\n", - " # Apply the extraction function to each row\n", - " classification_data['input_id'] = classification_data.apply(extract_input_id, axis=1)\n", - " '''\n", - " \n", - " \n", " return classification_data\n", "\n", "\n", @@ -229,9 +200,6 @@ " # access the specific row and extract the annotations\n", " row = classification_data.iloc[i]\n", " for annotation in json.loads(row.annotations):\n", - " print('annotation', annotation)\n", - " continue\n", - "\n", " row_annotation = annotation_by_task({'annotations': [annotation]})\n", " extract = question_extractor(row_annotation)\n", "\n", @@ -245,7 +213,6 @@ " 'data': json.dumps(extract),\n", " 'task': annotation['task']\n", " })\n", - " STOP\n", "\n", "\n", " # convert the extracted data to a pandas dataframe and sort\n", @@ -327,7 +294,7 @@ "id": "31a708c0-046f-4634-a22f-a80dd9b613f2", "metadata": {}, "source": [ - "## 2. Log into Zooniverse and link\n", + "## 2. Log into Zooniverse and find the workflow to download classifications from\n", "If you're running this notebook, you should already have a Zooniverse account with a project with classifications. If you do not yet have an account, please return to notebook `01_Introduction_to_Citsci_Pipeline.ipynb`.\n", "\n", "IMPORTANT: Your Zooniverse project must be set to \"public\", a \"private\" project will not work. Select this setting under the \"Visibility\" tab, (it does not need to be set to live). \n", @@ -345,11 +312,11 @@ "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", "metadata": { "execution": { - "iopub.execute_input": "2024-09-12T18:04:41.016356Z", - "iopub.status.busy": "2024-09-12T18:04:41.015258Z", - "iopub.status.idle": "2024-09-12T18:04:51.313020Z", - "shell.execute_reply": "2024-09-12T18:04:51.312318Z", - "shell.execute_reply.started": "2024-09-12T18:04:41.016322Z" + "iopub.execute_input": "2024-09-16T17:34:00.097704Z", + "iopub.status.busy": "2024-09-16T17:34:00.096972Z", + "iopub.status.idle": "2024-09-16T17:34:10.910995Z", + "shell.execute_reply": "2024-09-16T17:34:10.910225Z", + "shell.execute_reply.started": "2024-09-16T17:34:00.097664Z" } }, "outputs": [ @@ -395,7 +362,7 @@ "name": "stdin", "output_type": "stream", "text": [ - "Which project would you like to send data to (copy & paste the slug name here)? rebecca-dot-nevin/test-project\n" + "Which project would you like to connect to? (copy & paste the slug name here)? rebecca-dot-nevin/test-project\n" ] }, { @@ -412,6 +379,72 @@ "cit_sci_pipeline.login_to_zooniverse(email)" ] }, + { + "cell_type": "markdown", + "id": "b3426882-9f5c-4f8e-bdfb-1daed5230721", + "metadata": {}, + "source": [ + "Use the `list_workflows` method to find the workflow ID." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "8f5808b1-109f-4417-8dd5-003d7d6f83f1", + "metadata": { + "execution": { + "iopub.execute_input": "2024-09-16T17:34:14.713571Z", + "iopub.status.busy": "2024-09-16T17:34:14.712873Z", + "iopub.status.idle": "2024-09-16T17:34:14.800108Z", + "shell.execute_reply": "2024-09-16T17:34:14.799405Z", + "shell.execute_reply.started": "2024-09-16T17:34:14.713544Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "*==* Your Workflows *==*\n", + "\n", + "Workflow ID: 23254 - Display Name: Classification\n", + "\n", + "*==========================*\n", + "\n" + ] + } + ], + "source": [ + "cit_sci_pipeline.list_workflows()" + ] + }, + { + "cell_type": "markdown", + "id": "f3e2d1d1-de4d-414b-afb9-e5b3f6957b68", + "metadata": {}, + "source": [ + "Copy and paste the above ID into the cell below." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "505d46f9-c80f-421c-b8d8-92e3093b4d37", + "metadata": { + "execution": { + "iopub.execute_input": "2024-09-16T17:34:16.977784Z", + "iopub.status.busy": "2024-09-16T17:34:16.977077Z", + "iopub.status.idle": "2024-09-16T17:34:16.980607Z", + "shell.execute_reply": "2024-09-16T17:34:16.979957Z", + "shell.execute_reply.started": "2024-09-16T17:34:16.977754Z" + } + }, + "outputs": [], + "source": [ + "WORKFLOW_ID = 23254" + ] + }, { "cell_type": "markdown", "id": "234ff23f-b321-4277-a28e-6a2f33e28b1a", @@ -423,15 +456,15 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 6, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-09-12T18:38:48.197082Z", - "iopub.status.busy": "2024-09-12T18:38:48.196739Z", - "iopub.status.idle": "2024-09-12T18:38:48.779304Z", - "shell.execute_reply": "2024-09-12T18:38:48.778605Z", - "shell.execute_reply.started": "2024-09-12T18:38:48.197059Z" + "iopub.execute_input": "2024-09-16T17:34:18.557950Z", + "iopub.status.busy": "2024-09-16T17:34:18.557377Z", + "iopub.status.idle": "2024-09-16T17:34:18.935440Z", + "shell.execute_reply": "2024-09-16T17:34:18.934768Z", + "shell.execute_reply.started": "2024-09-16T17:34:18.557922Z" } }, "outputs": [ @@ -440,13 +473,11 @@ "output_type": "stream", "text": [ "beginning function\n", - "34it [00:00, 23082.93it/s]\n" + "34it [00:00, 21268.66it/s]\n" ] } ], "source": [ - "#project_id = 19539\n", - "WORKFLOW_ID = 23254\n", "client = cit_sci_pipeline.client\n", "# how long should this take?\n", "classification_data = download_classifications(WORKFLOW_ID, client)" @@ -454,15 +485,15 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 7, "id": "87efe634-b609-483f-b3d3-49f7623fc565", "metadata": { "execution": { - "iopub.execute_input": "2024-09-12T18:45:50.663675Z", - "iopub.status.busy": "2024-09-12T18:45:50.663242Z", - "iopub.status.idle": "2024-09-12T18:45:50.687102Z", - "shell.execute_reply": "2024-09-12T18:45:50.686411Z", - "shell.execute_reply.started": "2024-09-12T18:45:50.663646Z" + "iopub.execute_input": "2024-09-16T17:34:20.745712Z", + "iopub.status.busy": "2024-09-16T17:34:20.745013Z", + "iopub.status.idle": "2024-09-16T17:34:20.763243Z", + "shell.execute_reply": "2024-09-16T17:34:20.762702Z", + "shell.execute_reply.started": "2024-09-16T17:34:20.745686Z" } }, "outputs": [ @@ -1304,7 +1335,7 @@ "33 {\"83428529\":{\"retired\":null}} 83428529 " ] }, - "execution_count": 18, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -1324,63 +1355,950 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": { + "execution": { + "iopub.execute_input": "2024-09-16T17:51:55.029967Z", + "iopub.status.busy": "2024-09-16T17:51:55.029688Z", + "iopub.status.idle": "2024-09-16T17:51:55.047289Z", + "shell.execute_reply": "2024-09-16T17:51:55.046804Z", + "shell.execute_reply.started": "2024-09-16T17:51:55.029947Z" + }, "scrolled": true }, - "outputs": [], - "source": [ - "extracted_data = extract_data(classification_data)\n", - "extracted_data" - ] - }, - { - "cell_type": "markdown", - "id": "6cbe65b0-dc50-4550-92a6-a2954c897c12", - "metadata": {}, - "source": [ - "## 5. Aggregate the annotations\n", - "Sort by unique subject ID and then unique tasks. Find the most recent classification for each user ID, and uses the Zooniverse consensus builder to look through all user classifications and build consensus." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", - "metadata": {}, - "outputs": [], - "source": [ - "aggregated_data = aggregate_data(extracted_data)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fab35094-bae0-4883-91ed-6d0215a17135", - "metadata": {}, - "outputs": [], - "source": [ - "aggregated_data" - ] - }, - { - "cell_type": "markdown", - "id": "2b8ad7cd-a9d1-4496-8b70-5cbe26986e2c", - "metadata": {}, - "source": [ - "## 6. Next steps and additional resources\n", - "You are now done! Congratulations!\n", - "Next steps could include joining the above table by subject ID with WHAT????\n", - "Additional resources include the Zooniverse team's resources to run panoptes through python (https://github.com/zooniverse/panoptes-python-client/tree/master), which includes tools to:\n", - "- update and\n", - "- ???? to your project on Zooniverse." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d0f99dae-b69b-4ac5-a87f-4eaf4757a54d", + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
classification_idsubject_iduser_nameuser_idcreated_atdatatask
546025149883428488rebecca.nevin19465842023-01-05 17:09:34 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2946025238883428489rebecca.nevin19465842023-01-05 17:14:05 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
3046025283883428494rebecca.nevin19465842023-01-05 17:16:35 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2146025221883428504rebecca.nevin19465842023-01-05 17:13:14 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2746025234983428504rebecca.nevin19465842023-01-05 17:13:55 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
046025142483428507rebecca.nevin19465842023-01-05 17:09:18 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1646025162883428515sreevani16723742023-01-05 17:10:03 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1346025157883428516rebecca.nevin19465842023-01-05 17:09:51 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
346025147583428522rebecca.nevin19465842023-01-05 17:09:30 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
146025146483428528rebecca.nevin19465842023-01-05 17:09:27 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
3346028224483428529not-logged-in-6489dd5f6e1936b2336e2023-01-05 19:40:00 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1946025202683428551sreevani16723742023-01-05 17:12:12 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2646025233883428551rebecca.nevin19465842023-01-05 17:13:52 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1746025173083428561sreevani16723742023-01-05 17:10:34 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2246025222983428569rebecca.nevin19465842023-01-05 17:13:19 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2046025203383428576rebecca.nevin19465842023-01-05 17:12:15 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1046025155183428578rebecca.nevin19465842023-01-05 17:09:44 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
846025152983428583rebecca.nevin19465842023-01-05 17:09:40 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
946025154283428592rebecca.nevin19465842023-01-05 17:09:42 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
3146025285583428593rebecca.nevin19465842023-01-05 17:16:40 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1846025201783428608rebecca.nevin19465842023-01-05 17:12:10 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
646025150783428610sreevani16723742023-01-05 17:09:36 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1446025158683428615rebecca.nevin19465842023-01-05 17:09:53 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
746025150883428619rebecca.nevin19465842023-01-05 17:09:37 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
446025148483428624rebecca.nevin19465842023-01-05 17:09:32 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1146025156283428626rebecca.nevin19465842023-01-05 17:09:47 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2546025233083428637rebecca.nevin19465842023-01-05 17:13:48 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2346025230683428643rebecca.nevin19465842023-01-05 17:13:41 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1246025157283428649rebecca.nevin19465842023-01-05 17:09:49 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
3246025287283428650rebecca.nevin19465842023-01-05 17:16:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2846025235883428665rebecca.nevin19465842023-01-05 17:13:57 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
246025147083428673sreevani16723742023-01-05 17:09:29 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2446025231883428673rebecca.nevin19465842023-01-05 17:13:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1546025159183428676sreevani16723742023-01-05 17:09:54 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
\n", + "
" + ], + "text/plain": [ + " classification_id subject_id user_name user_id \\\n", + "5 460251498 83428488 rebecca.nevin 1946584 \n", + "29 460252388 83428489 rebecca.nevin 1946584 \n", + "30 460252838 83428494 rebecca.nevin 1946584 \n", + "21 460252218 83428504 rebecca.nevin 1946584 \n", + "27 460252349 83428504 rebecca.nevin 1946584 \n", + "0 460251424 83428507 rebecca.nevin 1946584 \n", + "16 460251628 83428515 sreevani 1672374 \n", + "13 460251578 83428516 rebecca.nevin 1946584 \n", + "3 460251475 83428522 rebecca.nevin 1946584 \n", + "1 460251464 83428528 rebecca.nevin 1946584 \n", + "33 460282244 83428529 not-logged-in-6489dd5f6e1936b2336e \n", + "19 460252026 83428551 sreevani 1672374 \n", + "26 460252338 83428551 rebecca.nevin 1946584 \n", + "17 460251730 83428561 sreevani 1672374 \n", + "22 460252229 83428569 rebecca.nevin 1946584 \n", + "20 460252033 83428576 rebecca.nevin 1946584 \n", + "10 460251551 83428578 rebecca.nevin 1946584 \n", + "8 460251529 83428583 rebecca.nevin 1946584 \n", + "9 460251542 83428592 rebecca.nevin 1946584 \n", + "31 460252855 83428593 rebecca.nevin 1946584 \n", + "18 460252017 83428608 rebecca.nevin 1946584 \n", + "6 460251507 83428610 sreevani 1672374 \n", + "14 460251586 83428615 rebecca.nevin 1946584 \n", + "7 460251508 83428619 rebecca.nevin 1946584 \n", + "4 460251484 83428624 rebecca.nevin 1946584 \n", + "11 460251562 83428626 rebecca.nevin 1946584 \n", + "25 460252330 83428637 rebecca.nevin 1946584 \n", + "23 460252306 83428643 rebecca.nevin 1946584 \n", + "12 460251572 83428649 rebecca.nevin 1946584 \n", + "32 460252872 83428650 rebecca.nevin 1946584 \n", + "28 460252358 83428665 rebecca.nevin 1946584 \n", + "2 460251470 83428673 sreevani 1672374 \n", + "24 460252318 83428673 rebecca.nevin 1946584 \n", + "15 460251591 83428676 sreevani 1672374 \n", + "\n", + " created_at data task \n", + "5 2023-01-05 17:09:34 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "29 2023-01-05 17:14:05 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "30 2023-01-05 17:16:35 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "21 2023-01-05 17:13:14 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "27 2023-01-05 17:13:55 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "0 2023-01-05 17:09:18 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "16 2023-01-05 17:10:03 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "13 2023-01-05 17:09:51 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "3 2023-01-05 17:09:30 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "1 2023-01-05 17:09:27 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "33 2023-01-05 19:40:00 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "19 2023-01-05 17:12:12 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "26 2023-01-05 17:13:52 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "17 2023-01-05 17:10:34 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "22 2023-01-05 17:13:19 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "20 2023-01-05 17:12:15 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "10 2023-01-05 17:09:44 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "8 2023-01-05 17:09:40 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "9 2023-01-05 17:09:42 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "31 2023-01-05 17:16:40 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "18 2023-01-05 17:12:10 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "6 2023-01-05 17:09:36 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "14 2023-01-05 17:09:53 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "7 2023-01-05 17:09:37 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "4 2023-01-05 17:09:32 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "11 2023-01-05 17:09:47 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "25 2023-01-05 17:13:48 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "23 2023-01-05 17:13:41 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "12 2023-01-05 17:09:49 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "32 2023-01-05 17:16:44 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "28 2023-01-05 17:13:57 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "2 2023-01-05 17:09:29 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "24 2023-01-05 17:13:44 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "15 2023-01-05 17:09:54 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "extracted_data = extract_data(classification_data)\n", + "extracted_data" + ] + }, + { + "cell_type": "markdown", + "id": "6cbe65b0-dc50-4550-92a6-a2954c897c12", + "metadata": {}, + "source": [ + "## 5. Aggregate the annotations\n", + "Sort by unique subject ID and then unique tasks. Find the most recent classification for each user ID, and uses the Zooniverse consensus builder to look through all user classifications and build consensus." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", + "metadata": { + "execution": { + "iopub.execute_input": "2024-09-16T17:52:44.221904Z", + "iopub.status.busy": "2024-09-16T17:52:44.221167Z", + "iopub.status.idle": "2024-09-16T17:52:44.269406Z", + "shell.execute_reply": "2024-09-16T17:52:44.268759Z", + "shell.execute_reply.started": "2024-09-16T17:52:44.221876Z" + } + }, + "outputs": [], + "source": [ + "aggregated_data = aggregate_data(extracted_data)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "fab35094-bae0-4883-91ed-6d0215a17135", + "metadata": { + "execution": { + "iopub.execute_input": "2024-09-16T17:52:44.817684Z", + "iopub.status.busy": "2024-09-16T17:52:44.817083Z", + "iopub.status.idle": "2024-09-16T17:52:44.828154Z", + "shell.execute_reply": "2024-09-16T17:52:44.827648Z", + "shell.execute_reply.started": "2024-09-16T17:52:44.817662Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
most_likelynum_votesagreementaggregation_versionsubject_idtask
0yes11.04.1.083428488T0
1yes11.04.1.083428489T0
2yes11.04.1.083428494T0
3yes11.04.1.083428504T0
4yes11.04.1.083428507T0
5no11.04.1.083428515T0
6no11.04.1.083428516T0
7yes11.04.1.083428522T0
8no11.04.1.083428528T0
9no11.04.1.083428529T0
10no10.54.1.083428551T0
11no11.04.1.083428561T0
12yes11.04.1.083428569T0
13yes11.04.1.083428576T0
14yes11.04.1.083428578T0
15yes11.04.1.083428583T0
16no11.04.1.083428592T0
17no11.04.1.083428593T0
18yes11.04.1.083428608T0
19no11.04.1.083428610T0
20yes11.04.1.083428615T0
21no11.04.1.083428619T0
22no11.04.1.083428624T0
23no11.04.1.083428626T0
24no11.04.1.083428637T0
25yes11.04.1.083428643T0
26yes11.04.1.083428649T0
27no11.04.1.083428650T0
28no11.04.1.083428665T0
29no21.04.1.083428673T0
30yes11.04.1.083428676T0
\n", + "
" + ], + "text/plain": [ + " most_likely num_votes agreement aggregation_version subject_id task\n", + "0 yes 1 1.0 4.1.0 83428488 T0\n", + "1 yes 1 1.0 4.1.0 83428489 T0\n", + "2 yes 1 1.0 4.1.0 83428494 T0\n", + "3 yes 1 1.0 4.1.0 83428504 T0\n", + "4 yes 1 1.0 4.1.0 83428507 T0\n", + "5 no 1 1.0 4.1.0 83428515 T0\n", + "6 no 1 1.0 4.1.0 83428516 T0\n", + "7 yes 1 1.0 4.1.0 83428522 T0\n", + "8 no 1 1.0 4.1.0 83428528 T0\n", + "9 no 1 1.0 4.1.0 83428529 T0\n", + "10 no 1 0.5 4.1.0 83428551 T0\n", + "11 no 1 1.0 4.1.0 83428561 T0\n", + "12 yes 1 1.0 4.1.0 83428569 T0\n", + "13 yes 1 1.0 4.1.0 83428576 T0\n", + "14 yes 1 1.0 4.1.0 83428578 T0\n", + "15 yes 1 1.0 4.1.0 83428583 T0\n", + "16 no 1 1.0 4.1.0 83428592 T0\n", + "17 no 1 1.0 4.1.0 83428593 T0\n", + "18 yes 1 1.0 4.1.0 83428608 T0\n", + "19 no 1 1.0 4.1.0 83428610 T0\n", + "20 yes 1 1.0 4.1.0 83428615 T0\n", + "21 no 1 1.0 4.1.0 83428619 T0\n", + "22 no 1 1.0 4.1.0 83428624 T0\n", + "23 no 1 1.0 4.1.0 83428626 T0\n", + "24 no 1 1.0 4.1.0 83428637 T0\n", + "25 yes 1 1.0 4.1.0 83428643 T0\n", + "26 yes 1 1.0 4.1.0 83428649 T0\n", + "27 no 1 1.0 4.1.0 83428650 T0\n", + "28 no 1 1.0 4.1.0 83428665 T0\n", + "29 no 2 1.0 4.1.0 83428673 T0\n", + "30 yes 1 1.0 4.1.0 83428676 T0" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "aggregated_data" + ] + }, + { + "cell_type": "markdown", + "id": "2b8ad7cd-a9d1-4496-8b70-5cbe26986e2c", + "metadata": {}, + "source": [ + "## 6. Next steps and additional resources\n", + "You are now done! Congratulations!\n", + "Next steps could include joining the above table by subject ID with WHAT????\n", + "Additional resources include the Zooniverse team's resources to run panoptes through python (https://github.com/zooniverse/panoptes-python-client/tree/master), which includes tools to:\n", + "- update and\n", + "- ???? to your project on Zooniverse." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "d0f99dae-b69b-4ac5-a87f-4eaf4757a54d", + "metadata": { + "execution": { + "iopub.execute_input": "2024-09-16T17:53:35.189673Z", + "iopub.status.busy": "2024-09-16T17:53:35.188947Z", + "iopub.status.idle": "2024-09-16T17:53:35.470620Z", + "shell.execute_reply": "2024-09-16T17:53:35.470039Z", + "shell.execute_reply.started": "2024-09-16T17:53:35.189637Z" + } + }, + "outputs": [], + "source": [ + "from panoptes_client import Subject\n", + "\n", + "# Function to retrieve subject metadata based on subject_id\n", + "def get_subject_metadata(subject_id):\n", + " # Find the subject using the Panoptes client\n", + " subject = Subject.find(subject_id)\n", + " # Return the metadata associated with the subject (what was in the manifest file)\n", + " return subject.metadata\n", + "\n", + "# Example usage:\n", + "metadata = get_subject_metadata(aggregated_data['subject_id'][0])" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "3993307c-3a85-41ab-84e2-39a2433c9d3a", + "metadata": { + "execution": { + "iopub.execute_input": "2024-09-16T17:53:47.972622Z", + "iopub.status.busy": "2024-09-16T17:53:47.972350Z", + "iopub.status.idle": "2024-09-16T17:53:47.977487Z", + "shell.execute_reply": "2024-09-16T17:53:47.976814Z", + "shell.execute_reply.started": "2024-09-16T17:53:47.972602Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{}" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metadata" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f9540c1-ae86-4421-85bd-dbfd7a969219", "metadata": {}, "outputs": [], "source": [] From dcccd99a7eb57a8ea0d193a23e6df0d145cf6ef3 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Thu, 26 Sep 2024 20:13:42 +0000 Subject: [PATCH 11/23] adding some details about subject_id --- 03_Aggregate_Classifications.ipynb | 1764 +++++++++------------------- 1 file changed, 527 insertions(+), 1237 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index f67ec71..dae77bd 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -97,11 +97,11 @@ "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T17:33:40.012054Z", - "iopub.status.busy": "2024-09-16T17:33:40.011683Z", - "iopub.status.idle": "2024-09-16T17:33:41.624159Z", - "shell.execute_reply": "2024-09-16T17:33:41.623591Z", - "shell.execute_reply.started": "2024-09-16T17:33:40.012035Z" + "iopub.execute_input": "2024-09-16T18:59:12.072717Z", + "iopub.status.busy": "2024-09-16T18:59:12.072507Z", + "iopub.status.idle": "2024-09-16T18:59:14.295065Z", + "shell.execute_reply": "2024-09-16T18:59:14.294480Z", + "shell.execute_reply.started": "2024-09-16T18:59:12.072690Z" } }, "outputs": [], @@ -137,15 +137,15 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 8, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T17:51:48.050668Z", - "iopub.status.busy": "2024-09-16T17:51:48.049940Z", - "iopub.status.idle": "2024-09-16T17:51:48.060285Z", - "shell.execute_reply": "2024-09-16T17:51:48.059704Z", - "shell.execute_reply.started": "2024-09-16T17:51:48.050642Z" + "iopub.execute_input": "2024-09-16T19:01:56.807749Z", + "iopub.status.busy": "2024-09-16T19:01:56.807431Z", + "iopub.status.idle": "2024-09-16T19:01:56.817404Z", + "shell.execute_reply": "2024-09-16T19:01:56.816807Z", + "shell.execute_reply.started": "2024-09-16T19:01:56.807726Z" } }, "outputs": [], @@ -167,10 +167,11 @@ " # if generate=True, it generates a new classification report,\n", " # which can take a long time because they’re queued in the Zooniverse system.\n", " # It’s the same as going to the project builder and clicking the “request new report”.\n", - " # If you just want to download the existing report, you can set generate to False.\n", + " # If you don't care about new classifications and are okay with downloading\n", + " # an older report that you already generated, you can set this flag to False\n", " with client:\n", " classification_export = workflow.get_export('classifications',\n", - " generate=False,\n", + " generate=True,\n", " wait=False)\n", " # since it's a partial class, call it to get the DictReader object\n", " csv_dictreader_instance = classification_export.csv_dictreader()\n", @@ -308,15 +309,15 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 10, "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T17:34:00.097704Z", - "iopub.status.busy": "2024-09-16T17:34:00.096972Z", - "iopub.status.idle": "2024-09-16T17:34:10.910995Z", - "shell.execute_reply": "2024-09-16T17:34:10.910225Z", - "shell.execute_reply.started": "2024-09-16T17:34:00.097664Z" + "iopub.execute_input": "2024-09-16T19:02:09.956457Z", + "iopub.status.busy": "2024-09-16T19:02:09.956265Z", + "iopub.status.idle": "2024-09-16T19:02:21.046457Z", + "shell.execute_reply": "2024-09-16T19:02:21.045675Z", + "shell.execute_reply.started": "2024-09-16T19:02:09.956443Z" } }, "outputs": [ @@ -362,14 +363,14 @@ "name": "stdin", "output_type": "stream", "text": [ - "Which project would you like to connect to? (copy & paste the slug name here)? rebecca-dot-nevin/test-project\n" + "Which project would you like to connect to? (copy & paste the slug name here)? rebecca-dot-nevin/template-test-copy-2024-07-09-18-53-39\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Current project set to: rebecca-dot-nevin/test-project\n" + "Current project set to: rebecca-dot-nevin/template-test-copy-2024-07-09-18-53-39\n" ] } ], @@ -389,15 +390,15 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 11, "id": "8f5808b1-109f-4417-8dd5-003d7d6f83f1", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T17:34:14.713571Z", - "iopub.status.busy": "2024-09-16T17:34:14.712873Z", - "iopub.status.idle": "2024-09-16T17:34:14.800108Z", - "shell.execute_reply": "2024-09-16T17:34:14.799405Z", - "shell.execute_reply.started": "2024-09-16T17:34:14.713544Z" + "iopub.execute_input": "2024-09-16T19:02:26.361643Z", + "iopub.status.busy": "2024-09-16T19:02:26.360945Z", + "iopub.status.idle": "2024-09-16T19:02:26.365134Z", + "shell.execute_reply": "2024-09-16T19:02:26.364372Z", + "shell.execute_reply.started": "2024-09-16T19:02:26.361616Z" } }, "outputs": [ @@ -405,13 +406,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "\n", - "*==* Your Workflows *==*\n", - "\n", - "Workflow ID: 23254 - Display Name: Classification\n", - "\n", - "*==========================*\n", - "\n" + "There are no active workflows for the project you have selected.\n" ] } ], @@ -429,15 +424,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 12, "id": "505d46f9-c80f-421c-b8d8-92e3093b4d37", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T17:34:16.977784Z", - "iopub.status.busy": "2024-09-16T17:34:16.977077Z", - "iopub.status.idle": "2024-09-16T17:34:16.980607Z", - "shell.execute_reply": "2024-09-16T17:34:16.979957Z", - "shell.execute_reply.started": "2024-09-16T17:34:16.977754Z" + "iopub.execute_input": "2024-09-16T19:02:27.837611Z", + "iopub.status.busy": "2024-09-16T19:02:27.836931Z", + "iopub.status.idle": "2024-09-16T19:02:27.840172Z", + "shell.execute_reply": "2024-09-16T19:02:27.839651Z", + "shell.execute_reply.started": "2024-09-16T19:02:27.837584Z" } }, "outputs": [], @@ -456,15 +451,15 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 13, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T17:34:18.557950Z", - "iopub.status.busy": "2024-09-16T17:34:18.557377Z", - "iopub.status.idle": "2024-09-16T17:34:18.935440Z", - "shell.execute_reply": "2024-09-16T17:34:18.934768Z", - "shell.execute_reply.started": "2024-09-16T17:34:18.557922Z" + "iopub.execute_input": "2024-09-16T19:02:30.553551Z", + "iopub.status.busy": "2024-09-16T19:02:30.553232Z", + "iopub.status.idle": "2024-09-16T19:02:33.603765Z", + "shell.execute_reply": "2024-09-16T19:02:33.603200Z", + "shell.execute_reply.started": "2024-09-16T19:02:30.553528Z" } }, "outputs": [ @@ -473,7 +468,7 @@ "output_type": "stream", "text": [ "beginning function\n", - "34it [00:00, 21268.66it/s]\n" + "64it [00:00, 33358.45it/s]\n" ] } ], @@ -485,15 +480,15 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 14, "id": "87efe634-b609-483f-b3d3-49f7623fc565", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T17:34:20.745712Z", - "iopub.status.busy": "2024-09-16T17:34:20.745013Z", - "iopub.status.idle": "2024-09-16T17:34:20.763243Z", - "shell.execute_reply": "2024-09-16T17:34:20.762702Z", - "shell.execute_reply.started": "2024-09-16T17:34:20.745686Z" + "iopub.execute_input": "2024-09-16T19:02:36.193419Z", + "iopub.status.busy": "2024-09-16T19:02:36.192869Z", + "iopub.status.idle": "2024-09-16T19:02:36.207126Z", + "shell.execute_reply": "2024-09-16T19:02:36.206642Z", + "shell.execute_reply.started": "2024-09-16T19:02:36.193394Z" } }, "outputs": [ @@ -540,7 +535,7 @@ " 460251424\n", " rebecca.nevin\n", " 1946584\n", - " 93db3159e6449bc8cf78\n", + " ef3edbf864722d8656d9\n", " 23254\n", " Classification\n", " 9.7\n", @@ -557,7 +552,7 @@ " 460251464\n", " rebecca.nevin\n", " 1946584\n", - " 93db3159e6449bc8cf78\n", + " ef3edbf864722d8656d9\n", " 23254\n", " Classification\n", " 9.7\n", @@ -574,7 +569,7 @@ " 460251470\n", " sreevani\n", " 1672374\n", - " adb6c943f6a02f9f48b3\n", + " 15844a2ffff18ffdad4f\n", " 23254\n", " Classification\n", " 9.7\n", @@ -591,7 +586,7 @@ " 460251475\n", " rebecca.nevin\n", " 1946584\n", - " 93db3159e6449bc8cf78\n", + " ef3edbf864722d8656d9\n", " 23254\n", " Classification\n", " 9.7\n", @@ -608,7 +603,7 @@ " 460251484\n", " rebecca.nevin\n", " 1946584\n", - " 93db3159e6449bc8cf78\n", + " ef3edbf864722d8656d9\n", " 23254\n", " Classification\n", " 9.7\n", @@ -621,1113 +616,392 @@ " 83428624\n", " \n", " \n", - " 5\n", - " 460251498\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " \n", + " \n", + " 59\n", + " 583916102\n", " rebecca.nevin\n", " 1946584\n", - " 93db3159e6449bc8cf78\n", + " 69169530658955bd7221\n", " 23254\n", " Classification\n", " 9.7\n", - " 2023-01-05 17:09:34 UTC\n", + " 2024-09-16 17:33:21 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...\n", + " {\"source\":\"api\",\"session\":\"5ea9211e003388838c0...\n", " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"83428488\":{\"retired\":null}}\n", - " 83428488\n", + " {\"100577170\":{\"retired\":null}}\n", + " 100577170\n", " \n", " \n", - " 6\n", - " 460251507\n", - " sreevani\n", - " 1672374\n", - " adb6c943f6a02f9f48b3\n", + " 60\n", + " 583916502\n", + " rebecca.nevin\n", + " 1946584\n", + " e77f4dcf352585d15aaa\n", " 23254\n", " Classification\n", " 9.7\n", - " 2023-01-05 17:09:36 UTC\n", + " 2024-09-16 17:35:03 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...\n", + " {\"source\":\"api\",\"session\":\"ad9122b744366f66f98...\n", " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"83428610\":{\"retired\":null}}\n", - " 83428610\n", + " {\"100577169\":{\"retired\":null}}\n", + " 100577169\n", " \n", " \n", - " 7\n", - " 460251508\n", + " 61\n", + " 583916512\n", " rebecca.nevin\n", " 1946584\n", - " 93db3159e6449bc8cf78\n", + " e77f4dcf352585d15aaa\n", " 23254\n", " Classification\n", " 9.7\n", - " 2023-01-05 17:09:37 UTC\n", + " 2024-09-16 17:35:05 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...\n", + " {\"source\":\"api\",\"session\":\"ad9122b744366f66f98...\n", " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"83428619\":{\"retired\":null}}\n", - " 83428619\n", + " {\"100577167\":{\"retired\":null}}\n", + " 100577167\n", " \n", " \n", - " 8\n", - " 460251529\n", + " 62\n", + " 583916523\n", " rebecca.nevin\n", " 1946584\n", - " 93db3159e6449bc8cf78\n", + " 719075970510684d8e49\n", " 23254\n", " Classification\n", " 9.7\n", - " 2023-01-05 17:09:40 UTC\n", + " 2024-09-16 17:35:08 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...\n", + " {\"source\":\"api\",\"session\":\"ad9122b744366f66f98...\n", " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"83428583\":{\"retired\":null}}\n", - " 83428583\n", + " {\"100577171\":{\"retired\":null}}\n", + " 100577171\n", " \n", " \n", - " 9\n", - " 460251542\n", + " 63\n", + " 583936697\n", " rebecca.nevin\n", " 1946584\n", - " 93db3159e6449bc8cf78\n", + " eb36cca5cb935aa2298a\n", " 23254\n", " Classification\n", " 9.7\n", - " 2023-01-05 17:09:42 UTC\n", + " 2024-09-16 19:00:27 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...\n", + " {\"source\":\"api\",\"session\":\"ad9122b744366f66f98...\n", " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"83428592\":{\"retired\":null}}\n", - " 83428592\n", + " {\"100577170\":{\"retired\":null}}\n", + " 100577170\n", + " \n", + " \n", + "\n", + "

64 rows × 14 columns

\n", + "" + ], + "text/plain": [ + " classification_id user_name user_id user_ip \\\n", + "0 460251424 rebecca.nevin 1946584 ef3edbf864722d8656d9 \n", + "1 460251464 rebecca.nevin 1946584 ef3edbf864722d8656d9 \n", + "2 460251470 sreevani 1672374 15844a2ffff18ffdad4f \n", + "3 460251475 rebecca.nevin 1946584 ef3edbf864722d8656d9 \n", + "4 460251484 rebecca.nevin 1946584 ef3edbf864722d8656d9 \n", + ".. ... ... ... ... \n", + "59 583916102 rebecca.nevin 1946584 69169530658955bd7221 \n", + "60 583916502 rebecca.nevin 1946584 e77f4dcf352585d15aaa \n", + "61 583916512 rebecca.nevin 1946584 e77f4dcf352585d15aaa \n", + "62 583916523 rebecca.nevin 1946584 719075970510684d8e49 \n", + "63 583936697 rebecca.nevin 1946584 eb36cca5cb935aa2298a \n", + "\n", + " workflow_id workflow_name workflow_version created_at \\\n", + "0 23254 Classification 9.7 2023-01-05 17:09:18 UTC \n", + "1 23254 Classification 9.7 2023-01-05 17:09:27 UTC \n", + "2 23254 Classification 9.7 2023-01-05 17:09:29 UTC \n", + "3 23254 Classification 9.7 2023-01-05 17:09:30 UTC \n", + "4 23254 Classification 9.7 2023-01-05 17:09:32 UTC \n", + ".. ... ... ... ... \n", + "59 23254 Classification 9.7 2024-09-16 17:33:21 UTC \n", + "60 23254 Classification 9.7 2024-09-16 17:35:03 UTC \n", + "61 23254 Classification 9.7 2024-09-16 17:35:05 UTC \n", + "62 23254 Classification 9.7 2024-09-16 17:35:08 UTC \n", + "63 23254 Classification 9.7 2024-09-16 19:00:27 UTC \n", + "\n", + " gold_standard expert metadata \\\n", + "0 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "1 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "2 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", + "3 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + "4 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", + ".. ... ... ... \n", + "59 {\"source\":\"api\",\"session\":\"5ea9211e003388838c0... \n", + "60 {\"source\":\"api\",\"session\":\"ad9122b744366f66f98... \n", + "61 {\"source\":\"api\",\"session\":\"ad9122b744366f66f98... \n", + "62 {\"source\":\"api\",\"session\":\"ad9122b744366f66f98... \n", + "63 {\"source\":\"api\",\"session\":\"ad9122b744366f66f98... \n", + "\n", + " annotations \\\n", + "0 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "1 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "2 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "3 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "4 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + ".. ... \n", + "59 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "60 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "61 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "62 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "63 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "\n", + " subject_data subject_ids \n", + "0 {\"83428507\":{\"retired\":null}} 83428507 \n", + "1 {\"83428528\":{\"retired\":null}} 83428528 \n", + "2 {\"83428673\":{\"retired\":null}} 83428673 \n", + "3 {\"83428522\":{\"retired\":null}} 83428522 \n", + "4 {\"83428624\":{\"retired\":null}} 83428624 \n", + ".. ... ... \n", + "59 {\"100577170\":{\"retired\":null}} 100577170 \n", + "60 {\"100577169\":{\"retired\":null}} 100577169 \n", + "61 {\"100577167\":{\"retired\":null}} 100577167 \n", + "62 {\"100577171\":{\"retired\":null}} 100577171 \n", + "63 {\"100577170\":{\"retired\":null}} 100577170 \n", + "\n", + "[64 rows x 14 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "classification_data" + ] + }, + { + "cell_type": "markdown", + "id": "b8deb75f-b486-48a7-b4d0-4acfd4dc022b", + "metadata": {}, + "source": [ + "This table contains 14 columns with a bunch of different IDs. Zooniverse assigns all all data a `subject_id`, which is encoded with the subject set it is part of. This `subject_id` is also part of the `subject_data` column, which allows a user to link classifications with the subject export table. The `objectID` necessary to link each classification back to the original ID of the data sent to Zooniverse can be found in the `metadata` column." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "981c5d2f-7df9-4257-a265-456aedc4806f", + "metadata": { + "execution": { + "iopub.execute_input": "2024-09-16T19:07:33.549473Z", + "iopub.status.busy": "2024-09-16T19:07:33.548833Z", + "iopub.status.idle": "2024-09-16T19:07:33.554783Z", + "shell.execute_reply": "2024-09-16T19:07:33.554310Z", + "shell.execute_reply.started": "2024-09-16T19:07:33.549447Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0 {\"83428507\":{\"retired\":null}}\n", + "1 {\"83428528\":{\"retired\":null}}\n", + "2 {\"83428673\":{\"retired\":null}}\n", + "3 {\"83428522\":{\"retired\":null}}\n", + "4 {\"83428624\":{\"retired\":null}}\n", + " ... \n", + "59 {\"100577170\":{\"retired\":null}}\n", + "60 {\"100577169\":{\"retired\":null}}\n", + "61 {\"100577167\":{\"retired\":null}}\n", + "62 {\"100577171\":{\"retired\":null}}\n", + "63 {\"100577170\":{\"retired\":null}}\n", + "Name: subject_data, Length: 64, dtype: object" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "classification_data['subject_data']" + ] + }, + { + "cell_type": "markdown", + "id": "db961c2e-0304-4d9e-8ac1-9e25197a2fc2", + "metadata": {}, + "source": [ + "## 4. Extract annotations by task and sort by subject ID\n", + "There could be multiple tasks per item." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", + "metadata": { + "execution": { + "iopub.execute_input": "2024-09-16T19:03:09.881613Z", + "iopub.status.busy": "2024-09-16T19:03:09.881285Z", + "iopub.status.idle": "2024-09-16T19:03:09.899292Z", + "shell.execute_reply": "2024-09-16T19:03:09.898828Z", + "shell.execute_reply.started": "2024-09-16T19:03:09.881590Z" + }, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
classification_idsubject_iduser_nameuser_idcreated_atdatatask
1046025155135583905351100577167rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:44 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428578\":{\"retired\":null}}834285782024-09-16 16:52:22 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1146025156243583905494100577167rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:47 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428626\":{\"retired\":null}}834286262024-09-16 16:52:43 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1246025157248583905536100577167rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:49 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428649\":{\"retired\":null}}834286492024-09-16 16:52:52 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1346025157852583916045100577167rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:51 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428516\":{\"retired\":null}}834285162024-09-16 17:33:08 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1446025158658583916095100577167rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:09:53 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428615\":{\"retired\":null}}834286152024-09-16 17:33:19 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
15460251591sreevani1672374adb6c943f6a02f9f48b323254Classification9.72023-01-05 17:09:54 UTC{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428676\":{\"retired\":null}}83428676........................
16460251628sreevani1672374adb6c943f6a02f9f48b323254Classification9.72023-01-05 17:10:03 UTC{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428515\":{\"retired\":null}}834285153246025287283428650rebecca.nevin19465842023-01-05 17:16:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
174602517302846025235883428665rebecca.nevin19465842023-01-05 17:13:57 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
246025147083428673sreevani1672374adb6c943f6a02f9f48b323254Classification9.72023-01-05 17:10:34 UTC{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428561\":{\"retired\":null}}834285612023-01-05 17:09:29 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
184602520172446025231883428673rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:12:10 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428608\":{\"retired\":null}}83428608
19460252026sreevani1672374adb6c943f6a02f9f48b323254Classification9.72023-01-05 17:12:12 UTC{\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428551\":{\"retired\":null}}83428551
20460252033rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:12:15 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428576\":{\"retired\":null}}83428576
21460252218rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:14 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428504\":{\"retired\":null}}83428504
22460252229rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:19 UTC{\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428569\":{\"retired\":null}}83428569
23460252306rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:41 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428643\":{\"retired\":null}}83428643
24460252318rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:44 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428673\":{\"retired\":null}}83428673
25460252330rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:48 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428637\":{\"retired\":null}}83428637
26460252338rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:52 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428551\":{\"retired\":null}}83428551
27460252349rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:55 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428504\":{\"retired\":null}}83428504
28460252358rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:13:57 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428665\":{\"retired\":null}}83428665
29460252388rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:14:05 UTC{\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428489\":{\"retired\":null}}83428489
30460252838rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:16:35 UTC{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428494\":{\"retired\":null}}83428494
31460252855rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:16:40 UTC{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428593\":{\"retired\":null}}83428593
32460252872rebecca.nevin194658493db3159e6449bc8cf7823254Classification9.72023-01-05 17:16:44 UTC{\"source\":\"api\",\"session\":\"18486065bb961c2f1bd...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428650\":{\"retired\":null}}83428650
33460282244not-logged-in-6489dd5f6e1936b2336e6489dd5f6e1936b2336e23254Classification9.72023-01-05 19:40:00 UTC{\"source\":\"api\",\"session\":\"500cd63d10b1f67a403...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"83428529\":{\"retired\":null}}83428529
\n", - "
" - ], - "text/plain": [ - " classification_id user_name user_id \\\n", - "0 460251424 rebecca.nevin 1946584 \n", - "1 460251464 rebecca.nevin 1946584 \n", - "2 460251470 sreevani 1672374 \n", - "3 460251475 rebecca.nevin 1946584 \n", - "4 460251484 rebecca.nevin 1946584 \n", - "5 460251498 rebecca.nevin 1946584 \n", - "6 460251507 sreevani 1672374 \n", - "7 460251508 rebecca.nevin 1946584 \n", - "8 460251529 rebecca.nevin 1946584 \n", - "9 460251542 rebecca.nevin 1946584 \n", - "10 460251551 rebecca.nevin 1946584 \n", - "11 460251562 rebecca.nevin 1946584 \n", - "12 460251572 rebecca.nevin 1946584 \n", - "13 460251578 rebecca.nevin 1946584 \n", - "14 460251586 rebecca.nevin 1946584 \n", - "15 460251591 sreevani 1672374 \n", - "16 460251628 sreevani 1672374 \n", - "17 460251730 sreevani 1672374 \n", - "18 460252017 rebecca.nevin 1946584 \n", - "19 460252026 sreevani 1672374 \n", - "20 460252033 rebecca.nevin 1946584 \n", - "21 460252218 rebecca.nevin 1946584 \n", - "22 460252229 rebecca.nevin 1946584 \n", - "23 460252306 rebecca.nevin 1946584 \n", - "24 460252318 rebecca.nevin 1946584 \n", - "25 460252330 rebecca.nevin 1946584 \n", - "26 460252338 rebecca.nevin 1946584 \n", - "27 460252349 rebecca.nevin 1946584 \n", - "28 460252358 rebecca.nevin 1946584 \n", - "29 460252388 rebecca.nevin 1946584 \n", - "30 460252838 rebecca.nevin 1946584 \n", - "31 460252855 rebecca.nevin 1946584 \n", - "32 460252872 rebecca.nevin 1946584 \n", - "33 460282244 not-logged-in-6489dd5f6e1936b2336e \n", - "\n", - " user_ip workflow_id workflow_name workflow_version \\\n", - "0 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "1 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "2 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", - "3 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "4 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "5 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "6 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", - "7 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "8 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "9 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "10 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "11 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "12 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "13 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "14 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "15 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", - "16 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", - "17 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", - "18 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "19 adb6c943f6a02f9f48b3 23254 Classification 9.7 \n", - "20 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "21 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "22 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "23 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "24 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "25 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "26 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "27 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "28 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "29 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "30 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "31 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "32 93db3159e6449bc8cf78 23254 Classification 9.7 \n", - "33 6489dd5f6e1936b2336e 23254 Classification 9.7 \n", - "\n", - " created_at gold_standard expert \\\n", - "0 2023-01-05 17:09:18 UTC \n", - "1 2023-01-05 17:09:27 UTC \n", - "2 2023-01-05 17:09:29 UTC \n", - "3 2023-01-05 17:09:30 UTC \n", - "4 2023-01-05 17:09:32 UTC \n", - "5 2023-01-05 17:09:34 UTC \n", - "6 2023-01-05 17:09:36 UTC \n", - "7 2023-01-05 17:09:37 UTC \n", - "8 2023-01-05 17:09:40 UTC \n", - "9 2023-01-05 17:09:42 UTC \n", - "10 2023-01-05 17:09:44 UTC \n", - "11 2023-01-05 17:09:47 UTC \n", - "12 2023-01-05 17:09:49 UTC \n", - "13 2023-01-05 17:09:51 UTC \n", - "14 2023-01-05 17:09:53 UTC \n", - "15 2023-01-05 17:09:54 UTC \n", - "16 2023-01-05 17:10:03 UTC \n", - "17 2023-01-05 17:10:34 UTC \n", - "18 2023-01-05 17:12:10 UTC \n", - "19 2023-01-05 17:12:12 UTC \n", - "20 2023-01-05 17:12:15 UTC \n", - "21 2023-01-05 17:13:14 UTC \n", - "22 2023-01-05 17:13:19 UTC \n", - "23 2023-01-05 17:13:41 UTC \n", - "24 2023-01-05 17:13:44 UTC \n", - "25 2023-01-05 17:13:48 UTC \n", - "26 2023-01-05 17:13:52 UTC \n", - "27 2023-01-05 17:13:55 UTC \n", - "28 2023-01-05 17:13:57 UTC \n", - "29 2023-01-05 17:14:05 UTC \n", - "30 2023-01-05 17:16:35 UTC \n", - "31 2023-01-05 17:16:40 UTC \n", - "32 2023-01-05 17:16:44 UTC \n", - "33 2023-01-05 19:40:00 UTC \n", - "\n", - " metadata \\\n", - "0 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "1 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "2 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", - "3 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "4 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "5 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "6 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", - "7 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "8 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "9 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "10 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "11 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "12 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "13 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "14 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "15 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", - "16 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", - "17 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", - "18 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "19 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", - "20 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "21 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "22 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "23 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", - "24 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", - "25 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", - "26 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", - "27 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", - "28 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", - "29 {\"source\":\"api\",\"session\":\"fbccd7eed6a5fb4904f... \n", - "30 {\"source\":\"api\",\"session\":\"18486065bb961c2f1bd... \n", - "31 {\"source\":\"api\",\"session\":\"18486065bb961c2f1bd... \n", - "32 {\"source\":\"api\",\"session\":\"18486065bb961c2f1bd... \n", - "33 {\"source\":\"api\",\"session\":\"500cd63d10b1f67a403... \n", - "\n", - " annotations \\\n", - "0 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "1 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "2 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "3 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "4 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "5 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "6 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "7 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "8 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "9 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "10 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "11 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "12 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "13 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "14 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "15 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "16 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "17 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "18 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "19 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "20 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "21 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "22 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "23 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "24 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "25 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "26 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "27 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "28 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "29 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "30 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "31 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "32 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "33 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "\n", - " subject_data subject_ids \n", - "0 {\"83428507\":{\"retired\":null}} 83428507 \n", - "1 {\"83428528\":{\"retired\":null}} 83428528 \n", - "2 {\"83428673\":{\"retired\":null}} 83428673 \n", - "3 {\"83428522\":{\"retired\":null}} 83428522 \n", - "4 {\"83428624\":{\"retired\":null}} 83428624 \n", - "5 {\"83428488\":{\"retired\":null}} 83428488 \n", - "6 {\"83428610\":{\"retired\":null}} 83428610 \n", - "7 {\"83428619\":{\"retired\":null}} 83428619 \n", - "8 {\"83428583\":{\"retired\":null}} 83428583 \n", - "9 {\"83428592\":{\"retired\":null}} 83428592 \n", - "10 {\"83428578\":{\"retired\":null}} 83428578 \n", - "11 {\"83428626\":{\"retired\":null}} 83428626 \n", - "12 {\"83428649\":{\"retired\":null}} 83428649 \n", - "13 {\"83428516\":{\"retired\":null}} 83428516 \n", - "14 {\"83428615\":{\"retired\":null}} 83428615 \n", - "15 {\"83428676\":{\"retired\":null}} 83428676 \n", - "16 {\"83428515\":{\"retired\":null}} 83428515 \n", - "17 {\"83428561\":{\"retired\":null}} 83428561 \n", - "18 {\"83428608\":{\"retired\":null}} 83428608 \n", - "19 {\"83428551\":{\"retired\":null}} 83428551 \n", - "20 {\"83428576\":{\"retired\":null}} 83428576 \n", - "21 {\"83428504\":{\"retired\":null}} 83428504 \n", - "22 {\"83428569\":{\"retired\":null}} 83428569 \n", - "23 {\"83428643\":{\"retired\":null}} 83428643 \n", - "24 {\"83428673\":{\"retired\":null}} 83428673 \n", - "25 {\"83428637\":{\"retired\":null}} 83428637 \n", - "26 {\"83428551\":{\"retired\":null}} 83428551 \n", - "27 {\"83428504\":{\"retired\":null}} 83428504 \n", - "28 {\"83428665\":{\"retired\":null}} 83428665 \n", - "29 {\"83428489\":{\"retired\":null}} 83428489 \n", - "30 {\"83428494\":{\"retired\":null}} 83428494 \n", - "31 {\"83428593\":{\"retired\":null}} 83428593 \n", - "32 {\"83428650\":{\"retired\":null}} 83428650 \n", - "33 {\"83428529\":{\"retired\":null}} 83428529 " - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "classification_data" - ] - }, - { - "cell_type": "markdown", - "id": "db961c2e-0304-4d9e-8ac1-9e25197a2fc2", - "metadata": {}, - "source": [ - "## 4. Extract annotations by task and sort by subject ID\n", - "There could be multiple tasks per item." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", - "metadata": { - "execution": { - "iopub.execute_input": "2024-09-16T17:51:55.029967Z", - "iopub.status.busy": "2024-09-16T17:51:55.029688Z", - "iopub.status.idle": "2024-09-16T17:51:55.047289Z", - "shell.execute_reply": "2024-09-16T17:51:55.046804Z", - "shell.execute_reply.started": "2024-09-16T17:51:55.029947Z" - }, - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -1741,83 +1015,40 @@ " \n", " \n", "
classification_idsubject_iduser_nameuser_idcreated_atdatatask
546025149883428488rebecca.nevin19465842023-01-05 17:09:34 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2946025238883428489rebecca.nevin19465842023-01-05 17:14:05 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
3046025283883428494rebecca.nevin19465842023-01-05 17:16:35 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2146025221883428504rebecca.nevin19465842023-01-05 17:13:14 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2746025234983428504rebecca.nevin19465842023-01-05 17:13:55 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
046025142483428507rebecca.nevin19465842023-01-05 17:09:18 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1646025162883428515sreevani16723742023-01-05 17:10:03 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1346025157883428516rebecca.nevin19465842023-01-05 17:09:51 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
346025147583428522rebecca.nevin19465842023-01-05 17:09:30 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
146025146483428528rebecca.nevin19465842023-01-05 17:09:27 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
3346028224483428529not-logged-in-6489dd5f6e1936b2336e2023-01-05 19:40:00 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1946025202683428551sreevani16723742023-01-05 17:12:12 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2646025233883428551rebecca.nevin19465842023-01-05 17:13:52 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1746025173083428561sreevani16723742023-01-05 17:10:34 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2246025222983428569rebecca.nevin19465842023-01-05 17:13:19 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
2046025203383428576rebecca.nevin19465842023-01-05 17:12:15 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1046025155183428578rebecca.nevin19465842023-01-05 17:09:44 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
846025152983428583rebecca.nevin19465842023-01-05 17:09:40 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
946025154283428592rebecca.nevin19465842023-01-05 17:09:42 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
3146025285583428593rebecca.nevin19465842023-01-05 17:16:40 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1846025201783428608rebecca.nevin19465842023-01-05 17:12:10 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
646025150783428610sreevani16723742023-01-05 17:09:36 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1446025158683428615rebecca.nevin19465842023-01-05 17:09:53 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
746025150883428619rebecca.nevin19465842023-01-05 17:09:37 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
446025148483428624rebecca.nevin19465842023-01-05 17:09:32 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1146025156283428626rebecca.nevin19465842023-01-05 17:09:47 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2546025233083428637rebecca.nevin19465842023-01-05 17:13:48 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2346025230683428643rebecca.nevin19465842023-01-05 17:13:41 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
1246025157283428649rebecca.nevin19465842023-01-05 17:09:49 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
3246025287283428650rebecca.nevin19465842023-01-05 17:16:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2846025235883428665rebecca.nevin19465842023-01-05 17:13:57 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
246025147083428673sreevani16723742023-01-05 17:09:29 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2446025231883428673rebecca.nevin19465842023-01-05 17:13:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T02023-01-05 17:13:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
15
\n", + "

64 rows × 7 columns

\n", "
" ], "text/plain": [ - " classification_id subject_id user_name user_id \\\n", - "5 460251498 83428488 rebecca.nevin 1946584 \n", - "29 460252388 83428489 rebecca.nevin 1946584 \n", - "30 460252838 83428494 rebecca.nevin 1946584 \n", - "21 460252218 83428504 rebecca.nevin 1946584 \n", - "27 460252349 83428504 rebecca.nevin 1946584 \n", - "0 460251424 83428507 rebecca.nevin 1946584 \n", - "16 460251628 83428515 sreevani 1672374 \n", - "13 460251578 83428516 rebecca.nevin 1946584 \n", - "3 460251475 83428522 rebecca.nevin 1946584 \n", - "1 460251464 83428528 rebecca.nevin 1946584 \n", - "33 460282244 83428529 not-logged-in-6489dd5f6e1936b2336e \n", - "19 460252026 83428551 sreevani 1672374 \n", - "26 460252338 83428551 rebecca.nevin 1946584 \n", - "17 460251730 83428561 sreevani 1672374 \n", - "22 460252229 83428569 rebecca.nevin 1946584 \n", - "20 460252033 83428576 rebecca.nevin 1946584 \n", - "10 460251551 83428578 rebecca.nevin 1946584 \n", - "8 460251529 83428583 rebecca.nevin 1946584 \n", - "9 460251542 83428592 rebecca.nevin 1946584 \n", - "31 460252855 83428593 rebecca.nevin 1946584 \n", - "18 460252017 83428608 rebecca.nevin 1946584 \n", - "6 460251507 83428610 sreevani 1672374 \n", - "14 460251586 83428615 rebecca.nevin 1946584 \n", - "7 460251508 83428619 rebecca.nevin 1946584 \n", - "4 460251484 83428624 rebecca.nevin 1946584 \n", - "11 460251562 83428626 rebecca.nevin 1946584 \n", - "25 460252330 83428637 rebecca.nevin 1946584 \n", - "23 460252306 83428643 rebecca.nevin 1946584 \n", - "12 460251572 83428649 rebecca.nevin 1946584 \n", - "32 460252872 83428650 rebecca.nevin 1946584 \n", - "28 460252358 83428665 rebecca.nevin 1946584 \n", - "2 460251470 83428673 sreevani 1672374 \n", - "24 460252318 83428673 rebecca.nevin 1946584 \n", - "15 460251591 83428676 sreevani 1672374 \n", + " classification_id subject_id user_name user_id \\\n", + "35 583905351 100577167 rebecca.nevin 1946584 \n", + "43 583905494 100577167 rebecca.nevin 1946584 \n", + "48 583905536 100577167 rebecca.nevin 1946584 \n", + "52 583916045 100577167 rebecca.nevin 1946584 \n", + "58 583916095 100577167 rebecca.nevin 1946584 \n", + ".. ... ... ... ... \n", + "32 460252872 83428650 rebecca.nevin 1946584 \n", + "28 460252358 83428665 rebecca.nevin 1946584 \n", + "2 460251470 83428673 sreevani 1672374 \n", + "24 460252318 83428673 rebecca.nevin 1946584 \n", + "15 460251591 83428676 sreevani 1672374 \n", "\n", " created_at data task \n", - "5 2023-01-05 17:09:34 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "29 2023-01-05 17:14:05 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "30 2023-01-05 17:16:35 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "21 2023-01-05 17:13:14 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "27 2023-01-05 17:13:55 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "0 2023-01-05 17:09:18 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "16 2023-01-05 17:10:03 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "13 2023-01-05 17:09:51 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "3 2023-01-05 17:09:30 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "1 2023-01-05 17:09:27 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "33 2023-01-05 19:40:00 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "19 2023-01-05 17:12:12 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "26 2023-01-05 17:13:52 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "17 2023-01-05 17:10:34 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "22 2023-01-05 17:13:19 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "20 2023-01-05 17:12:15 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "10 2023-01-05 17:09:44 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "8 2023-01-05 17:09:40 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "9 2023-01-05 17:09:42 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "31 2023-01-05 17:16:40 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "18 2023-01-05 17:12:10 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "6 2023-01-05 17:09:36 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "14 2023-01-05 17:09:53 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "7 2023-01-05 17:09:37 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "4 2023-01-05 17:09:32 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "11 2023-01-05 17:09:47 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "25 2023-01-05 17:13:48 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "23 2023-01-05 17:13:41 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "12 2023-01-05 17:09:49 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "35 2024-09-16 16:52:22 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "43 2024-09-16 16:52:43 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "48 2024-09-16 16:52:52 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "52 2024-09-16 17:33:08 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "58 2024-09-16 17:33:19 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + ".. ... ... ... \n", "32 2023-01-05 17:16:44 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", "28 2023-01-05 17:13:57 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", "2 2023-01-05 17:09:29 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", "24 2023-01-05 17:13:44 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "15 2023-01-05 17:09:54 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 " + "15 2023-01-05 17:09:54 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "\n", + "[64 rows x 7 columns]" ] }, - "execution_count": 14, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -1838,15 +1069,15 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T17:52:44.221904Z", - "iopub.status.busy": "2024-09-16T17:52:44.221167Z", - "iopub.status.idle": "2024-09-16T17:52:44.269406Z", - "shell.execute_reply": "2024-09-16T17:52:44.268759Z", - "shell.execute_reply.started": "2024-09-16T17:52:44.221876Z" + "iopub.execute_input": "2024-09-16T19:03:24.321802Z", + "iopub.status.busy": "2024-09-16T19:03:24.321250Z", + "iopub.status.idle": "2024-09-16T19:03:24.383666Z", + "shell.execute_reply": "2024-09-16T19:03:24.383071Z", + "shell.execute_reply.started": "2024-09-16T19:03:24.321776Z" } }, "outputs": [], @@ -1856,15 +1087,15 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "id": "fab35094-bae0-4883-91ed-6d0215a17135", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T17:52:44.817684Z", - "iopub.status.busy": "2024-09-16T17:52:44.817083Z", - "iopub.status.idle": "2024-09-16T17:52:44.828154Z", - "shell.execute_reply": "2024-09-16T17:52:44.827648Z", - "shell.execute_reply.started": "2024-09-16T17:52:44.817662Z" + "iopub.execute_input": "2024-09-16T19:03:24.570345Z", + "iopub.status.busy": "2024-09-16T19:03:24.569649Z", + "iopub.status.idle": "2024-09-16T19:03:24.581191Z", + "shell.execute_reply": "2024-09-16T19:03:24.580730Z", + "shell.execute_reply.started": "2024-09-16T19:03:24.570319Z" } }, "outputs": [ @@ -1900,6 +1131,51 @@ " \n", " \n", " 0\n", + " no\n", + " 1\n", + " 1.0\n", + " 4.1.0\n", + " 100577167\n", + " T0\n", + " \n", + " \n", + " 1\n", + " no\n", + " 1\n", + " 1.0\n", + " 4.1.0\n", + " 100577168\n", + " T0\n", + " \n", + " \n", + " 2\n", + " yes\n", + " 1\n", + " 1.0\n", + " 4.1.0\n", + " 100577169\n", + " T0\n", + " \n", + " \n", + " 3\n", + " yes\n", + " 1\n", + " 1.0\n", + " 4.1.0\n", + " 100577170\n", + " T0\n", + " \n", + " \n", + " 4\n", + " yes\n", + " 1\n", + " 1.0\n", + " 4.1.0\n", + " 100577171\n", + " T0\n", + " \n", + " \n", + " 5\n", " yes\n", " 1\n", " 1.0\n", @@ -1908,7 +1184,7 @@ " T0\n", " \n", " \n", - " 1\n", + " 6\n", " yes\n", " 1\n", " 1.0\n", @@ -1917,7 +1193,7 @@ " T0\n", " \n", " \n", - " 2\n", + " 7\n", " yes\n", " 1\n", " 1.0\n", @@ -1926,7 +1202,7 @@ " T0\n", " \n", " \n", - " 3\n", + " 8\n", " yes\n", " 1\n", " 1.0\n", @@ -1935,7 +1211,7 @@ " T0\n", " \n", " \n", - " 4\n", + " 9\n", " yes\n", " 1\n", " 1.0\n", @@ -1944,7 +1220,7 @@ " T0\n", " \n", " \n", - " 5\n", + " 10\n", " no\n", " 1\n", " 1.0\n", @@ -1953,7 +1229,7 @@ " T0\n", " \n", " \n", - " 6\n", + " 11\n", " no\n", " 1\n", " 1.0\n", @@ -1962,7 +1238,7 @@ " T0\n", " \n", " \n", - " 7\n", + " 12\n", " yes\n", " 1\n", " 1.0\n", @@ -1971,7 +1247,7 @@ " T0\n", " \n", " \n", - " 8\n", + " 13\n", " no\n", " 1\n", " 1.0\n", @@ -1980,7 +1256,7 @@ " T0\n", " \n", " \n", - " 9\n", + " 14\n", " no\n", " 1\n", " 1.0\n", @@ -1989,7 +1265,7 @@ " T0\n", " \n", " \n", - " 10\n", + " 15\n", " no\n", " 1\n", " 0.5\n", @@ -1998,7 +1274,7 @@ " T0\n", " \n", " \n", - " 11\n", + " 16\n", " no\n", " 1\n", " 1.0\n", @@ -2007,7 +1283,7 @@ " T0\n", " \n", " \n", - " 12\n", + " 17\n", " yes\n", " 1\n", " 1.0\n", @@ -2016,7 +1292,7 @@ " T0\n", " \n", " \n", - " 13\n", + " 18\n", " yes\n", " 1\n", " 1.0\n", @@ -2025,7 +1301,7 @@ " T0\n", " \n", " \n", - " 14\n", + " 19\n", " yes\n", " 1\n", " 1.0\n", @@ -2034,7 +1310,7 @@ " T0\n", " \n", " \n", - " 15\n", + " 20\n", " yes\n", " 1\n", " 1.0\n", @@ -2043,7 +1319,7 @@ " T0\n", " \n", " \n", - " 16\n", + " 21\n", " no\n", " 1\n", " 1.0\n", @@ -2052,7 +1328,7 @@ " T0\n", " \n", " \n", - " 17\n", + " 22\n", " no\n", " 1\n", " 1.0\n", @@ -2061,7 +1337,7 @@ " T0\n", " \n", " \n", - " 18\n", + " 23\n", " yes\n", " 1\n", " 1.0\n", @@ -2070,7 +1346,7 @@ " T0\n", " \n", " \n", - " 19\n", + " 24\n", " no\n", " 1\n", " 1.0\n", @@ -2079,7 +1355,7 @@ " T0\n", " \n", " \n", - " 20\n", + " 25\n", " yes\n", " 1\n", " 1.0\n", @@ -2088,7 +1364,7 @@ " T0\n", " \n", " \n", - " 21\n", + " 26\n", " no\n", " 1\n", " 1.0\n", @@ -2097,7 +1373,7 @@ " T0\n", " \n", " \n", - " 22\n", + " 27\n", " no\n", " 1\n", " 1.0\n", @@ -2106,7 +1382,7 @@ " T0\n", " \n", " \n", - " 23\n", + " 28\n", " no\n", " 1\n", " 1.0\n", @@ -2115,7 +1391,7 @@ " T0\n", " \n", " \n", - " 24\n", + " 29\n", " no\n", " 1\n", " 1.0\n", @@ -2124,7 +1400,7 @@ " T0\n", " \n", " \n", - " 25\n", + " 30\n", " yes\n", " 1\n", " 1.0\n", @@ -2133,7 +1409,7 @@ " T0\n", " \n", " \n", - " 26\n", + " 31\n", " yes\n", " 1\n", " 1.0\n", @@ -2142,7 +1418,7 @@ " T0\n", " \n", " \n", - " 27\n", + " 32\n", " no\n", " 1\n", " 1.0\n", @@ -2151,7 +1427,7 @@ " T0\n", " \n", " \n", - " 28\n", + " 33\n", " no\n", " 1\n", " 1.0\n", @@ -2160,7 +1436,7 @@ " T0\n", " \n", " \n", - " 29\n", + " 34\n", " no\n", " 2\n", " 1.0\n", @@ -2169,7 +1445,7 @@ " T0\n", " \n", " \n", - " 30\n", + " 35\n", " yes\n", " 1\n", " 1.0\n", @@ -2183,40 +1459,45 @@ ], "text/plain": [ " most_likely num_votes agreement aggregation_version subject_id task\n", - "0 yes 1 1.0 4.1.0 83428488 T0\n", - "1 yes 1 1.0 4.1.0 83428489 T0\n", - "2 yes 1 1.0 4.1.0 83428494 T0\n", - "3 yes 1 1.0 4.1.0 83428504 T0\n", - "4 yes 1 1.0 4.1.0 83428507 T0\n", - "5 no 1 1.0 4.1.0 83428515 T0\n", - "6 no 1 1.0 4.1.0 83428516 T0\n", - "7 yes 1 1.0 4.1.0 83428522 T0\n", - "8 no 1 1.0 4.1.0 83428528 T0\n", - "9 no 1 1.0 4.1.0 83428529 T0\n", - "10 no 1 0.5 4.1.0 83428551 T0\n", - "11 no 1 1.0 4.1.0 83428561 T0\n", - "12 yes 1 1.0 4.1.0 83428569 T0\n", - "13 yes 1 1.0 4.1.0 83428576 T0\n", - "14 yes 1 1.0 4.1.0 83428578 T0\n", - "15 yes 1 1.0 4.1.0 83428583 T0\n", - "16 no 1 1.0 4.1.0 83428592 T0\n", - "17 no 1 1.0 4.1.0 83428593 T0\n", - "18 yes 1 1.0 4.1.0 83428608 T0\n", - "19 no 1 1.0 4.1.0 83428610 T0\n", - "20 yes 1 1.0 4.1.0 83428615 T0\n", - "21 no 1 1.0 4.1.0 83428619 T0\n", - "22 no 1 1.0 4.1.0 83428624 T0\n", - "23 no 1 1.0 4.1.0 83428626 T0\n", - "24 no 1 1.0 4.1.0 83428637 T0\n", - "25 yes 1 1.0 4.1.0 83428643 T0\n", - "26 yes 1 1.0 4.1.0 83428649 T0\n", - "27 no 1 1.0 4.1.0 83428650 T0\n", - "28 no 1 1.0 4.1.0 83428665 T0\n", - "29 no 2 1.0 4.1.0 83428673 T0\n", - "30 yes 1 1.0 4.1.0 83428676 T0" + "0 no 1 1.0 4.1.0 100577167 T0\n", + "1 no 1 1.0 4.1.0 100577168 T0\n", + "2 yes 1 1.0 4.1.0 100577169 T0\n", + "3 yes 1 1.0 4.1.0 100577170 T0\n", + "4 yes 1 1.0 4.1.0 100577171 T0\n", + "5 yes 1 1.0 4.1.0 83428488 T0\n", + "6 yes 1 1.0 4.1.0 83428489 T0\n", + "7 yes 1 1.0 4.1.0 83428494 T0\n", + "8 yes 1 1.0 4.1.0 83428504 T0\n", + "9 yes 1 1.0 4.1.0 83428507 T0\n", + "10 no 1 1.0 4.1.0 83428515 T0\n", + "11 no 1 1.0 4.1.0 83428516 T0\n", + "12 yes 1 1.0 4.1.0 83428522 T0\n", + "13 no 1 1.0 4.1.0 83428528 T0\n", + "14 no 1 1.0 4.1.0 83428529 T0\n", + "15 no 1 0.5 4.1.0 83428551 T0\n", + "16 no 1 1.0 4.1.0 83428561 T0\n", + "17 yes 1 1.0 4.1.0 83428569 T0\n", + "18 yes 1 1.0 4.1.0 83428576 T0\n", + "19 yes 1 1.0 4.1.0 83428578 T0\n", + "20 yes 1 1.0 4.1.0 83428583 T0\n", + "21 no 1 1.0 4.1.0 83428592 T0\n", + "22 no 1 1.0 4.1.0 83428593 T0\n", + "23 yes 1 1.0 4.1.0 83428608 T0\n", + "24 no 1 1.0 4.1.0 83428610 T0\n", + "25 yes 1 1.0 4.1.0 83428615 T0\n", + "26 no 1 1.0 4.1.0 83428619 T0\n", + "27 no 1 1.0 4.1.0 83428624 T0\n", + "28 no 1 1.0 4.1.0 83428626 T0\n", + "29 no 1 1.0 4.1.0 83428637 T0\n", + "30 yes 1 1.0 4.1.0 83428643 T0\n", + "31 yes 1 1.0 4.1.0 83428649 T0\n", + "32 no 1 1.0 4.1.0 83428650 T0\n", + "33 no 1 1.0 4.1.0 83428665 T0\n", + "34 no 2 1.0 4.1.0 83428673 T0\n", + "35 yes 1 1.0 4.1.0 83428676 T0" ] }, - "execution_count": 16, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -2238,17 +1519,26 @@ "- ???? to your project on Zooniverse." ] }, + { + "cell_type": "markdown", + "id": "a9ee8393-2e9c-4d75-99ab-d4c83ad03f16", + "metadata": {}, + "source": [ + "For examples of how to work with the data exports, see our Data Digging code repository or use our Panoptes Aggregation python package.\n", + "https://github.com/zooniverse/Data-digging, https://github.com/zooniverse/aggregation-for-caesar" + ] + }, { "cell_type": "code", "execution_count": 18, "id": "d0f99dae-b69b-4ac5-a87f-4eaf4757a54d", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T17:53:35.189673Z", - "iopub.status.busy": "2024-09-16T17:53:35.188947Z", - "iopub.status.idle": "2024-09-16T17:53:35.470620Z", - "shell.execute_reply": "2024-09-16T17:53:35.470039Z", - "shell.execute_reply.started": "2024-09-16T17:53:35.189637Z" + "iopub.execute_input": "2024-09-16T19:03:38.797590Z", + "iopub.status.busy": "2024-09-16T19:03:38.796951Z", + "iopub.status.idle": "2024-09-16T19:03:38.990148Z", + "shell.execute_reply": "2024-09-16T19:03:38.989401Z", + "shell.execute_reply.started": "2024-09-16T19:03:38.797560Z" } }, "outputs": [], @@ -2272,11 +1562,11 @@ "id": "3993307c-3a85-41ab-84e2-39a2433c9d3a", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T17:53:47.972622Z", - "iopub.status.busy": "2024-09-16T17:53:47.972350Z", - "iopub.status.idle": "2024-09-16T17:53:47.977487Z", - "shell.execute_reply": "2024-09-16T17:53:47.976814Z", - "shell.execute_reply.started": "2024-09-16T17:53:47.972602Z" + "iopub.execute_input": "2024-09-16T19:03:39.733294Z", + "iopub.status.busy": "2024-09-16T19:03:39.732753Z", + "iopub.status.idle": "2024-09-16T19:03:39.736780Z", + "shell.execute_reply": "2024-09-16T19:03:39.736300Z", + "shell.execute_reply.started": "2024-09-16T19:03:39.733271Z" } }, "outputs": [ From 6696e2bb4965ebcb5ef23531e0c31515ea44393b Mon Sep 17 00:00:00 2001 From: beckynevin Date: Mon, 7 Oct 2024 17:58:48 +0000 Subject: [PATCH 12/23] downloading metadata now, stuck on getting it all the way through to aggregate classifications --- 03_Aggregate_Classifications.ipynb | 1227 +++++++++------------------- 1 file changed, 377 insertions(+), 850 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index dae77bd..66c1f6d 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -9,8 +9,8 @@ "

Retrieve and Aggregate Zooniverse Output

\n", "Authors: Becky Nevin, Clare Higgs, and Eric Rosas
\n", "Contact author: Clare Higgs
\n", - "Last verified to run: 2024-06-20
\n", - "LSST Science Pipelines version: Weekly 2024_04
\n", + "Last verified to run: 2024-10-07
\n", + "LSST Science Pipelines version: Weekly 2024_37
\n", "Container size: small or medium
\n", "Targeted learning level: intermediate" ] @@ -97,11 +97,11 @@ "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T18:59:12.072717Z", - "iopub.status.busy": "2024-09-16T18:59:12.072507Z", - "iopub.status.idle": "2024-09-16T18:59:14.295065Z", - "shell.execute_reply": "2024-09-16T18:59:14.294480Z", - "shell.execute_reply.started": "2024-09-16T18:59:12.072690Z" + "iopub.execute_input": "2024-10-07T17:35:03.323829Z", + "iopub.status.busy": "2024-10-07T17:35:03.323647Z", + "iopub.status.idle": "2024-10-07T17:35:05.399573Z", + "shell.execute_reply": "2024-10-07T17:35:05.398928Z", + "shell.execute_reply.started": "2024-10-07T17:35:03.323811Z" } }, "outputs": [], @@ -137,15 +137,15 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 57, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T19:01:56.807749Z", - "iopub.status.busy": "2024-09-16T19:01:56.807431Z", - "iopub.status.idle": "2024-09-16T19:01:56.817404Z", - "shell.execute_reply": "2024-09-16T19:01:56.816807Z", - "shell.execute_reply.started": "2024-09-16T19:01:56.807726Z" + "iopub.execute_input": "2024-10-07T17:56:51.944909Z", + "iopub.status.busy": "2024-10-07T17:56:51.944542Z", + "iopub.status.idle": "2024-10-07T17:56:51.957537Z", + "shell.execute_reply": "2024-10-07T17:56:51.956816Z", + "shell.execute_reply.started": "2024-10-07T17:56:51.944885Z" } }, "outputs": [], @@ -171,7 +171,7 @@ " # an older report that you already generated, you can set this flag to False\n", " with client:\n", " classification_export = workflow.get_export('classifications',\n", - " generate=True,\n", + " generate=False,\n", " wait=False)\n", " # since it's a partial class, call it to get the DictReader object\n", " csv_dictreader_instance = classification_export.csv_dictreader()\n", @@ -203,7 +203,26 @@ " for annotation in json.loads(row.annotations):\n", " row_annotation = annotation_by_task({'annotations': [annotation]})\n", " extract = question_extractor(row_annotation)\n", + " print('row.subject_data', row.subject_data)\n", + " print('str of the subject_id', str(row.subject_ids))\n", + " objectId = row.subject_data[str(row.subject_ids)][\"objectId\"]\n", + " print('objectId', objectId)\n", "\n", + "\n", + " print('row.subject_data', row.subject_data)\n", + " print('str of the subject_id', str(row.subject_ids))\n", + " \n", + " subject_id_str = str(row.subject_ids)\n", + " \n", + " # Check if the subject ID exists and is a dictionary\n", + " if subject_id_str in row.subject_data and isinstance(row.subject_data[subject_id_str], dict):\n", + " objectId = row.subject_data[subject_id_str][\"objectId\"]\n", + " print('objectId', objectId)\n", + " else:\n", + " print(f\"Key '{subject_id_str}' not found in subject_data or it is not a dictionary.\")\n", + "\n", + " \n", + " STOP\n", " # add the extracted annotations to our temporary list along with some other additional data\n", " extracted_rows.append({\n", " 'classification_id': row.classification_id,\n", @@ -211,6 +230,7 @@ " 'user_name': row.user_name,\n", " 'user_id': row.user_id,\n", " 'created_at': row.created_at,\n", + " 'metadata': row.subject_data,\n", " 'data': json.dumps(extract),\n", " 'task': annotation['task']\n", " })\n", @@ -243,6 +263,15 @@ " # generate an array of unique subject ids - these are the ones that we will iterate over\n", " subject_ids_unique = np.unique(extracted_data.subject_id)\n", "\n", + " # Create a dictionary to map subject IDs to their corresponding metadata\n", + " metadata = extracted_data.groupby('subject_id')['metadata'].unique()\n", + "\n", + " print('len subject-ids-unique', len(subject_ids_unique))\n", + " print('metadata saved', len(metadata))\n", + " print(metadata)\n", + " STOP\n", + " \n", + "\n", " # set up a temporary list to store reduced data\n", " aggregated_rows = []\n", "\n", @@ -309,15 +338,15 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 45, "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T19:02:09.956457Z", - "iopub.status.busy": "2024-09-16T19:02:09.956265Z", - "iopub.status.idle": "2024-09-16T19:02:21.046457Z", - "shell.execute_reply": "2024-09-16T19:02:21.045675Z", - "shell.execute_reply.started": "2024-09-16T19:02:09.956443Z" + "iopub.execute_input": "2024-10-07T17:50:25.026082Z", + "iopub.status.busy": "2024-10-07T17:50:25.025343Z", + "iopub.status.idle": "2024-10-07T17:50:29.070666Z", + "shell.execute_reply": "2024-10-07T17:50:29.069801Z", + "shell.execute_reply.started": "2024-10-07T17:50:25.026055Z" } }, "outputs": [ @@ -331,46 +360,21 @@ ] }, { - "name": "stdin", - "output_type": "stream", - "text": [ - "Username: rebecca.nevin\n", - " ········\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "You now are logged in to the Zooniverse platform.\n", - "\n", - "*==* Your Project Slugs *==*\n", - "\n", - "rebecca-dot-nevin/template-test-copy-2024-07-09-21-49-53\n", - "rebecca-dot-nevin/template-test-copy-2024-07-09-19-02-02\n", - "rebecca-dot-nevin/template-test-copy-2024-07-09-18-53-39\n", - "rebecca-dot-nevin/template-test-copy-2024-07-03-21-54-30\n", - "rebecca-dot-nevin/template-test-copy-2024-07-02-22-11-52\n", - "rebecca-dot-nevin/pcw-2023-awesome-citsci-project\n", - "rebecca-dot-nevin/test-project\n", - "rebecca-dot-nevin/galaxy-rotation-fields\n", - "\n", - "*==========================*\n", - "\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Which project would you like to connect to? (copy & paste the slug name here)? rebecca-dot-nevin/template-test-copy-2024-07-09-18-53-39\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Current project set to: rebecca-dot-nevin/template-test-copy-2024-07-09-18-53-39\n" + "ename": "KeyboardInterrupt", + "evalue": "Interrupted by user", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[45], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m email \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbeckynevin@gmail.com\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 2\u001b[0m cit_sci_pipeline \u001b[38;5;241m=\u001b[39m pipeline\u001b[38;5;241m.\u001b[39mCitSciPipeline()\n\u001b[0;32m----> 3\u001b[0m \u001b[43mcit_sci_pipeline\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlogin_to_zooniverse\u001b[49m\u001b[43m(\u001b[49m\u001b[43memail\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.local/lib/python3.11/site-packages/rubin/citsci/pipeline.py:106\u001b[0m, in \u001b[0;36mCitSciPipeline.login_to_zooniverse\u001b[0;34m(self, email)\u001b[0m\n\u001b[1;32m 104\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mEnter your Zooniverse username followed by password below\u001b[39m\u001b[38;5;124m\"\u001b[39m) \n\u001b[1;32m 105\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39memail \u001b[38;5;241m=\u001b[39m email\n\u001b[0;32m--> 106\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclient \u001b[38;5;241m=\u001b[39m \u001b[43mpanoptes_client\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mPanoptes\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconnect\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlogin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43minteractive\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 107\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclient\u001b[38;5;241m.\u001b[39mlogged_in \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[1;32m 108\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mYou now are logged in to the Zooniverse platform.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m~/.local/lib/python3.11/site-packages/panoptes_client/panoptes.py:112\u001b[0m, in \u001b[0;36mPanoptes.connect\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 85\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[1;32m 86\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mconnect\u001b[39m(\u001b[38;5;28mcls\u001b[39m, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 87\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 88\u001b[0m \u001b[38;5;124;03m connect(username=None, password=None, endpoint=None, admin=False)\u001b[39;00m\n\u001b[1;32m 89\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 110\u001b[0m \u001b[38;5;124;03m Panoptes.connect(endpoint='https://panoptes.example.com')\u001b[39;00m\n\u001b[1;32m 111\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 112\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_local\u001b[38;5;241m.\u001b[39mpanoptes_client \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 113\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_local\u001b[38;5;241m.\u001b[39mpanoptes_client\u001b[38;5;241m.\u001b[39mlogin()\n\u001b[1;32m 114\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_local\u001b[38;5;241m.\u001b[39mpanoptes_client\n", + "File \u001b[0;32m~/.local/lib/python3.11/site-packages/panoptes_client/panoptes.py:143\u001b[0m, in \u001b[0;36mPanoptes.__init__\u001b[0;34m(self, endpoint, client_id, client_secret, redirect_url, username, password, login, admin)\u001b[0m\n\u001b[1;32m 141\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39musername \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 142\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpassword \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 143\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_auth\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlogin\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43musername\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpassword\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 144\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlogin()\n\u001b[1;32m 146\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mredirect_url \u001b[38;5;241m=\u001b[39m \\\n\u001b[1;32m 147\u001b[0m redirect_url \u001b[38;5;129;01mor\u001b[39;00m os\u001b[38;5;241m.\u001b[39menviron\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mPANOPTES_REDIRECT_URL\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", + "File \u001b[0;32m~/.local/lib/python3.11/site-packages/panoptes_client/panoptes.py:456\u001b[0m, in \u001b[0;36mPanoptes._auth\u001b[0;34m(self, auth_type, username, password)\u001b[0m\n\u001b[1;32m 454\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m username \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mor\u001b[39;00m password \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 455\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m auth_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124minteractive\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[0;32m--> 456\u001b[0m username, password \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minteractive_login\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 458\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m auth_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mkeyring\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[1;32m 459\u001b[0m \u001b[38;5;66;03m# Get credentials from python keyring\u001b[39;00m\n\u001b[1;32m 460\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n", + "File \u001b[0;32m~/.local/lib/python3.11/site-packages/panoptes_client/panoptes.py:512\u001b[0m, in \u001b[0;36mPanoptes.interactive_login\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 510\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minteractive_login\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 511\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mEnter your Zooniverse credentials...\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m--> 512\u001b[0m username \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43minput\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mUsername: \u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 513\u001b[0m password \u001b[38;5;241m=\u001b[39m getpass\u001b[38;5;241m.\u001b[39mgetpass()\n\u001b[1;32m 515\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m username, password\n", + "File \u001b[0;32m/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/site-packages/ipykernel/kernelbase.py:1282\u001b[0m, in \u001b[0;36mKernel.raw_input\u001b[0;34m(self, prompt)\u001b[0m\n\u001b[1;32m 1280\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mraw_input was called, but this frontend does not support input requests.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1281\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m StdinNotImplementedError(msg)\n\u001b[0;32m-> 1282\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_input_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1283\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mprompt\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1284\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_parent_ident\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mshell\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1285\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_parent\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mshell\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1286\u001b[0m \u001b[43m \u001b[49m\u001b[43mpassword\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 1287\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/site-packages/ipykernel/kernelbase.py:1325\u001b[0m, in \u001b[0;36mKernel._input_request\u001b[0;34m(self, prompt, ident, parent, password)\u001b[0m\n\u001b[1;32m 1322\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyboardInterrupt\u001b[39;00m:\n\u001b[1;32m 1323\u001b[0m \u001b[38;5;66;03m# re-raise KeyboardInterrupt, to truncate traceback\u001b[39;00m\n\u001b[1;32m 1324\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mInterrupted by user\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m-> 1325\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyboardInterrupt\u001b[39;00m(msg) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1326\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m:\n\u001b[1;32m 1327\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlog\u001b[38;5;241m.\u001b[39mwarning(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mInvalid Message:\u001b[39m\u001b[38;5;124m\"\u001b[39m, exc_info\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: Interrupted by user" ] } ], @@ -390,15 +394,15 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 46, "id": "8f5808b1-109f-4417-8dd5-003d7d6f83f1", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T19:02:26.361643Z", - "iopub.status.busy": "2024-09-16T19:02:26.360945Z", - "iopub.status.idle": "2024-09-16T19:02:26.365134Z", - "shell.execute_reply": "2024-09-16T19:02:26.364372Z", - "shell.execute_reply.started": "2024-09-16T19:02:26.361616Z" + "iopub.execute_input": "2024-10-07T17:50:32.293681Z", + "iopub.status.busy": "2024-10-07T17:50:32.292783Z", + "iopub.status.idle": "2024-10-07T17:50:32.297409Z", + "shell.execute_reply": "2024-10-07T17:50:32.296643Z", + "shell.execute_reply.started": "2024-10-07T17:50:32.293653Z" } }, "outputs": [ @@ -406,7 +410,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "There are no active workflows for the project you have selected.\n" + "Please log in first using login_to_zooniverse() first before attempting to retrieve workflows.\n" ] } ], @@ -424,20 +428,20 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 5, "id": "505d46f9-c80f-421c-b8d8-92e3093b4d37", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T19:02:27.837611Z", - "iopub.status.busy": "2024-09-16T19:02:27.836931Z", - "iopub.status.idle": "2024-09-16T19:02:27.840172Z", - "shell.execute_reply": "2024-09-16T19:02:27.839651Z", - "shell.execute_reply.started": "2024-09-16T19:02:27.837584Z" + "iopub.execute_input": "2024-10-07T17:35:20.565709Z", + "iopub.status.busy": "2024-10-07T17:35:20.565392Z", + "iopub.status.idle": "2024-10-07T17:35:20.569071Z", + "shell.execute_reply": "2024-10-07T17:35:20.568404Z", + "shell.execute_reply.started": "2024-10-07T17:35:20.565686Z" } }, "outputs": [], "source": [ - "WORKFLOW_ID = 23254" + "WORKFLOW_ID = 27509" ] }, { @@ -451,15 +455,15 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 48, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T19:02:30.553551Z", - "iopub.status.busy": "2024-09-16T19:02:30.553232Z", - "iopub.status.idle": "2024-09-16T19:02:33.603765Z", - "shell.execute_reply": "2024-09-16T19:02:33.603200Z", - "shell.execute_reply.started": "2024-09-16T19:02:30.553528Z" + "iopub.execute_input": "2024-10-07T17:50:43.986125Z", + "iopub.status.busy": "2024-10-07T17:50:43.985164Z", + "iopub.status.idle": "2024-10-07T17:50:44.094955Z", + "shell.execute_reply": "2024-10-07T17:50:44.094214Z", + "shell.execute_reply.started": "2024-10-07T17:50:43.986097Z" } }, "outputs": [ @@ -467,8 +471,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "beginning function\n", - "64it [00:00, 33358.45it/s]\n" + "beginning function\n" + ] + }, + { + "ename": "TypeError", + "evalue": "'NoneType' object does not support the context manager protocol", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[48], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m client \u001b[38;5;241m=\u001b[39m cit_sci_pipeline\u001b[38;5;241m.\u001b[39mclient\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m# how long should this take?\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m classification_data \u001b[38;5;241m=\u001b[39m \u001b[43mdownload_classifications\u001b[49m\u001b[43m(\u001b[49m\u001b[43mWORKFLOW_ID\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mclient\u001b[49m\u001b[43m)\u001b[49m\n", + "Cell \u001b[0;32mIn[43], line 20\u001b[0m, in \u001b[0;36mdownload_classifications\u001b[0;34m(WORKFLOW_ID, client)\u001b[0m\n\u001b[1;32m 13\u001b[0m workflow \u001b[38;5;241m=\u001b[39m Workflow(WORKFLOW_ID)\n\u001b[1;32m 14\u001b[0m \u001b[38;5;66;03m# generate the classifications \u001b[39;00m\n\u001b[1;32m 15\u001b[0m \u001b[38;5;66;03m# if generate=True, it generates a new classification report,\u001b[39;00m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;66;03m# which can take a long time because they’re queued in the Zooniverse system.\u001b[39;00m\n\u001b[1;32m 17\u001b[0m \u001b[38;5;66;03m# It’s the same as going to the project builder and clicking the “request new report”.\u001b[39;00m\n\u001b[1;32m 18\u001b[0m \u001b[38;5;66;03m# If you don't care about new classifications and are okay with downloading\u001b[39;00m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;66;03m# an older report that you already generated, you can set this flag to False\u001b[39;00m\n\u001b[0;32m---> 20\u001b[0m \u001b[43m\u001b[49m\u001b[38;5;28;43;01mwith\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mclient\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 21\u001b[0m \u001b[43m \u001b[49m\u001b[43mclassification_export\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mworkflow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_export\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mclassifications\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 22\u001b[0m \u001b[43m \u001b[49m\u001b[43mgenerate\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 23\u001b[0m \u001b[43m \u001b[49m\u001b[43mwait\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 24\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# since it's a partial class, call it to get the DictReader object\u001b[39;49;00m\n", + "\u001b[0;31mTypeError\u001b[0m: 'NoneType' object does not support the context manager protocol" ] } ], @@ -480,15 +495,15 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 49, "id": "87efe634-b609-483f-b3d3-49f7623fc565", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T19:02:36.193419Z", - "iopub.status.busy": "2024-09-16T19:02:36.192869Z", - "iopub.status.idle": "2024-09-16T19:02:36.207126Z", - "shell.execute_reply": "2024-09-16T19:02:36.206642Z", - "shell.execute_reply.started": "2024-09-16T19:02:36.193394Z" + "iopub.execute_input": "2024-10-07T17:50:50.865870Z", + "iopub.status.busy": "2024-10-07T17:50:50.865443Z", + "iopub.status.idle": "2024-10-07T17:50:50.886378Z", + "shell.execute_reply": "2024-10-07T17:50:50.885600Z", + "shell.execute_reply.started": "2024-10-07T17:50:50.865836Z" } }, "outputs": [ @@ -532,88 +547,88 @@ " \n", " \n", " 0\n", - " 460251424\n", + " 589019044\n", " rebecca.nevin\n", " 1946584\n", - " ef3edbf864722d8656d9\n", - " 23254\n", - " Classification\n", - " 9.7\n", - " 2023-01-05 17:09:18 UTC\n", + " cee5ed56424764950d55\n", + " 27509\n", + " Classify with metadata\n", + " 3.2\n", + " 2024-10-07 16:08:01 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"83428507\":{\"retired\":null}}\n", - " 83428507\n", + " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247085\":{\"retired\":null,\"objectId\":\"16514...\n", + " 103247085\n", " \n", " \n", " 1\n", - " 460251464\n", + " 589019067\n", " rebecca.nevin\n", " 1946584\n", - " ef3edbf864722d8656d9\n", - " 23254\n", - " Classification\n", - " 9.7\n", - " 2023-01-05 17:09:27 UTC\n", + " cee5ed56424764950d55\n", + " 27509\n", + " Classify with metadata\n", + " 3.2\n", + " 2024-10-07 16:08:07 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"83428528\":{\"retired\":null}}\n", - " 83428528\n", + " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", + " 103247082\n", " \n", " \n", " 2\n", - " 460251470\n", - " sreevani\n", - " 1672374\n", - " 15844a2ffff18ffdad4f\n", - " 23254\n", - " Classification\n", - " 9.7\n", - " 2023-01-05 17:09:29 UTC\n", + " 589019090\n", + " rebecca.nevin\n", + " 1946584\n", + " cee5ed56424764950d55\n", + " 27509\n", + " Classify with metadata\n", + " 3.2\n", + " 2024-10-07 16:08:12 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"83428673\":{\"retired\":null}}\n", - " 83428673\n", + " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247086\":{\"retired\":null,\"objectId\":\"16515...\n", + " 103247086\n", " \n", " \n", " 3\n", - " 460251475\n", + " 589019097\n", " rebecca.nevin\n", " 1946584\n", - " ef3edbf864722d8656d9\n", - " 23254\n", - " Classification\n", - " 9.7\n", - " 2023-01-05 17:09:30 UTC\n", + " cee5ed56424764950d55\n", + " 27509\n", + " Classify with metadata\n", + " 3.2\n", + " 2024-10-07 16:08:14 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"83428522\":{\"retired\":null}}\n", - " 83428522\n", + " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247083\":{\"retired\":null,\"objectId\":\"16509...\n", + " 103247083\n", " \n", " \n", " 4\n", - " 460251484\n", + " 589019337\n", " rebecca.nevin\n", " 1946584\n", - " ef3edbf864722d8656d9\n", - " 23254\n", - " Classification\n", - " 9.7\n", - " 2023-01-05 17:09:32 UTC\n", + " cee5ed56424764950d55\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:09:17 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"83428624\":{\"retired\":null}}\n", - " 83428624\n", + " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247087\":{\"retired\":null,\"objectId\":\"16513...\n", + " 103247087\n", " \n", " \n", " ...\n", @@ -633,165 +648,178 @@ " ...\n", " \n", " \n", - " 59\n", - " 583916102\n", + " 71\n", + " 589020345\n", " rebecca.nevin\n", " 1946584\n", - " 69169530658955bd7221\n", - " 23254\n", - " Classification\n", - " 9.7\n", - " 2024-09-16 17:33:21 UTC\n", + " 77dde073c5ec44c24799\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:13:13 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"5ea9211e003388838c0...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"100577170\":{\"retired\":null}}\n", - " 100577170\n", + " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", + " 103247082\n", " \n", " \n", - " 60\n", - " 583916502\n", + " 72\n", + " 589020360\n", " rebecca.nevin\n", " 1946584\n", - " e77f4dcf352585d15aaa\n", - " 23254\n", - " Classification\n", - " 9.7\n", - " 2024-09-16 17:35:03 UTC\n", + " 77dde073c5ec44c24799\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:13:18 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"ad9122b744366f66f98...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"100577169\":{\"retired\":null}}\n", - " 100577169\n", + " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247085\":{\"retired\":null,\"objectId\":\"16514...\n", + " 103247085\n", " \n", " \n", - " 61\n", - " 583916512\n", + " 73\n", + " 589020372\n", " rebecca.nevin\n", " 1946584\n", - " e77f4dcf352585d15aaa\n", - " 23254\n", - " Classification\n", - " 9.7\n", - " 2024-09-16 17:35:05 UTC\n", + " 77dde073c5ec44c24799\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:13:21 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"ad9122b744366f66f98...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"100577167\":{\"retired\":null}}\n", - " 100577167\n", + " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247083\":{\"retired\":null,\"objectId\":\"16509...\n", + " 103247083\n", " \n", " \n", - " 62\n", - " 583916523\n", + " 74\n", + " 589020385\n", " rebecca.nevin\n", " 1946584\n", - " 719075970510684d8e49\n", - " 23254\n", - " Classification\n", - " 9.7\n", - " 2024-09-16 17:35:08 UTC\n", + " 77dde073c5ec44c24799\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:13:23 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"ad9122b744366f66f98...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"100577171\":{\"retired\":null}}\n", - " 100577171\n", + " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247086\":{\"retired\":null,\"objectId\":\"16515...\n", + " 103247086\n", " \n", " \n", - " 63\n", - " 583936697\n", + " 75\n", + " 589020390\n", " rebecca.nevin\n", " 1946584\n", - " eb36cca5cb935aa2298a\n", - " 23254\n", - " Classification\n", - " 9.7\n", - " 2024-09-16 19:00:27 UTC\n", + " 77dde073c5ec44c24799\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:13:25 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"ad9122b744366f66f98...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"100577170\":{\"retired\":null}}\n", - " 100577170\n", + " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", + " 103247082\n", " \n", " \n", "\n", - "

64 rows × 14 columns

\n", + "

76 rows × 14 columns

\n", "" ], "text/plain": [ " classification_id user_name user_id user_ip \\\n", - "0 460251424 rebecca.nevin 1946584 ef3edbf864722d8656d9 \n", - "1 460251464 rebecca.nevin 1946584 ef3edbf864722d8656d9 \n", - "2 460251470 sreevani 1672374 15844a2ffff18ffdad4f \n", - "3 460251475 rebecca.nevin 1946584 ef3edbf864722d8656d9 \n", - "4 460251484 rebecca.nevin 1946584 ef3edbf864722d8656d9 \n", + "0 589019044 rebecca.nevin 1946584 cee5ed56424764950d55 \n", + "1 589019067 rebecca.nevin 1946584 cee5ed56424764950d55 \n", + "2 589019090 rebecca.nevin 1946584 cee5ed56424764950d55 \n", + "3 589019097 rebecca.nevin 1946584 cee5ed56424764950d55 \n", + "4 589019337 rebecca.nevin 1946584 cee5ed56424764950d55 \n", ".. ... ... ... ... \n", - "59 583916102 rebecca.nevin 1946584 69169530658955bd7221 \n", - "60 583916502 rebecca.nevin 1946584 e77f4dcf352585d15aaa \n", - "61 583916512 rebecca.nevin 1946584 e77f4dcf352585d15aaa \n", - "62 583916523 rebecca.nevin 1946584 719075970510684d8e49 \n", - "63 583936697 rebecca.nevin 1946584 eb36cca5cb935aa2298a \n", + "71 589020345 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", + "72 589020360 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", + "73 589020372 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", + "74 589020385 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", + "75 589020390 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", "\n", - " workflow_id workflow_name workflow_version created_at \\\n", - "0 23254 Classification 9.7 2023-01-05 17:09:18 UTC \n", - "1 23254 Classification 9.7 2023-01-05 17:09:27 UTC \n", - "2 23254 Classification 9.7 2023-01-05 17:09:29 UTC \n", - "3 23254 Classification 9.7 2023-01-05 17:09:30 UTC \n", - "4 23254 Classification 9.7 2023-01-05 17:09:32 UTC \n", - ".. ... ... ... ... \n", - "59 23254 Classification 9.7 2024-09-16 17:33:21 UTC \n", - "60 23254 Classification 9.7 2024-09-16 17:35:03 UTC \n", - "61 23254 Classification 9.7 2024-09-16 17:35:05 UTC \n", - "62 23254 Classification 9.7 2024-09-16 17:35:08 UTC \n", - "63 23254 Classification 9.7 2024-09-16 19:00:27 UTC \n", + " workflow_id workflow_name workflow_version \\\n", + "0 27509 Classify with metadata 3.2 \n", + "1 27509 Classify with metadata 3.2 \n", + "2 27509 Classify with metadata 3.2 \n", + "3 27509 Classify with metadata 3.2 \n", + "4 27509 Classify with metadata 5.6 \n", + ".. ... ... ... \n", + "71 27509 Classify with metadata 5.6 \n", + "72 27509 Classify with metadata 5.6 \n", + "73 27509 Classify with metadata 5.6 \n", + "74 27509 Classify with metadata 5.6 \n", + "75 27509 Classify with metadata 5.6 \n", "\n", - " gold_standard expert metadata \\\n", - "0 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "1 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "2 {\"source\":\"api\",\"session\":\"faf6ac09286ac159d2d... \n", - "3 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - "4 {\"source\":\"api\",\"session\":\"17680efb53f0c9ec4a9... \n", - ".. ... ... ... \n", - "59 {\"source\":\"api\",\"session\":\"5ea9211e003388838c0... \n", - "60 {\"source\":\"api\",\"session\":\"ad9122b744366f66f98... \n", - "61 {\"source\":\"api\",\"session\":\"ad9122b744366f66f98... \n", - "62 {\"source\":\"api\",\"session\":\"ad9122b744366f66f98... \n", - "63 {\"source\":\"api\",\"session\":\"ad9122b744366f66f98... \n", + " created_at gold_standard expert \\\n", + "0 2024-10-07 16:08:01 UTC \n", + "1 2024-10-07 16:08:07 UTC \n", + "2 2024-10-07 16:08:12 UTC \n", + "3 2024-10-07 16:08:14 UTC \n", + "4 2024-10-07 16:09:17 UTC \n", + ".. ... ... ... \n", + "71 2024-10-07 16:13:13 UTC \n", + "72 2024-10-07 16:13:18 UTC \n", + "73 2024-10-07 16:13:21 UTC \n", + "74 2024-10-07 16:13:23 UTC \n", + "75 2024-10-07 16:13:25 UTC \n", + "\n", + " metadata \\\n", + "0 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", + "1 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", + "2 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", + "3 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", + "4 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", + ".. ... \n", + "71 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", + "72 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", + "73 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", + "74 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", + "75 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", "\n", " annotations \\\n", - "0 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "1 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "2 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "3 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "4 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "0 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "1 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "2 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "3 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "4 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", ".. ... \n", - "59 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "60 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "61 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "62 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "63 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "71 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "72 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "73 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "74 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "75 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", "\n", - " subject_data subject_ids \n", - "0 {\"83428507\":{\"retired\":null}} 83428507 \n", - "1 {\"83428528\":{\"retired\":null}} 83428528 \n", - "2 {\"83428673\":{\"retired\":null}} 83428673 \n", - "3 {\"83428522\":{\"retired\":null}} 83428522 \n", - "4 {\"83428624\":{\"retired\":null}} 83428624 \n", - ".. ... ... \n", - "59 {\"100577170\":{\"retired\":null}} 100577170 \n", - "60 {\"100577169\":{\"retired\":null}} 100577169 \n", - "61 {\"100577167\":{\"retired\":null}} 100577167 \n", - "62 {\"100577171\":{\"retired\":null}} 100577171 \n", - "63 {\"100577170\":{\"retired\":null}} 100577170 \n", + " subject_data subject_ids \n", + "0 {\"103247085\":{\"retired\":null,\"objectId\":\"16514... 103247085 \n", + "1 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", + "2 {\"103247086\":{\"retired\":null,\"objectId\":\"16515... 103247086 \n", + "3 {\"103247083\":{\"retired\":null,\"objectId\":\"16509... 103247083 \n", + "4 {\"103247087\":{\"retired\":null,\"objectId\":\"16513... 103247087 \n", + ".. ... ... \n", + "71 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", + "72 {\"103247085\":{\"retired\":null,\"objectId\":\"16514... 103247085 \n", + "73 {\"103247083\":{\"retired\":null,\"objectId\":\"16509... 103247083 \n", + "74 {\"103247086\":{\"retired\":null,\"objectId\":\"16515... 103247086 \n", + "75 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", "\n", - "[64 rows x 14 columns]" + "[76 rows x 14 columns]" ] }, - "execution_count": 14, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -802,50 +830,10 @@ }, { "cell_type": "markdown", - "id": "b8deb75f-b486-48a7-b4d0-4acfd4dc022b", + "id": "bda67780-9331-4922-8411-383e169fbf84", "metadata": {}, "source": [ - "This table contains 14 columns with a bunch of different IDs. Zooniverse assigns all all data a `subject_id`, which is encoded with the subject set it is part of. This `subject_id` is also part of the `subject_data` column, which allows a user to link classifications with the subject export table. The `objectID` necessary to link each classification back to the original ID of the data sent to Zooniverse can be found in the `metadata` column." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "981c5d2f-7df9-4257-a265-456aedc4806f", - "metadata": { - "execution": { - "iopub.execute_input": "2024-09-16T19:07:33.549473Z", - "iopub.status.busy": "2024-09-16T19:07:33.548833Z", - "iopub.status.idle": "2024-09-16T19:07:33.554783Z", - "shell.execute_reply": "2024-09-16T19:07:33.554310Z", - "shell.execute_reply.started": "2024-09-16T19:07:33.549447Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0 {\"83428507\":{\"retired\":null}}\n", - "1 {\"83428528\":{\"retired\":null}}\n", - "2 {\"83428673\":{\"retired\":null}}\n", - "3 {\"83428522\":{\"retired\":null}}\n", - "4 {\"83428624\":{\"retired\":null}}\n", - " ... \n", - "59 {\"100577170\":{\"retired\":null}}\n", - "60 {\"100577169\":{\"retired\":null}}\n", - "61 {\"100577167\":{\"retired\":null}}\n", - "62 {\"100577171\":{\"retired\":null}}\n", - "63 {\"100577170\":{\"retired\":null}}\n", - "Name: subject_data, Length: 64, dtype: object" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "classification_data['subject_data']" + "Select either `objectId` or `diaObjectId`; this should match the ID type of the data that was first sent to Zooniverse." ] }, { @@ -859,198 +847,38 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 58, "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T19:03:09.881613Z", - "iopub.status.busy": "2024-09-16T19:03:09.881285Z", - "iopub.status.idle": "2024-09-16T19:03:09.899292Z", - "shell.execute_reply": "2024-09-16T19:03:09.898828Z", - "shell.execute_reply.started": "2024-09-16T19:03:09.881590Z" + "iopub.execute_input": "2024-10-07T17:57:08.026053Z", + "iopub.status.busy": "2024-10-07T17:57:08.025304Z", + "iopub.status.idle": "2024-10-07T17:57:08.066581Z", + "shell.execute_reply": "2024-10-07T17:57:08.065427Z", + "shell.execute_reply.started": "2024-10-07T17:57:08.026025Z" }, "scrolled": true }, "outputs": [ { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
classification_idsubject_iduser_nameuser_idcreated_atdatatask
35583905351100577167rebecca.nevin19465842024-09-16 16:52:22 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
43583905494100577167rebecca.nevin19465842024-09-16 16:52:43 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
48583905536100577167rebecca.nevin19465842024-09-16 16:52:52 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
52583916045100577167rebecca.nevin19465842024-09-16 17:33:08 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
58583916095100577167rebecca.nevin19465842024-09-16 17:33:19 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
........................
3246025287283428650rebecca.nevin19465842023-01-05 17:16:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2846025235883428665rebecca.nevin19465842023-01-05 17:13:57 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
246025147083428673sreevani16723742023-01-05 17:09:29 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2446025231883428673rebecca.nevin19465842023-01-05 17:13:44 UTC{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
1546025159183428676sreevani16723742023-01-05 17:09:54 UTC{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
\n", - "

64 rows × 7 columns

\n", - "
" - ], - "text/plain": [ - " classification_id subject_id user_name user_id \\\n", - "35 583905351 100577167 rebecca.nevin 1946584 \n", - "43 583905494 100577167 rebecca.nevin 1946584 \n", - "48 583905536 100577167 rebecca.nevin 1946584 \n", - "52 583916045 100577167 rebecca.nevin 1946584 \n", - "58 583916095 100577167 rebecca.nevin 1946584 \n", - ".. ... ... ... ... \n", - "32 460252872 83428650 rebecca.nevin 1946584 \n", - "28 460252358 83428665 rebecca.nevin 1946584 \n", - "2 460251470 83428673 sreevani 1672374 \n", - "24 460252318 83428673 rebecca.nevin 1946584 \n", - "15 460251591 83428676 sreevani 1672374 \n", - "\n", - " created_at data task \n", - "35 2024-09-16 16:52:22 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "43 2024-09-16 16:52:43 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "48 2024-09-16 16:52:52 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "52 2024-09-16 17:33:08 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "58 2024-09-16 17:33:19 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - ".. ... ... ... \n", - "32 2023-01-05 17:16:44 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "28 2023-01-05 17:13:57 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "2 2023-01-05 17:09:29 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "24 2023-01-05 17:13:44 UTC {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "15 2023-01-05 17:09:54 UTC {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "\n", - "[64 rows x 7 columns]" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "row.subject_data {\"103247085\":{\"retired\":null,\"objectId\":\"1651448872733547971\"}}\n", + "str of the subject_id 103247085\n" + ] + }, + { + "ename": "TypeError", + "evalue": "string indices must be integers, not 'str'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[58], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m extracted_data \u001b[38;5;241m=\u001b[39m \u001b[43mextract_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclassification_data\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m extracted_data\n", + "Cell \u001b[0;32mIn[57], line 56\u001b[0m, in \u001b[0;36mextract_data\u001b[0;34m(classification_data)\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mrow.subject_data\u001b[39m\u001b[38;5;124m'\u001b[39m, row\u001b[38;5;241m.\u001b[39msubject_data)\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mstr of the subject_id\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;28mstr\u001b[39m(row\u001b[38;5;241m.\u001b[39msubject_ids))\n\u001b[0;32m---> 56\u001b[0m objectId \u001b[38;5;241m=\u001b[39m \u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_data\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_ids\u001b[49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mobjectId\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mobjectId\u001b[39m\u001b[38;5;124m'\u001b[39m, objectId)\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mrow.subject_data\u001b[39m\u001b[38;5;124m'\u001b[39m, row\u001b[38;5;241m.\u001b[39msubject_data)\n", + "\u001b[0;31mTypeError\u001b[0m: string indices must be integers, not 'str'" + ] } ], "source": [ @@ -1069,33 +897,61 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 35, "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T19:03:24.321802Z", - "iopub.status.busy": "2024-09-16T19:03:24.321250Z", - "iopub.status.idle": "2024-09-16T19:03:24.383666Z", - "shell.execute_reply": "2024-09-16T19:03:24.383071Z", - "shell.execute_reply.started": "2024-09-16T19:03:24.321776Z" + "iopub.execute_input": "2024-10-07T17:46:57.981838Z", + "iopub.status.busy": "2024-10-07T17:46:57.981391Z", + "iopub.status.idle": "2024-10-07T17:46:58.020648Z", + "shell.execute_reply": "2024-10-07T17:46:58.019807Z", + "shell.execute_reply.started": "2024-10-07T17:46:57.981809Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "len subject-ids-unique 5\n", + "metadata saved 5\n", + "subject_id\n", + "103247082 [{\"103247082\":{\"retired\":null,\"objectId\":\"1567...\n", + "103247083 [{\"103247083\":{\"retired\":null,\"objectId\":\"1650...\n", + "103247085 [{\"103247085\":{\"retired\":null,\"objectId\":\"1651...\n", + "103247086 [{\"103247086\":{\"retired\":null,\"objectId\":\"1651...\n", + "103247087 [{\"103247087\":{\"retired\":null,\"objectId\":\"1651...\n", + "Name: metadata, dtype: object\n" + ] + }, + { + "ename": "NameError", + "evalue": "name 'STOP' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[35], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m aggregated_data \u001b[38;5;241m=\u001b[39m \u001b[43maggregate_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mextracted_data\u001b[49m\u001b[43m)\u001b[49m\n", + "Cell \u001b[0;32mIn[34], line 101\u001b[0m, in \u001b[0;36maggregate_data\u001b[0;34m(extracted_data)\u001b[0m\n\u001b[1;32m 99\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmetadata saved\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;28mlen\u001b[39m(metadata))\n\u001b[1;32m 100\u001b[0m \u001b[38;5;28mprint\u001b[39m(metadata)\n\u001b[0;32m--> 101\u001b[0m \u001b[43mSTOP\u001b[49m\n\u001b[1;32m 104\u001b[0m \u001b[38;5;66;03m# set up a temporary list to store reduced data\u001b[39;00m\n\u001b[1;32m 105\u001b[0m aggregated_rows \u001b[38;5;241m=\u001b[39m []\n", + "\u001b[0;31mNameError\u001b[0m: name 'STOP' is not defined" + ] + } + ], "source": [ "aggregated_data = aggregate_data(extracted_data)" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 12, "id": "fab35094-bae0-4883-91ed-6d0215a17135", "metadata": { "execution": { - "iopub.execute_input": "2024-09-16T19:03:24.570345Z", - "iopub.status.busy": "2024-09-16T19:03:24.569649Z", - "iopub.status.idle": "2024-09-16T19:03:24.581191Z", - "shell.execute_reply": "2024-09-16T19:03:24.580730Z", - "shell.execute_reply.started": "2024-09-16T19:03:24.570319Z" + "iopub.execute_input": "2024-10-07T17:37:12.380491Z", + "iopub.status.busy": "2024-10-07T17:37:12.379814Z", + "iopub.status.idle": "2024-10-07T17:37:12.389288Z", + "shell.execute_reply": "2024-10-07T17:37:12.388726Z", + "shell.execute_reply.started": "2024-10-07T17:37:12.380459Z" } }, "outputs": [ @@ -1135,322 +991,43 @@ " 1\n", " 1.0\n", " 4.1.0\n", - " 100577167\n", + " 103247082\n", " T0\n", " \n", " \n", " 1\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 100577168\n", - " T0\n", - " \n", - " \n", - " 2\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 100577169\n", - " T0\n", - " \n", - " \n", - " 3\n", " yes\n", " 1\n", " 1.0\n", " 4.1.0\n", - " 100577170\n", + " 103247083\n", " T0\n", " \n", " \n", - " 4\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 100577171\n", - " T0\n", - " \n", - " \n", - " 5\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428488\n", - " T0\n", - " \n", - " \n", - " 6\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428489\n", - " T0\n", - " \n", - " \n", - " 7\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428494\n", - " T0\n", - " \n", - " \n", - " 8\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428504\n", - " T0\n", - " \n", - " \n", - " 9\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428507\n", - " T0\n", - " \n", - " \n", - " 10\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428515\n", - " T0\n", - " \n", - " \n", - " 11\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428516\n", - " T0\n", - " \n", - " \n", - " 12\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428522\n", - " T0\n", - " \n", - " \n", - " 13\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428528\n", - " T0\n", - " \n", - " \n", - " 14\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428529\n", - " T0\n", - " \n", - " \n", - " 15\n", - " no\n", - " 1\n", - " 0.5\n", - " 4.1.0\n", - " 83428551\n", - " T0\n", - " \n", - " \n", - " 16\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428561\n", - " T0\n", - " \n", - " \n", - " 17\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428569\n", - " T0\n", - " \n", - " \n", - " 18\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428576\n", - " T0\n", - " \n", - " \n", - " 19\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428578\n", - " T0\n", - " \n", - " \n", - " 20\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428583\n", - " T0\n", - " \n", - " \n", - " 21\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428592\n", - " T0\n", - " \n", - " \n", - " 22\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428593\n", - " T0\n", - " \n", - " \n", - " 23\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428608\n", - " T0\n", - " \n", - " \n", - " 24\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428610\n", - " T0\n", - " \n", - " \n", - " 25\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428615\n", - " T0\n", - " \n", - " \n", - " 26\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428619\n", - " T0\n", - " \n", - " \n", - " 27\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428624\n", - " T0\n", - " \n", - " \n", - " 28\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428626\n", - " T0\n", - " \n", - " \n", - " 29\n", - " no\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428637\n", - " T0\n", - " \n", - " \n", - " 30\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428643\n", - " T0\n", - " \n", - " \n", - " 31\n", - " yes\n", - " 1\n", - " 1.0\n", - " 4.1.0\n", - " 83428649\n", - " T0\n", - " \n", - " \n", - " 32\n", + " 2\n", " no\n", " 1\n", " 1.0\n", " 4.1.0\n", - " 83428650\n", + " 103247085\n", " T0\n", " \n", " \n", - " 33\n", + " 3\n", " no\n", " 1\n", " 1.0\n", " 4.1.0\n", - " 83428665\n", + " 103247086\n", " T0\n", " \n", " \n", - " 34\n", - " no\n", - " 2\n", - " 1.0\n", - " 4.1.0\n", - " 83428673\n", - " T0\n", - " \n", - " \n", - " 35\n", + " 4\n", " yes\n", " 1\n", " 1.0\n", " 4.1.0\n", - " 83428676\n", + " 103247087\n", " T0\n", " \n", " \n", @@ -1458,46 +1035,15 @@ "" ], "text/plain": [ - " most_likely num_votes agreement aggregation_version subject_id task\n", - "0 no 1 1.0 4.1.0 100577167 T0\n", - "1 no 1 1.0 4.1.0 100577168 T0\n", - "2 yes 1 1.0 4.1.0 100577169 T0\n", - "3 yes 1 1.0 4.1.0 100577170 T0\n", - "4 yes 1 1.0 4.1.0 100577171 T0\n", - "5 yes 1 1.0 4.1.0 83428488 T0\n", - "6 yes 1 1.0 4.1.0 83428489 T0\n", - "7 yes 1 1.0 4.1.0 83428494 T0\n", - "8 yes 1 1.0 4.1.0 83428504 T0\n", - "9 yes 1 1.0 4.1.0 83428507 T0\n", - "10 no 1 1.0 4.1.0 83428515 T0\n", - "11 no 1 1.0 4.1.0 83428516 T0\n", - "12 yes 1 1.0 4.1.0 83428522 T0\n", - "13 no 1 1.0 4.1.0 83428528 T0\n", - "14 no 1 1.0 4.1.0 83428529 T0\n", - "15 no 1 0.5 4.1.0 83428551 T0\n", - "16 no 1 1.0 4.1.0 83428561 T0\n", - "17 yes 1 1.0 4.1.0 83428569 T0\n", - "18 yes 1 1.0 4.1.0 83428576 T0\n", - "19 yes 1 1.0 4.1.0 83428578 T0\n", - "20 yes 1 1.0 4.1.0 83428583 T0\n", - "21 no 1 1.0 4.1.0 83428592 T0\n", - "22 no 1 1.0 4.1.0 83428593 T0\n", - "23 yes 1 1.0 4.1.0 83428608 T0\n", - "24 no 1 1.0 4.1.0 83428610 T0\n", - "25 yes 1 1.0 4.1.0 83428615 T0\n", - "26 no 1 1.0 4.1.0 83428619 T0\n", - "27 no 1 1.0 4.1.0 83428624 T0\n", - "28 no 1 1.0 4.1.0 83428626 T0\n", - "29 no 1 1.0 4.1.0 83428637 T0\n", - "30 yes 1 1.0 4.1.0 83428643 T0\n", - "31 yes 1 1.0 4.1.0 83428649 T0\n", - "32 no 1 1.0 4.1.0 83428650 T0\n", - "33 no 1 1.0 4.1.0 83428665 T0\n", - "34 no 2 1.0 4.1.0 83428673 T0\n", - "35 yes 1 1.0 4.1.0 83428676 T0" + " most_likely num_votes agreement aggregation_version subject_id task\n", + "0 no 1 1.0 4.1.0 103247082 T0\n", + "1 yes 1 1.0 4.1.0 103247083 T0\n", + "2 no 1 1.0 4.1.0 103247085 T0\n", + "3 no 1 1.0 4.1.0 103247086 T0\n", + "4 yes 1 1.0 4.1.0 103247087 T0" ] }, - "execution_count": 17, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -1528,19 +1074,19 @@ "https://github.com/zooniverse/Data-digging, https://github.com/zooniverse/aggregation-for-caesar" ] }, + { + "cell_type": "markdown", + "id": "94a06a74-c799-4ef1-bb4c-932e78abbf18", + "metadata": {}, + "source": [ + "This table contains 14 columns with a bunch of different IDs. The `objectId` or `diaObjectId` entry in the metadata column is necessary to link each classification back to the original ID of the data at the point it was first sent to Zooniverse." + ] + }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "d0f99dae-b69b-4ac5-a87f-4eaf4757a54d", - "metadata": { - "execution": { - "iopub.execute_input": "2024-09-16T19:03:38.797590Z", - "iopub.status.busy": "2024-09-16T19:03:38.796951Z", - "iopub.status.idle": "2024-09-16T19:03:38.990148Z", - "shell.execute_reply": "2024-09-16T19:03:38.989401Z", - "shell.execute_reply.started": "2024-09-16T19:03:38.797560Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from panoptes_client import Subject\n", @@ -1558,29 +1104,10 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "3993307c-3a85-41ab-84e2-39a2433c9d3a", - "metadata": { - "execution": { - "iopub.execute_input": "2024-09-16T19:03:39.733294Z", - "iopub.status.busy": "2024-09-16T19:03:39.732753Z", - "iopub.status.idle": "2024-09-16T19:03:39.736780Z", - "shell.execute_reply": "2024-09-16T19:03:39.736300Z", - "shell.execute_reply.started": "2024-09-16T19:03:39.733271Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{}" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "metadata" ] From 556df94f71204145b51dbb0f4489955eebf42cdd Mon Sep 17 00:00:00 2001 From: beckynevin Date: Wed, 9 Oct 2024 15:44:28 +0000 Subject: [PATCH 13/23] now rubin ID all the way through the workflow --- 03_Aggregate_Classifications.ipynb | 569 ++++++++++++++++++----------- 1 file changed, 353 insertions(+), 216 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 66c1f6d..9a91dfe 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -21,10 +21,10 @@ "metadata": {}, "source": [ "Description: This notebook guides a PI through the process of retrieving classification data from Zooniverse and builds upon Hayley Robert's Aggregation notebook example.

\n", - "Skills: \n", + "Skills: Query for Zooniverse classification data via the panoptes client; retrieve and aggregate user classifications and retrieve original objectIds or diaobjectIds.\n", "

\n", "LSST Data Products: n/a

\n", - "Packages: rubin.citsci, utils (citsci plotting and display utilities),

\n", + "Packages: panoptes_client, panoptes_aggregation, rubin.citsci, utils (citsci plotting and display utilities),

\n", "Credit: Hayley Roberts' aggregation code https://github.com/astrohayley/SLSN-Aggregation-Example/blob/main/SLSN_batch_aggregation.py

\n", "Get Support: PIs new to DP0 are encouraged to find documentation and resources at dp0-2.lsst.io. Support for this notebook is available and questions are welcome at cscience@lsst.org." ] @@ -93,15 +93,15 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 59, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-10-07T17:35:03.323829Z", - "iopub.status.busy": "2024-10-07T17:35:03.323647Z", - "iopub.status.idle": "2024-10-07T17:35:05.399573Z", - "shell.execute_reply": "2024-10-07T17:35:05.398928Z", - "shell.execute_reply.started": "2024-10-07T17:35:03.323811Z" + "iopub.execute_input": "2024-10-09T15:09:18.241944Z", + "iopub.status.busy": "2024-10-09T15:09:18.241567Z", + "iopub.status.idle": "2024-10-09T15:09:18.246817Z", + "shell.execute_reply": "2024-10-09T15:09:18.246136Z", + "shell.execute_reply.started": "2024-10-09T15:09:18.241917Z" } }, "outputs": [], @@ -137,15 +137,15 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 104, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-10-07T17:56:51.944909Z", - "iopub.status.busy": "2024-10-07T17:56:51.944542Z", - "iopub.status.idle": "2024-10-07T17:56:51.957537Z", - "shell.execute_reply": "2024-10-07T17:56:51.956816Z", - "shell.execute_reply.started": "2024-10-07T17:56:51.944885Z" + "iopub.execute_input": "2024-10-09T15:36:41.351817Z", + "iopub.status.busy": "2024-10-09T15:36:41.351416Z", + "iopub.status.idle": "2024-10-09T15:36:41.364747Z", + "shell.execute_reply": "2024-10-09T15:36:41.364001Z", + "shell.execute_reply.started": "2024-10-09T15:36:41.351786Z" } }, "outputs": [], @@ -182,7 +182,7 @@ "\n", "\n", "\n", - "def extract_data(classification_data):\n", + "def extract_data(classification_data, id_type='objectId'):\n", " \"\"\"\n", " Extracts annotations from the classification data\n", "\n", @@ -194,35 +194,19 @@ " \"\"\"\n", " # set up our list where we will store the extracted data temporarily\n", " extracted_rows = []\n", - "\n", " # iterate through our classification data\n", " for i in range(len(classification_data)):\n", - "\n", " # access the specific row and extract the annotations\n", " row = classification_data.iloc[i]\n", " for annotation in json.loads(row.annotations):\n", " row_annotation = annotation_by_task({'annotations': [annotation]})\n", " extract = question_extractor(row_annotation)\n", - " print('row.subject_data', row.subject_data)\n", - " print('str of the subject_id', str(row.subject_ids))\n", - " objectId = row.subject_data[str(row.subject_ids)][\"objectId\"]\n", - " print('objectId', objectId)\n", - "\n", - "\n", - " print('row.subject_data', row.subject_data)\n", - " print('str of the subject_id', str(row.subject_ids))\n", - " \n", " subject_id_str = str(row.subject_ids)\n", - " \n", " # Check if the subject ID exists and is a dictionary\n", - " if subject_id_str in row.subject_data and isinstance(row.subject_data[subject_id_str], dict):\n", - " objectId = row.subject_data[subject_id_str][\"objectId\"]\n", - " print('objectId', objectId)\n", + " if subject_id_str in row.subject_data and isinstance(json.loads(row.subject_data)[subject_id_str], dict):\n", + " rubin_id = json.loads(row.subject_data)[str(row.subject_ids)][id_type]\n", " else:\n", " print(f\"Key '{subject_id_str}' not found in subject_data or it is not a dictionary.\")\n", - "\n", - " \n", - " STOP\n", " # add the extracted annotations to our temporary list along with some other additional data\n", " extracted_rows.append({\n", " 'classification_id': row.classification_id,\n", @@ -230,16 +214,13 @@ " 'user_name': row.user_name,\n", " 'user_id': row.user_id,\n", " 'created_at': row.created_at,\n", - " 'metadata': row.subject_data,\n", + " 'rubin_id': rubin_id,\n", " 'data': json.dumps(extract),\n", " 'task': annotation['task']\n", " })\n", - "\n", - "\n", " # convert the extracted data to a pandas dataframe and sort\n", " extracted_data = pd.DataFrame.from_dict(extracted_rows)\n", " extracted_data.sort_values(['subject_id', 'created_at'], inplace=True)\n", - "\n", " return extracted_data\n", "\n", "def last_filter(data):\n", @@ -264,12 +245,14 @@ " subject_ids_unique = np.unique(extracted_data.subject_id)\n", "\n", " # Create a dictionary to map subject IDs to their corresponding metadata\n", - " metadata = extracted_data.groupby('subject_id')['metadata'].unique()\n", + " rubin_ids_unique = extracted_data.groupby('subject_id')['rubin_id'].unique()\n", "\n", + " '''\n", " print('len subject-ids-unique', len(subject_ids_unique))\n", - " print('metadata saved', len(metadata))\n", - " print(metadata)\n", + " print('metadata saved', len(rubin_id))\n", + " print(rubin_id)\n", " STOP\n", + " '''\n", " \n", "\n", " # set up a temporary list to store reduced data\n", @@ -283,6 +266,7 @@ "\n", " # determine the subject_id to work on\n", " subject_id = subject_ids_unique[i]\n", + " rubin_id = rubin_ids_unique.iloc[i][0]\n", "\n", " # filter the extract_data dataframe for only the subject_id that is being worked on\n", " extract_data_subject = extracted_data[extracted_data.subject_id==subject_id].drop_duplicates()\n", @@ -305,6 +289,7 @@ " # add the subject id to our reduction data\n", " reduction['subject_id'] = subject_id\n", " reduction['task'] = task\n", + " reduction['rubin_id'] = rubin_id\n", "\n", " # add the data to our temporary list\n", " aggregated_rows.append(reduction)\n", @@ -338,15 +323,15 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 61, "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", "metadata": { "execution": { - "iopub.execute_input": "2024-10-07T17:50:25.026082Z", - "iopub.status.busy": "2024-10-07T17:50:25.025343Z", - "iopub.status.idle": "2024-10-07T17:50:29.070666Z", - "shell.execute_reply": "2024-10-07T17:50:29.069801Z", - "shell.execute_reply.started": "2024-10-07T17:50:25.026055Z" + "iopub.execute_input": "2024-10-09T15:09:26.373529Z", + "iopub.status.busy": "2024-10-09T15:09:26.373181Z", + "iopub.status.idle": "2024-10-09T15:09:54.958183Z", + "shell.execute_reply": "2024-10-09T15:09:54.957351Z", + "shell.execute_reply.started": "2024-10-09T15:09:26.373502Z" } }, "outputs": [ @@ -360,21 +345,46 @@ ] }, { - "ename": "KeyboardInterrupt", - "evalue": "Interrupted by user", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[45], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m email \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbeckynevin@gmail.com\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 2\u001b[0m cit_sci_pipeline \u001b[38;5;241m=\u001b[39m pipeline\u001b[38;5;241m.\u001b[39mCitSciPipeline()\n\u001b[0;32m----> 3\u001b[0m \u001b[43mcit_sci_pipeline\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlogin_to_zooniverse\u001b[49m\u001b[43m(\u001b[49m\u001b[43memail\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/.local/lib/python3.11/site-packages/rubin/citsci/pipeline.py:106\u001b[0m, in \u001b[0;36mCitSciPipeline.login_to_zooniverse\u001b[0;34m(self, email)\u001b[0m\n\u001b[1;32m 104\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mEnter your Zooniverse username followed by password below\u001b[39m\u001b[38;5;124m\"\u001b[39m) \n\u001b[1;32m 105\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39memail \u001b[38;5;241m=\u001b[39m email\n\u001b[0;32m--> 106\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclient \u001b[38;5;241m=\u001b[39m \u001b[43mpanoptes_client\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mPanoptes\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconnect\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlogin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43minteractive\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 107\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclient\u001b[38;5;241m.\u001b[39mlogged_in \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[1;32m 108\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mYou now are logged in to the Zooniverse platform.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "File \u001b[0;32m~/.local/lib/python3.11/site-packages/panoptes_client/panoptes.py:112\u001b[0m, in \u001b[0;36mPanoptes.connect\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 85\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[1;32m 86\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mconnect\u001b[39m(\u001b[38;5;28mcls\u001b[39m, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 87\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 88\u001b[0m \u001b[38;5;124;03m connect(username=None, password=None, endpoint=None, admin=False)\u001b[39;00m\n\u001b[1;32m 89\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 110\u001b[0m \u001b[38;5;124;03m Panoptes.connect(endpoint='https://panoptes.example.com')\u001b[39;00m\n\u001b[1;32m 111\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 112\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_local\u001b[38;5;241m.\u001b[39mpanoptes_client \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 113\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_local\u001b[38;5;241m.\u001b[39mpanoptes_client\u001b[38;5;241m.\u001b[39mlogin()\n\u001b[1;32m 114\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_local\u001b[38;5;241m.\u001b[39mpanoptes_client\n", - "File \u001b[0;32m~/.local/lib/python3.11/site-packages/panoptes_client/panoptes.py:143\u001b[0m, in \u001b[0;36mPanoptes.__init__\u001b[0;34m(self, endpoint, client_id, client_secret, redirect_url, username, password, login, admin)\u001b[0m\n\u001b[1;32m 141\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39musername \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 142\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpassword \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 143\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_auth\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlogin\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43musername\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpassword\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 144\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlogin()\n\u001b[1;32m 146\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mredirect_url \u001b[38;5;241m=\u001b[39m \\\n\u001b[1;32m 147\u001b[0m redirect_url \u001b[38;5;129;01mor\u001b[39;00m os\u001b[38;5;241m.\u001b[39menviron\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mPANOPTES_REDIRECT_URL\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", - "File \u001b[0;32m~/.local/lib/python3.11/site-packages/panoptes_client/panoptes.py:456\u001b[0m, in \u001b[0;36mPanoptes._auth\u001b[0;34m(self, auth_type, username, password)\u001b[0m\n\u001b[1;32m 454\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m username \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mor\u001b[39;00m password \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 455\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m auth_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124minteractive\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[0;32m--> 456\u001b[0m username, password \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minteractive_login\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 458\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m auth_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mkeyring\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[1;32m 459\u001b[0m \u001b[38;5;66;03m# Get credentials from python keyring\u001b[39;00m\n\u001b[1;32m 460\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n", - "File \u001b[0;32m~/.local/lib/python3.11/site-packages/panoptes_client/panoptes.py:512\u001b[0m, in \u001b[0;36mPanoptes.interactive_login\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 510\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minteractive_login\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 511\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mEnter your Zooniverse credentials...\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m--> 512\u001b[0m username \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43minput\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mUsername: \u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 513\u001b[0m password \u001b[38;5;241m=\u001b[39m getpass\u001b[38;5;241m.\u001b[39mgetpass()\n\u001b[1;32m 515\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m username, password\n", - "File \u001b[0;32m/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/site-packages/ipykernel/kernelbase.py:1282\u001b[0m, in \u001b[0;36mKernel.raw_input\u001b[0;34m(self, prompt)\u001b[0m\n\u001b[1;32m 1280\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mraw_input was called, but this frontend does not support input requests.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1281\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m StdinNotImplementedError(msg)\n\u001b[0;32m-> 1282\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_input_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1283\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mprompt\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1284\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_parent_ident\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mshell\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1285\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_parent\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mshell\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1286\u001b[0m \u001b[43m \u001b[49m\u001b[43mpassword\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 1287\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/site-packages/ipykernel/kernelbase.py:1325\u001b[0m, in \u001b[0;36mKernel._input_request\u001b[0;34m(self, prompt, ident, parent, password)\u001b[0m\n\u001b[1;32m 1322\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyboardInterrupt\u001b[39;00m:\n\u001b[1;32m 1323\u001b[0m \u001b[38;5;66;03m# re-raise KeyboardInterrupt, to truncate traceback\u001b[39;00m\n\u001b[1;32m 1324\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mInterrupted by user\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m-> 1325\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyboardInterrupt\u001b[39;00m(msg) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1326\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m:\n\u001b[1;32m 1327\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlog\u001b[38;5;241m.\u001b[39mwarning(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mInvalid Message:\u001b[39m\u001b[38;5;124m\"\u001b[39m, exc_info\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: Interrupted by user" + "name": "stdin", + "output_type": "stream", + "text": [ + "Username: rebecca.nevin\n", + " ········\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You now are logged in to the Zooniverse platform.\n", + "\n", + "*==* Your Project Slugs *==*\n", + "\n", + "rebecca-dot-nevin/template-test-copy-2024-07-09-21-49-53\n", + "rebecca-dot-nevin/template-test-copy-2024-07-09-19-02-02\n", + "rebecca-dot-nevin/template-test-copy-2024-07-09-18-53-39\n", + "rebecca-dot-nevin/template-test-copy-2024-07-03-21-54-30\n", + "rebecca-dot-nevin/template-test-copy-2024-07-02-22-11-52\n", + "rebecca-dot-nevin/pcw-2023-awesome-citsci-project\n", + "rebecca-dot-nevin/test-project\n", + "rebecca-dot-nevin/galaxy-rotation-fields\n", + "\n", + "*==========================*\n", + "\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Which project would you like to connect to? (copy & paste the slug name here)? rebecca-dot-nevin/test-project\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Current project set to: rebecca-dot-nevin/test-project\n" ] } ], @@ -394,15 +404,15 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 62, "id": "8f5808b1-109f-4417-8dd5-003d7d6f83f1", "metadata": { "execution": { - "iopub.execute_input": "2024-10-07T17:50:32.293681Z", - "iopub.status.busy": "2024-10-07T17:50:32.292783Z", - "iopub.status.idle": "2024-10-07T17:50:32.297409Z", - "shell.execute_reply": "2024-10-07T17:50:32.296643Z", - "shell.execute_reply.started": "2024-10-07T17:50:32.293653Z" + "iopub.execute_input": "2024-10-09T15:10:17.670158Z", + "iopub.status.busy": "2024-10-09T15:10:17.669192Z", + "iopub.status.idle": "2024-10-09T15:10:17.841800Z", + "shell.execute_reply": "2024-10-09T15:10:17.840976Z", + "shell.execute_reply.started": "2024-10-09T15:10:17.670126Z" } }, "outputs": [ @@ -410,7 +420,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "Please log in first using login_to_zooniverse() first before attempting to retrieve workflows.\n" + "\n", + "*==* Your Workflows *==*\n", + "\n", + "Workflow ID: 27509 - Display Name: Classify with metadata\n", + "Workflow ID: 23254 - Display Name: Classification\n", + "\n", + "*==========================*\n", + "\n" ] } ], @@ -428,15 +445,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 63, "id": "505d46f9-c80f-421c-b8d8-92e3093b4d37", "metadata": { "execution": { - "iopub.execute_input": "2024-10-07T17:35:20.565709Z", - "iopub.status.busy": "2024-10-07T17:35:20.565392Z", - "iopub.status.idle": "2024-10-07T17:35:20.569071Z", - "shell.execute_reply": "2024-10-07T17:35:20.568404Z", - "shell.execute_reply.started": "2024-10-07T17:35:20.565686Z" + "iopub.execute_input": "2024-10-09T15:10:21.809700Z", + "iopub.status.busy": "2024-10-09T15:10:21.809350Z", + "iopub.status.idle": "2024-10-09T15:10:21.813801Z", + "shell.execute_reply": "2024-10-09T15:10:21.813002Z", + "shell.execute_reply.started": "2024-10-09T15:10:21.809675Z" } }, "outputs": [], @@ -455,15 +472,15 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 64, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-10-07T17:50:43.986125Z", - "iopub.status.busy": "2024-10-07T17:50:43.985164Z", - "iopub.status.idle": "2024-10-07T17:50:44.094955Z", - "shell.execute_reply": "2024-10-07T17:50:44.094214Z", - "shell.execute_reply.started": "2024-10-07T17:50:43.986097Z" + "iopub.execute_input": "2024-10-09T15:10:25.821999Z", + "iopub.status.busy": "2024-10-09T15:10:25.821647Z", + "iopub.status.idle": "2024-10-09T15:10:26.198727Z", + "shell.execute_reply": "2024-10-09T15:10:26.198068Z", + "shell.execute_reply.started": "2024-10-09T15:10:25.821972Z" } }, "outputs": [ @@ -471,19 +488,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "beginning function\n" - ] - }, - { - "ename": "TypeError", - "evalue": "'NoneType' object does not support the context manager protocol", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[48], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m client \u001b[38;5;241m=\u001b[39m cit_sci_pipeline\u001b[38;5;241m.\u001b[39mclient\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m# how long should this take?\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m classification_data \u001b[38;5;241m=\u001b[39m \u001b[43mdownload_classifications\u001b[49m\u001b[43m(\u001b[49m\u001b[43mWORKFLOW_ID\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mclient\u001b[49m\u001b[43m)\u001b[49m\n", - "Cell \u001b[0;32mIn[43], line 20\u001b[0m, in \u001b[0;36mdownload_classifications\u001b[0;34m(WORKFLOW_ID, client)\u001b[0m\n\u001b[1;32m 13\u001b[0m workflow \u001b[38;5;241m=\u001b[39m Workflow(WORKFLOW_ID)\n\u001b[1;32m 14\u001b[0m \u001b[38;5;66;03m# generate the classifications \u001b[39;00m\n\u001b[1;32m 15\u001b[0m \u001b[38;5;66;03m# if generate=True, it generates a new classification report,\u001b[39;00m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;66;03m# which can take a long time because they’re queued in the Zooniverse system.\u001b[39;00m\n\u001b[1;32m 17\u001b[0m \u001b[38;5;66;03m# It’s the same as going to the project builder and clicking the “request new report”.\u001b[39;00m\n\u001b[1;32m 18\u001b[0m \u001b[38;5;66;03m# If you don't care about new classifications and are okay with downloading\u001b[39;00m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;66;03m# an older report that you already generated, you can set this flag to False\u001b[39;00m\n\u001b[0;32m---> 20\u001b[0m \u001b[43m\u001b[49m\u001b[38;5;28;43;01mwith\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mclient\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 21\u001b[0m \u001b[43m \u001b[49m\u001b[43mclassification_export\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mworkflow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_export\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mclassifications\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 22\u001b[0m \u001b[43m \u001b[49m\u001b[43mgenerate\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 23\u001b[0m \u001b[43m \u001b[49m\u001b[43mwait\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 24\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# since it's a partial class, call it to get the DictReader object\u001b[39;49;00m\n", - "\u001b[0;31mTypeError\u001b[0m: 'NoneType' object does not support the context manager protocol" + "beginning function\n", + "76it [00:00, 31975.84it/s]\n" ] } ], @@ -495,15 +501,15 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 65, "id": "87efe634-b609-483f-b3d3-49f7623fc565", "metadata": { "execution": { - "iopub.execute_input": "2024-10-07T17:50:50.865870Z", - "iopub.status.busy": "2024-10-07T17:50:50.865443Z", - "iopub.status.idle": "2024-10-07T17:50:50.886378Z", - "shell.execute_reply": "2024-10-07T17:50:50.885600Z", - "shell.execute_reply.started": "2024-10-07T17:50:50.865836Z" + "iopub.execute_input": "2024-10-09T15:10:32.170896Z", + "iopub.status.busy": "2024-10-09T15:10:32.170132Z", + "iopub.status.idle": "2024-10-09T15:10:32.187131Z", + "shell.execute_reply": "2024-10-09T15:10:32.186521Z", + "shell.execute_reply.started": "2024-10-09T15:10:32.170866Z" } }, "outputs": [ @@ -819,7 +825,7 @@ "[76 rows x 14 columns]" ] }, - "execution_count": 49, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -842,47 +848,232 @@ "metadata": {}, "source": [ "## 4. Extract annotations by task and sort by subject ID\n", - "There could be multiple tasks per item." + "The `id_type` argument should either be set to 'objectId' (default) or 'diaobjectId'. This function will return all annotations, there are repeated rows for some `subject_id` entries from different users or the same user re-classifying the same subject. This function will also return the Rubin IDs in a table." ] }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 105, "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": { "execution": { - "iopub.execute_input": "2024-10-07T17:57:08.026053Z", - "iopub.status.busy": "2024-10-07T17:57:08.025304Z", - "iopub.status.idle": "2024-10-07T17:57:08.066581Z", - "shell.execute_reply": "2024-10-07T17:57:08.065427Z", - "shell.execute_reply.started": "2024-10-07T17:57:08.026025Z" + "iopub.execute_input": "2024-10-09T15:36:46.381944Z", + "iopub.status.busy": "2024-10-09T15:36:46.381610Z", + "iopub.status.idle": "2024-10-09T15:36:46.405897Z", + "shell.execute_reply": "2024-10-09T15:36:46.404907Z", + "shell.execute_reply.started": "2024-10-09T15:36:46.381921Z" }, "scrolled": true }, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "row.subject_data {\"103247085\":{\"retired\":null,\"objectId\":\"1651448872733547971\"}}\n", - "str of the subject_id 103247085\n" - ] - }, - { - "ename": "TypeError", - "evalue": "string indices must be integers, not 'str'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[58], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m extracted_data \u001b[38;5;241m=\u001b[39m \u001b[43mextract_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclassification_data\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m extracted_data\n", - "Cell \u001b[0;32mIn[57], line 56\u001b[0m, in \u001b[0;36mextract_data\u001b[0;34m(classification_data)\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mrow.subject_data\u001b[39m\u001b[38;5;124m'\u001b[39m, row\u001b[38;5;241m.\u001b[39msubject_data)\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mstr of the subject_id\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;28mstr\u001b[39m(row\u001b[38;5;241m.\u001b[39msubject_ids))\n\u001b[0;32m---> 56\u001b[0m objectId \u001b[38;5;241m=\u001b[39m \u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_data\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_ids\u001b[49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mobjectId\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mobjectId\u001b[39m\u001b[38;5;124m'\u001b[39m, objectId)\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mrow.subject_data\u001b[39m\u001b[38;5;124m'\u001b[39m, row\u001b[38;5;241m.\u001b[39msubject_data)\n", - "\u001b[0;31mTypeError\u001b[0m: string indices must be integers, not 'str'" - ] + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
classification_idsubject_iduser_nameuser_idcreated_atrubin_iddatatask
1589019067103247082rebecca.nevin19465842024-10-07 16:08:07 UTC1567965153859768169{\"aggregation_version\": \"4.1.0\"}T0
6589019499103247082rebecca.nevin19465842024-10-07 16:09:59 UTC1567965153859768169{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
14589019566103247082rebecca.nevin19465842024-10-07 16:10:14 UTC1567965153859768169{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
22589019633103247082rebecca.nevin19465842024-10-07 16:10:29 UTC1567965153859768169{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
28589019691103247082rebecca.nevin19465842024-10-07 16:10:43 UTC1567965153859768169{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
...........................
51589020003103247087rebecca.nevin19465842024-10-07 16:11:48 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
57589020087103247087rebecca.nevin19465842024-10-07 16:12:08 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
59589020101103247087rebecca.nevin19465842024-10-07 16:12:13 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
64589020154103247087rebecca.nevin19465842024-10-07 16:12:27 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
70589020334103247087rebecca.nevin19465842024-10-07 16:13:10 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
\n", + "

76 rows × 8 columns

\n", + "
" + ], + "text/plain": [ + " classification_id subject_id user_name user_id \\\n", + "1 589019067 103247082 rebecca.nevin 1946584 \n", + "6 589019499 103247082 rebecca.nevin 1946584 \n", + "14 589019566 103247082 rebecca.nevin 1946584 \n", + "22 589019633 103247082 rebecca.nevin 1946584 \n", + "28 589019691 103247082 rebecca.nevin 1946584 \n", + ".. ... ... ... ... \n", + "51 589020003 103247087 rebecca.nevin 1946584 \n", + "57 589020087 103247087 rebecca.nevin 1946584 \n", + "59 589020101 103247087 rebecca.nevin 1946584 \n", + "64 589020154 103247087 rebecca.nevin 1946584 \n", + "70 589020334 103247087 rebecca.nevin 1946584 \n", + "\n", + " created_at rubin_id \\\n", + "1 2024-10-07 16:08:07 UTC 1567965153859768169 \n", + "6 2024-10-07 16:09:59 UTC 1567965153859768169 \n", + "14 2024-10-07 16:10:14 UTC 1567965153859768169 \n", + "22 2024-10-07 16:10:29 UTC 1567965153859768169 \n", + "28 2024-10-07 16:10:43 UTC 1567965153859768169 \n", + ".. ... ... \n", + "51 2024-10-07 16:11:48 UTC 1651325727431231924 \n", + "57 2024-10-07 16:12:08 UTC 1651325727431231924 \n", + "59 2024-10-07 16:12:13 UTC 1651325727431231924 \n", + "64 2024-10-07 16:12:27 UTC 1651325727431231924 \n", + "70 2024-10-07 16:13:10 UTC 1651325727431231924 \n", + "\n", + " data task \n", + "1 {\"aggregation_version\": \"4.1.0\"} T0 \n", + "6 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "14 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "22 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "28 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + ".. ... ... \n", + "51 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "57 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "59 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "64 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "70 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "\n", + "[76 rows x 8 columns]" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "extracted_data = extract_data(classification_data)\n", + "extracted_data = extract_data(classification_data, id_type='objectId')\n", "extracted_data" ] }, @@ -897,61 +1088,33 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 106, "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", "metadata": { "execution": { - "iopub.execute_input": "2024-10-07T17:46:57.981838Z", - "iopub.status.busy": "2024-10-07T17:46:57.981391Z", - "iopub.status.idle": "2024-10-07T17:46:58.020648Z", - "shell.execute_reply": "2024-10-07T17:46:58.019807Z", - "shell.execute_reply.started": "2024-10-07T17:46:57.981809Z" + "iopub.execute_input": "2024-10-09T15:36:49.862485Z", + "iopub.status.busy": "2024-10-09T15:36:49.861702Z", + "iopub.status.idle": "2024-10-09T15:36:49.884441Z", + "shell.execute_reply": "2024-10-09T15:36:49.883751Z", + "shell.execute_reply.started": "2024-10-09T15:36:49.862454Z" } }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "len subject-ids-unique 5\n", - "metadata saved 5\n", - "subject_id\n", - "103247082 [{\"103247082\":{\"retired\":null,\"objectId\":\"1567...\n", - "103247083 [{\"103247083\":{\"retired\":null,\"objectId\":\"1650...\n", - "103247085 [{\"103247085\":{\"retired\":null,\"objectId\":\"1651...\n", - "103247086 [{\"103247086\":{\"retired\":null,\"objectId\":\"1651...\n", - "103247087 [{\"103247087\":{\"retired\":null,\"objectId\":\"1651...\n", - "Name: metadata, dtype: object\n" - ] - }, - { - "ename": "NameError", - "evalue": "name 'STOP' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[35], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m aggregated_data \u001b[38;5;241m=\u001b[39m \u001b[43maggregate_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mextracted_data\u001b[49m\u001b[43m)\u001b[49m\n", - "Cell \u001b[0;32mIn[34], line 101\u001b[0m, in \u001b[0;36maggregate_data\u001b[0;34m(extracted_data)\u001b[0m\n\u001b[1;32m 99\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmetadata saved\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;28mlen\u001b[39m(metadata))\n\u001b[1;32m 100\u001b[0m \u001b[38;5;28mprint\u001b[39m(metadata)\n\u001b[0;32m--> 101\u001b[0m \u001b[43mSTOP\u001b[49m\n\u001b[1;32m 104\u001b[0m \u001b[38;5;66;03m# set up a temporary list to store reduced data\u001b[39;00m\n\u001b[1;32m 105\u001b[0m aggregated_rows \u001b[38;5;241m=\u001b[39m []\n", - "\u001b[0;31mNameError\u001b[0m: name 'STOP' is not defined" - ] - } - ], + "outputs": [], "source": [ "aggregated_data = aggregate_data(extracted_data)" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 107, "id": "fab35094-bae0-4883-91ed-6d0215a17135", "metadata": { "execution": { - "iopub.execute_input": "2024-10-07T17:37:12.380491Z", - "iopub.status.busy": "2024-10-07T17:37:12.379814Z", - "iopub.status.idle": "2024-10-07T17:37:12.389288Z", - "shell.execute_reply": "2024-10-07T17:37:12.388726Z", - "shell.execute_reply.started": "2024-10-07T17:37:12.380459Z" + "iopub.execute_input": "2024-10-09T15:36:50.454120Z", + "iopub.status.busy": "2024-10-09T15:36:50.453325Z", + "iopub.status.idle": "2024-10-09T15:36:50.463694Z", + "shell.execute_reply": "2024-10-09T15:36:50.462843Z", + "shell.execute_reply.started": "2024-10-09T15:36:50.454093Z" } }, "outputs": [ @@ -982,6 +1145,7 @@ " aggregation_version\n", " subject_id\n", " task\n", + " rubin_id\n", " \n", " \n", " \n", @@ -993,6 +1157,7 @@ " 4.1.0\n", " 103247082\n", " T0\n", + " 1567965153859768169\n", " \n", " \n", " 1\n", @@ -1002,6 +1167,7 @@ " 4.1.0\n", " 103247083\n", " T0\n", + " 1650947495431285770\n", " \n", " \n", " 2\n", @@ -1011,6 +1177,7 @@ " 4.1.0\n", " 103247085\n", " T0\n", + " 1651448872733547971\n", " \n", " \n", " 3\n", @@ -1020,6 +1187,7 @@ " 4.1.0\n", " 103247086\n", " T0\n", + " 1651536833663756158\n", " \n", " \n", " 4\n", @@ -1029,21 +1197,29 @@ " 4.1.0\n", " 103247087\n", " T0\n", + " 1651325727431231924\n", " \n", " \n", "\n", "" ], "text/plain": [ - " most_likely num_votes agreement aggregation_version subject_id task\n", - "0 no 1 1.0 4.1.0 103247082 T0\n", - "1 yes 1 1.0 4.1.0 103247083 T0\n", - "2 no 1 1.0 4.1.0 103247085 T0\n", - "3 no 1 1.0 4.1.0 103247086 T0\n", - "4 yes 1 1.0 4.1.0 103247087 T0" + " most_likely num_votes agreement aggregation_version subject_id task \\\n", + "0 no 1 1.0 4.1.0 103247082 T0 \n", + "1 yes 1 1.0 4.1.0 103247083 T0 \n", + "2 no 1 1.0 4.1.0 103247085 T0 \n", + "3 no 1 1.0 4.1.0 103247086 T0 \n", + "4 yes 1 1.0 4.1.0 103247087 T0 \n", + "\n", + " rubin_id \n", + "0 1567965153859768169 \n", + "1 1650947495431285770 \n", + "2 1651448872733547971 \n", + "3 1651536833663756158 \n", + "4 1651325727431231924 " ] }, - "execution_count": 12, + "execution_count": 107, "metadata": {}, "output_type": "execute_result" } @@ -1059,10 +1235,9 @@ "source": [ "## 6. Next steps and additional resources\n", "You are now done! Congratulations!\n", - "Next steps could include joining the above table by subject ID with WHAT????\n", - "Additional resources include the Zooniverse team's resources to run panoptes through python (https://github.com/zooniverse/panoptes-python-client/tree/master), which includes tools to:\n", - "- update and\n", - "- ???? to your project on Zooniverse." + "Next steps could include joining the above table with other LSST data using the `rubin_id` column, which is either objectId or diaobjectId.\n", + "\n", + "Additional resources include the Zooniverse team's resources to run panoptes through python (https://github.com/zooniverse/panoptes-python-client/tree/master), which provides high level access to the Zooniverse API in order to manage projects via python." ] }, { @@ -1074,44 +1249,6 @@ "https://github.com/zooniverse/Data-digging, https://github.com/zooniverse/aggregation-for-caesar" ] }, - { - "cell_type": "markdown", - "id": "94a06a74-c799-4ef1-bb4c-932e78abbf18", - "metadata": {}, - "source": [ - "This table contains 14 columns with a bunch of different IDs. The `objectId` or `diaObjectId` entry in the metadata column is necessary to link each classification back to the original ID of the data at the point it was first sent to Zooniverse." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d0f99dae-b69b-4ac5-a87f-4eaf4757a54d", - "metadata": {}, - "outputs": [], - "source": [ - "from panoptes_client import Subject\n", - "\n", - "# Function to retrieve subject metadata based on subject_id\n", - "def get_subject_metadata(subject_id):\n", - " # Find the subject using the Panoptes client\n", - " subject = Subject.find(subject_id)\n", - " # Return the metadata associated with the subject (what was in the manifest file)\n", - " return subject.metadata\n", - "\n", - "# Example usage:\n", - "metadata = get_subject_metadata(aggregated_data['subject_id'][0])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3993307c-3a85-41ab-84e2-39a2433c9d3a", - "metadata": {}, - "outputs": [], - "source": [ - "metadata" - ] - }, { "cell_type": "code", "execution_count": null, From 978efd5cc66ca083bee76f92171182d645c5a539 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Tue, 15 Oct 2024 13:30:15 +0000 Subject: [PATCH 14/23] the #metadata does not show up in metadata --- 03_Aggregate_Classifications.ipynb | 1275 ++++++++++++++++------------ 1 file changed, 709 insertions(+), 566 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 9a91dfe..c6967c8 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -93,15 +93,15 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 1, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-10-09T15:09:18.241944Z", - "iopub.status.busy": "2024-10-09T15:09:18.241567Z", - "iopub.status.idle": "2024-10-09T15:09:18.246817Z", - "shell.execute_reply": "2024-10-09T15:09:18.246136Z", - "shell.execute_reply.started": "2024-10-09T15:09:18.241917Z" + "iopub.execute_input": "2024-10-15T13:24:44.805828Z", + "iopub.status.busy": "2024-10-15T13:24:44.805288Z", + "iopub.status.idle": "2024-10-15T13:24:47.052975Z", + "shell.execute_reply": "2024-10-15T13:24:47.052409Z", + "shell.execute_reply.started": "2024-10-15T13:24:44.805805Z" } }, "outputs": [], @@ -137,15 +137,15 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 7, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-10-09T15:36:41.351817Z", - "iopub.status.busy": "2024-10-09T15:36:41.351416Z", - "iopub.status.idle": "2024-10-09T15:36:41.364747Z", - "shell.execute_reply": "2024-10-09T15:36:41.364001Z", - "shell.execute_reply.started": "2024-10-09T15:36:41.351786Z" + "iopub.execute_input": "2024-10-15T13:26:15.183125Z", + "iopub.status.busy": "2024-10-15T13:26:15.182786Z", + "iopub.status.idle": "2024-10-15T13:26:15.195171Z", + "shell.execute_reply": "2024-10-15T13:26:15.194523Z", + "shell.execute_reply.started": "2024-10-15T13:26:15.183101Z" } }, "outputs": [], @@ -323,15 +323,15 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 3, "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", "metadata": { "execution": { - "iopub.execute_input": "2024-10-09T15:09:26.373529Z", - "iopub.status.busy": "2024-10-09T15:09:26.373181Z", - "iopub.status.idle": "2024-10-09T15:09:54.958183Z", - "shell.execute_reply": "2024-10-09T15:09:54.957351Z", - "shell.execute_reply.started": "2024-10-09T15:09:26.373502Z" + "iopub.execute_input": "2024-10-15T13:24:55.233693Z", + "iopub.status.busy": "2024-10-15T13:24:55.233025Z", + "iopub.status.idle": "2024-10-15T13:25:04.465396Z", + "shell.execute_reply": "2024-10-15T13:25:04.464652Z", + "shell.execute_reply.started": "2024-10-15T13:24:55.233672Z" } }, "outputs": [ @@ -404,15 +404,15 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 4, "id": "8f5808b1-109f-4417-8dd5-003d7d6f83f1", "metadata": { "execution": { - "iopub.execute_input": "2024-10-09T15:10:17.670158Z", - "iopub.status.busy": "2024-10-09T15:10:17.669192Z", - "iopub.status.idle": "2024-10-09T15:10:17.841800Z", - "shell.execute_reply": "2024-10-09T15:10:17.840976Z", - "shell.execute_reply.started": "2024-10-09T15:10:17.670126Z" + "iopub.execute_input": "2024-10-15T13:25:06.469917Z", + "iopub.status.busy": "2024-10-15T13:25:06.469602Z", + "iopub.status.idle": "2024-10-15T13:25:06.775533Z", + "shell.execute_reply": "2024-10-15T13:25:06.774823Z", + "shell.execute_reply.started": "2024-10-15T13:25:06.469896Z" } }, "outputs": [ @@ -423,6 +423,7 @@ "\n", "*==* Your Workflows *==*\n", "\n", + "Workflow ID: 27546 - Display Name: Classify with hidden metadata\n", "Workflow ID: 27509 - Display Name: Classify with metadata\n", "Workflow ID: 23254 - Display Name: Classification\n", "\n", @@ -445,20 +446,20 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 10, "id": "505d46f9-c80f-421c-b8d8-92e3093b4d37", "metadata": { "execution": { - "iopub.execute_input": "2024-10-09T15:10:21.809700Z", - "iopub.status.busy": "2024-10-09T15:10:21.809350Z", - "iopub.status.idle": "2024-10-09T15:10:21.813801Z", - "shell.execute_reply": "2024-10-09T15:10:21.813002Z", - "shell.execute_reply.started": "2024-10-09T15:10:21.809675Z" + "iopub.execute_input": "2024-10-15T13:26:42.449859Z", + "iopub.status.busy": "2024-10-15T13:26:42.449184Z", + "iopub.status.idle": "2024-10-15T13:26:42.452404Z", + "shell.execute_reply": "2024-10-15T13:26:42.451916Z", + "shell.execute_reply.started": "2024-10-15T13:26:42.449836Z" } }, "outputs": [], "source": [ - "WORKFLOW_ID = 27509" + "WORKFLOW_ID = 27546" ] }, { @@ -472,15 +473,15 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 11, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-10-09T15:10:25.821999Z", - "iopub.status.busy": "2024-10-09T15:10:25.821647Z", - "iopub.status.idle": "2024-10-09T15:10:26.198727Z", - "shell.execute_reply": "2024-10-09T15:10:26.198068Z", - "shell.execute_reply.started": "2024-10-09T15:10:25.821972Z" + "iopub.execute_input": "2024-10-15T13:26:44.225826Z", + "iopub.status.busy": "2024-10-15T13:26:44.225228Z", + "iopub.status.idle": "2024-10-15T13:26:44.561921Z", + "shell.execute_reply": "2024-10-15T13:26:44.561220Z", + "shell.execute_reply.started": "2024-10-15T13:26:44.225801Z" } }, "outputs": [ @@ -489,7 +490,7 @@ "output_type": "stream", "text": [ "beginning function\n", - "76it [00:00, 31975.84it/s]\n" + "31it [00:00, 23896.97it/s]\n" ] } ], @@ -501,15 +502,15 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 12, "id": "87efe634-b609-483f-b3d3-49f7623fc565", "metadata": { "execution": { - "iopub.execute_input": "2024-10-09T15:10:32.170896Z", - "iopub.status.busy": "2024-10-09T15:10:32.170132Z", - "iopub.status.idle": "2024-10-09T15:10:32.187131Z", - "shell.execute_reply": "2024-10-09T15:10:32.186521Z", - "shell.execute_reply.started": "2024-10-09T15:10:32.170866Z" + "iopub.execute_input": "2024-10-15T13:26:46.546970Z", + "iopub.status.busy": "2024-10-15T13:26:46.546039Z", + "iopub.status.idle": "2024-10-15T13:26:46.562419Z", + "shell.execute_reply": "2024-10-15T13:26:46.561827Z", + "shell.execute_reply.started": "2024-10-15T13:26:46.546941Z" } }, "outputs": [ @@ -553,525 +554,789 @@ " \n", " \n", " 0\n", - " 589019044\n", + " 590898141\n", " rebecca.nevin\n", " 1946584\n", - " cee5ed56424764950d55\n", - " 27509\n", - " Classify with metadata\n", - " 3.2\n", - " 2024-10-07 16:08:01 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:21 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247085\":{\"retired\":null,\"objectId\":\"16514...\n", - " 103247085\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795925\":{\"retired\":null}}\n", + " 103795925\n", " \n", " \n", " 1\n", - " 589019067\n", + " 590898154\n", " rebecca.nevin\n", " 1946584\n", - " cee5ed56424764950d55\n", - " 27509\n", - " Classify with metadata\n", - " 3.2\n", - " 2024-10-07 16:08:07 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:23 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", - " 103247082\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795928\":{\"retired\":null}}\n", + " 103795928\n", " \n", " \n", " 2\n", - " 589019090\n", + " 590898165\n", " rebecca.nevin\n", " 1946584\n", - " cee5ed56424764950d55\n", - " 27509\n", - " Classify with metadata\n", - " 3.2\n", - " 2024-10-07 16:08:12 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:25 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247086\":{\"retired\":null,\"objectId\":\"16515...\n", - " 103247086\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795926\":{\"retired\":null}}\n", + " 103795926\n", " \n", " \n", " 3\n", - " 589019097\n", + " 590898171\n", " rebecca.nevin\n", " 1946584\n", - " cee5ed56424764950d55\n", - " 27509\n", - " Classify with metadata\n", - " 3.2\n", - " 2024-10-07 16:08:14 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:27 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247083\":{\"retired\":null,\"objectId\":\"16509...\n", - " 103247083\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795924\":{\"retired\":null}}\n", + " 103795924\n", " \n", " \n", " 4\n", - " 589019337\n", + " 590898185\n", " rebecca.nevin\n", " 1946584\n", - " cee5ed56424764950d55\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:09:17 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:29 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247087\":{\"retired\":null,\"objectId\":\"16513...\n", - " 103247087\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795927\":{\"retired\":null}}\n", + " 103795927\n", " \n", " \n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", + " 5\n", + " 590898199\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:32 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795927\":{\"retired\":null}}\n", + " 103795927\n", " \n", " \n", - " 71\n", - " 589020345\n", + " 6\n", + " 590898206\n", " rebecca.nevin\n", " 1946584\n", - " 77dde073c5ec44c24799\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:13:13 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:33 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", - " 103247082\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795928\":{\"retired\":null}}\n", + " 103795928\n", " \n", " \n", - " 72\n", - " 589020360\n", + " 7\n", + " 590898221\n", " rebecca.nevin\n", " 1946584\n", - " 77dde073c5ec44c24799\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:13:18 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:36 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247085\":{\"retired\":null,\"objectId\":\"16514...\n", - " 103247085\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795926\":{\"retired\":null}}\n", + " 103795926\n", " \n", " \n", - " 73\n", - " 589020372\n", + " 8\n", + " 590898233\n", " rebecca.nevin\n", " 1946584\n", - " 77dde073c5ec44c24799\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:13:21 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:37 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247083\":{\"retired\":null,\"objectId\":\"16509...\n", - " 103247083\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795924\":{\"retired\":null}}\n", + " 103795924\n", " \n", " \n", - " 74\n", - " 589020385\n", + " 9\n", + " 590898241\n", " rebecca.nevin\n", " 1946584\n", - " 77dde073c5ec44c24799\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:13:23 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:39 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247086\":{\"retired\":null,\"objectId\":\"16515...\n", - " 103247086\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795925\":{\"retired\":null}}\n", + " 103795925\n", " \n", " \n", - " 75\n", - " 589020390\n", + " 10\n", + " 590898341\n", " rebecca.nevin\n", " 1946584\n", - " 77dde073c5ec44c24799\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:13:25 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:34:02 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", - " 103247082\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795926\":{\"retired\":null}}\n", + " 103795926\n", " \n", - " \n", - "\n", - "

76 rows × 14 columns

\n", - "" - ], - "text/plain": [ - " classification_id user_name user_id user_ip \\\n", - "0 589019044 rebecca.nevin 1946584 cee5ed56424764950d55 \n", - "1 589019067 rebecca.nevin 1946584 cee5ed56424764950d55 \n", - "2 589019090 rebecca.nevin 1946584 cee5ed56424764950d55 \n", - "3 589019097 rebecca.nevin 1946584 cee5ed56424764950d55 \n", - "4 589019337 rebecca.nevin 1946584 cee5ed56424764950d55 \n", - ".. ... ... ... ... \n", - "71 589020345 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", - "72 589020360 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", - "73 589020372 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", - "74 589020385 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", - "75 589020390 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", - "\n", - " workflow_id workflow_name workflow_version \\\n", - "0 27509 Classify with metadata 3.2 \n", - "1 27509 Classify with metadata 3.2 \n", - "2 27509 Classify with metadata 3.2 \n", - "3 27509 Classify with metadata 3.2 \n", - "4 27509 Classify with metadata 5.6 \n", - ".. ... ... ... \n", - "71 27509 Classify with metadata 5.6 \n", - "72 27509 Classify with metadata 5.6 \n", - "73 27509 Classify with metadata 5.6 \n", - "74 27509 Classify with metadata 5.6 \n", - "75 27509 Classify with metadata 5.6 \n", - "\n", - " created_at gold_standard expert \\\n", - "0 2024-10-07 16:08:01 UTC \n", - "1 2024-10-07 16:08:07 UTC \n", - "2 2024-10-07 16:08:12 UTC \n", - "3 2024-10-07 16:08:14 UTC \n", - "4 2024-10-07 16:09:17 UTC \n", - ".. ... ... ... \n", - "71 2024-10-07 16:13:13 UTC \n", - "72 2024-10-07 16:13:18 UTC \n", - "73 2024-10-07 16:13:21 UTC \n", - "74 2024-10-07 16:13:23 UTC \n", - "75 2024-10-07 16:13:25 UTC \n", - "\n", - " metadata \\\n", - "0 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", - "1 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", - "2 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", - "3 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", - "4 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", - ".. ... \n", - "71 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", - "72 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", - "73 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", - "74 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", - "75 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", - "\n", - " annotations \\\n", - "0 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "1 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "2 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "3 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "4 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - ".. ... \n", - "71 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "72 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "73 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "74 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "75 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "\n", - " subject_data subject_ids \n", - "0 {\"103247085\":{\"retired\":null,\"objectId\":\"16514... 103247085 \n", - "1 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", - "2 {\"103247086\":{\"retired\":null,\"objectId\":\"16515... 103247086 \n", - "3 {\"103247083\":{\"retired\":null,\"objectId\":\"16509... 103247083 \n", - "4 {\"103247087\":{\"retired\":null,\"objectId\":\"16513... 103247087 \n", - ".. ... ... \n", - "71 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", - "72 {\"103247085\":{\"retired\":null,\"objectId\":\"16514... 103247085 \n", - "73 {\"103247083\":{\"retired\":null,\"objectId\":\"16509... 103247083 \n", - "74 {\"103247086\":{\"retired\":null,\"objectId\":\"16515... 103247086 \n", - "75 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", - "\n", - "[76 rows x 14 columns]" - ] - }, - "execution_count": 65, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "classification_data" - ] - }, - { - "cell_type": "markdown", - "id": "bda67780-9331-4922-8411-383e169fbf84", - "metadata": {}, - "source": [ - "Select either `objectId` or `diaObjectId`; this should match the ID type of the data that was first sent to Zooniverse." - ] - }, - { - "cell_type": "markdown", - "id": "db961c2e-0304-4d9e-8ac1-9e25197a2fc2", - "metadata": {}, - "source": [ - "## 4. Extract annotations by task and sort by subject ID\n", - "The `id_type` argument should either be set to 'objectId' (default) or 'diaobjectId'. This function will return all annotations, there are repeated rows for some `subject_id` entries from different users or the same user re-classifying the same subject. This function will also return the Rubin IDs in a table." - ] - }, - { - "cell_type": "code", - "execution_count": 105, - "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-09T15:36:46.381944Z", - "iopub.status.busy": "2024-10-09T15:36:46.381610Z", - "iopub.status.idle": "2024-10-09T15:36:46.405897Z", - "shell.execute_reply": "2024-10-09T15:36:46.404907Z", - "shell.execute_reply.started": "2024-10-09T15:36:46.381921Z" - }, - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
classification_idsubject_iduser_nameuser_idcreated_atrubin_iddatatask
11590898348rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:03 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
158901906710324708212590898356rebecca.nevin19465842024-10-07 16:08:07 UTC1567965153859768169{\"aggregation_version\": \"4.1.0\"}T0da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:05 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795924\":{\"retired\":null}}103795924
658901949910324708213590898364rebecca.nevin19465842024-10-07 16:09:59 UTC1567965153859768169{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:07 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795927\":{\"retired\":null}}103795927
14589019566103247082590898369rebecca.nevin19465842024-10-07 16:10:14 UTC1567965153859768169{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:09 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795925\":{\"retired\":null}}103795925
15590898379rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:11 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795927\":{\"retired\":null}}103795927
16590898384rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:13 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
17590898389rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:14 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795924\":{\"retired\":null}}103795924
18590898641rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:19 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795926\":{\"retired\":null}}103795926
19590898751rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:44 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
20590898760rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:46 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795925\":{\"retired\":null}}103795925
21590898772rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:47 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795926\":{\"retired\":null}}103795926
22589019633103247082590898780rebecca.nevin19465842024-10-07 16:10:29 UTC1567965153859768169{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:49 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795924\":{\"retired\":null}}103795924
2858901969110324708223590898786rebecca.nevin19465842024-10-07 16:10:43 UTC1567965153859768169{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:51 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795927\":{\"retired\":null}}103795927
...........................24590898794rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:52 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
25590899891rebecca.nevin1946584a2517e42340dcd992bac27546Classify with hidden metadata4.62024-10-14 20:40:02 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795924\":{\"retired\":null}}103795924
5158902000310324708726590899903rebecca.nevin19465842024-10-07 16:11:48 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0a2517e42340dcd992bac27546Classify with hidden metadata4.62024-10-14 20:40:04 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795926\":{\"retired\":null}}103795926
5758902008710324708727590899914rebecca.nevin19465842024-10-07 16:12:08 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0a2517e42340dcd992bac27546Classify with hidden metadata4.62024-10-14 20:40:07 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795925\":{\"retired\":null}}103795925
5958902010110324708728590901299rebecca.nevin19465842024-10-07 16:12:13 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0bba2c56b09c563152f7327546Classify with hidden metadata4.62024-10-14 20:44:31 UTC{\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795925\":{\"retired\":null}}103795925
6458902015410324708729590901315rebecca.nevin19465842024-10-07 16:12:27 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0bba2c56b09c563152f7327546Classify with hidden metadata4.62024-10-14 20:44:33 UTC{\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
7058902033410324708730590901329rebecca.nevin19465842024-10-07 16:13:10 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0bba2c56b09c563152f7327546Classify with hidden metadata4.62024-10-14 20:44:35 UTC{\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795926\":{\"retired\":null}}103795926
\n", - "

76 rows × 8 columns

\n", "
" ], "text/plain": [ - " classification_id subject_id user_name user_id \\\n", - "1 589019067 103247082 rebecca.nevin 1946584 \n", - "6 589019499 103247082 rebecca.nevin 1946584 \n", - "14 589019566 103247082 rebecca.nevin 1946584 \n", - "22 589019633 103247082 rebecca.nevin 1946584 \n", - "28 589019691 103247082 rebecca.nevin 1946584 \n", - ".. ... ... ... ... \n", - "51 589020003 103247087 rebecca.nevin 1946584 \n", - "57 589020087 103247087 rebecca.nevin 1946584 \n", - "59 589020101 103247087 rebecca.nevin 1946584 \n", - "64 589020154 103247087 rebecca.nevin 1946584 \n", - "70 589020334 103247087 rebecca.nevin 1946584 \n", + " classification_id user_name user_id user_ip \\\n", + "0 590898141 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "1 590898154 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "2 590898165 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "3 590898171 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "4 590898185 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "5 590898199 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "6 590898206 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "7 590898221 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "8 590898233 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "9 590898241 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "10 590898341 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "11 590898348 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "12 590898356 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "13 590898364 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "14 590898369 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "15 590898379 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "16 590898384 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "17 590898389 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "18 590898641 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "19 590898751 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "20 590898760 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "21 590898772 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "22 590898780 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "23 590898786 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "24 590898794 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "25 590899891 rebecca.nevin 1946584 a2517e42340dcd992bac \n", + "26 590899903 rebecca.nevin 1946584 a2517e42340dcd992bac \n", + "27 590899914 rebecca.nevin 1946584 a2517e42340dcd992bac \n", + "28 590901299 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", + "29 590901315 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", + "30 590901329 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", "\n", - " created_at rubin_id \\\n", - "1 2024-10-07 16:08:07 UTC 1567965153859768169 \n", - "6 2024-10-07 16:09:59 UTC 1567965153859768169 \n", - "14 2024-10-07 16:10:14 UTC 1567965153859768169 \n", - "22 2024-10-07 16:10:29 UTC 1567965153859768169 \n", - "28 2024-10-07 16:10:43 UTC 1567965153859768169 \n", - ".. ... ... \n", - "51 2024-10-07 16:11:48 UTC 1651325727431231924 \n", - "57 2024-10-07 16:12:08 UTC 1651325727431231924 \n", - "59 2024-10-07 16:12:13 UTC 1651325727431231924 \n", - "64 2024-10-07 16:12:27 UTC 1651325727431231924 \n", - "70 2024-10-07 16:13:10 UTC 1651325727431231924 \n", + " workflow_id workflow_name workflow_version \\\n", + "0 27546 Classify with hidden metadata 4.6 \n", + "1 27546 Classify with hidden metadata 4.6 \n", + "2 27546 Classify with hidden metadata 4.6 \n", + "3 27546 Classify with hidden metadata 4.6 \n", + "4 27546 Classify with hidden metadata 4.6 \n", + "5 27546 Classify with hidden metadata 4.6 \n", + "6 27546 Classify with hidden metadata 4.6 \n", + "7 27546 Classify with hidden metadata 4.6 \n", + "8 27546 Classify with hidden metadata 4.6 \n", + "9 27546 Classify with hidden metadata 4.6 \n", + "10 27546 Classify with hidden metadata 4.6 \n", + "11 27546 Classify with hidden metadata 4.6 \n", + "12 27546 Classify with hidden metadata 4.6 \n", + "13 27546 Classify with hidden metadata 4.6 \n", + "14 27546 Classify with hidden metadata 4.6 \n", + "15 27546 Classify with hidden metadata 4.6 \n", + "16 27546 Classify with hidden metadata 4.6 \n", + "17 27546 Classify with hidden metadata 4.6 \n", + "18 27546 Classify with hidden metadata 4.6 \n", + "19 27546 Classify with hidden metadata 4.6 \n", + "20 27546 Classify with hidden metadata 4.6 \n", + "21 27546 Classify with hidden metadata 4.6 \n", + "22 27546 Classify with hidden metadata 4.6 \n", + "23 27546 Classify with hidden metadata 4.6 \n", + "24 27546 Classify with hidden metadata 4.6 \n", + "25 27546 Classify with hidden metadata 4.6 \n", + "26 27546 Classify with hidden metadata 4.6 \n", + "27 27546 Classify with hidden metadata 4.6 \n", + "28 27546 Classify with hidden metadata 4.6 \n", + "29 27546 Classify with hidden metadata 4.6 \n", + "30 27546 Classify with hidden metadata 4.6 \n", "\n", - " data task \n", - "1 {\"aggregation_version\": \"4.1.0\"} T0 \n", - "6 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "14 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "22 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "28 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - ".. ... ... \n", - "51 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "57 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "59 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "64 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "70 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + " created_at gold_standard expert \\\n", + "0 2024-10-14 20:33:21 UTC \n", + "1 2024-10-14 20:33:23 UTC \n", + "2 2024-10-14 20:33:25 UTC \n", + "3 2024-10-14 20:33:27 UTC \n", + "4 2024-10-14 20:33:29 UTC \n", + "5 2024-10-14 20:33:32 UTC \n", + "6 2024-10-14 20:33:33 UTC \n", + "7 2024-10-14 20:33:36 UTC \n", + "8 2024-10-14 20:33:37 UTC \n", + "9 2024-10-14 20:33:39 UTC \n", + "10 2024-10-14 20:34:02 UTC \n", + "11 2024-10-14 20:34:03 UTC \n", + "12 2024-10-14 20:34:05 UTC \n", + "13 2024-10-14 20:34:07 UTC \n", + "14 2024-10-14 20:34:09 UTC \n", + "15 2024-10-14 20:34:11 UTC \n", + "16 2024-10-14 20:34:13 UTC \n", + "17 2024-10-14 20:34:14 UTC \n", + "18 2024-10-14 20:35:19 UTC \n", + "19 2024-10-14 20:35:44 UTC \n", + "20 2024-10-14 20:35:46 UTC \n", + "21 2024-10-14 20:35:47 UTC \n", + "22 2024-10-14 20:35:49 UTC \n", + "23 2024-10-14 20:35:51 UTC \n", + "24 2024-10-14 20:35:52 UTC \n", + "25 2024-10-14 20:40:02 UTC \n", + "26 2024-10-14 20:40:04 UTC \n", + "27 2024-10-14 20:40:07 UTC \n", + "28 2024-10-14 20:44:31 UTC \n", + "29 2024-10-14 20:44:33 UTC \n", + "30 2024-10-14 20:44:35 UTC \n", + "\n", + " metadata \\\n", + "0 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "1 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "2 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "3 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "4 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "5 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "6 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "7 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "8 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "9 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "10 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "11 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "12 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "13 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "14 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "15 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "16 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "17 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "18 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "19 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "20 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "21 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "22 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "23 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "24 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "25 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "26 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "27 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "28 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", + "29 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", + "30 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", "\n", - "[76 rows x 8 columns]" + " annotations \\\n", + "0 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "1 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "2 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "3 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "4 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "5 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "6 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "7 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "8 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "9 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "10 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "11 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "12 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "13 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "14 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "15 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "16 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "17 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "18 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "19 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "20 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "21 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "22 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "23 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "24 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "25 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "26 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "27 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "28 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "29 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "30 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "\n", + " subject_data subject_ids \n", + "0 {\"103795925\":{\"retired\":null}} 103795925 \n", + "1 {\"103795928\":{\"retired\":null}} 103795928 \n", + "2 {\"103795926\":{\"retired\":null}} 103795926 \n", + "3 {\"103795924\":{\"retired\":null}} 103795924 \n", + "4 {\"103795927\":{\"retired\":null}} 103795927 \n", + "5 {\"103795927\":{\"retired\":null}} 103795927 \n", + "6 {\"103795928\":{\"retired\":null}} 103795928 \n", + "7 {\"103795926\":{\"retired\":null}} 103795926 \n", + "8 {\"103795924\":{\"retired\":null}} 103795924 \n", + "9 {\"103795925\":{\"retired\":null}} 103795925 \n", + "10 {\"103795926\":{\"retired\":null}} 103795926 \n", + "11 {\"103795928\":{\"retired\":null}} 103795928 \n", + "12 {\"103795924\":{\"retired\":null}} 103795924 \n", + "13 {\"103795927\":{\"retired\":null}} 103795927 \n", + "14 {\"103795925\":{\"retired\":null}} 103795925 \n", + "15 {\"103795927\":{\"retired\":null}} 103795927 \n", + "16 {\"103795928\":{\"retired\":null}} 103795928 \n", + "17 {\"103795924\":{\"retired\":null}} 103795924 \n", + "18 {\"103795926\":{\"retired\":null}} 103795926 \n", + "19 {\"103795928\":{\"retired\":null}} 103795928 \n", + "20 {\"103795925\":{\"retired\":null}} 103795925 \n", + "21 {\"103795926\":{\"retired\":null}} 103795926 \n", + "22 {\"103795924\":{\"retired\":null}} 103795924 \n", + "23 {\"103795927\":{\"retired\":null}} 103795927 \n", + "24 {\"103795928\":{\"retired\":null}} 103795928 \n", + "25 {\"103795924\":{\"retired\":null}} 103795924 \n", + "26 {\"103795926\":{\"retired\":null}} 103795926 \n", + "27 {\"103795925\":{\"retired\":null}} 103795925 \n", + "28 {\"103795925\":{\"retired\":null}} 103795925 \n", + "29 {\"103795928\":{\"retired\":null}} 103795928 \n", + "30 {\"103795926\":{\"retired\":null}} 103795926 " ] }, - "execution_count": 105, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], + "source": [ + "classification_data" + ] + }, + { + "cell_type": "markdown", + "id": "bda67780-9331-4922-8411-383e169fbf84", + "metadata": {}, + "source": [ + "Select either `objectId` or `diaObjectId`; this should match the ID type of the data that was first sent to Zooniverse." + ] + }, + { + "cell_type": "markdown", + "id": "db961c2e-0304-4d9e-8ac1-9e25197a2fc2", + "metadata": {}, + "source": [ + "## 4. Extract annotations by task and sort by subject ID\n", + "The `id_type` argument should either be set to 'objectId' (default) or 'diaobjectId'. This function will return all annotations, there are repeated rows for some `subject_id` entries from different users or the same user re-classifying the same subject. This function will also return the Rubin IDs in a table." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-15T13:27:20.941722Z", + "iopub.status.busy": "2024-10-15T13:27:20.941354Z", + "iopub.status.idle": "2024-10-15T13:27:20.981751Z", + "shell.execute_reply": "2024-10-15T13:27:20.980873Z", + "shell.execute_reply.started": "2024-10-15T13:27:20.941698Z" + }, + "scrolled": true + }, + "outputs": [ + { + "ename": "KeyError", + "evalue": "'objectId'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[13], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m extracted_data \u001b[38;5;241m=\u001b[39m \u001b[43mextract_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclassification_data\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mid_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mobjectId\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m extracted_data\n", + "Cell \u001b[0;32mIn[7], line 55\u001b[0m, in \u001b[0;36mextract_data\u001b[0;34m(classification_data, id_type)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[38;5;66;03m# Check if the subject ID exists and is a dictionary\u001b[39;00m\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m subject_id_str \u001b[38;5;129;01min\u001b[39;00m row\u001b[38;5;241m.\u001b[39msubject_data \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(json\u001b[38;5;241m.\u001b[39mloads(row\u001b[38;5;241m.\u001b[39msubject_data)[subject_id_str], \u001b[38;5;28mdict\u001b[39m):\n\u001b[0;32m---> 55\u001b[0m rubin_id \u001b[38;5;241m=\u001b[39m \u001b[43mjson\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloads\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_data\u001b[49m\u001b[43m)\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_ids\u001b[49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[43mid_type\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mKey \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00msubject_id_str\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m not found in subject_data or it is not a dictionary.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "\u001b[0;31mKeyError\u001b[0m: 'objectId'" + ] + } + ], "source": [ "extracted_data = extract_data(classification_data, id_type='objectId')\n", "extracted_data" @@ -1088,17 +1353,9 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": null, "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-09T15:36:49.862485Z", - "iopub.status.busy": "2024-10-09T15:36:49.861702Z", - "iopub.status.idle": "2024-10-09T15:36:49.884441Z", - "shell.execute_reply": "2024-10-09T15:36:49.883751Z", - "shell.execute_reply.started": "2024-10-09T15:36:49.862454Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "aggregated_data = aggregate_data(extracted_data)" @@ -1106,124 +1363,10 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": null, "id": "fab35094-bae0-4883-91ed-6d0215a17135", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-09T15:36:50.454120Z", - "iopub.status.busy": "2024-10-09T15:36:50.453325Z", - "iopub.status.idle": "2024-10-09T15:36:50.463694Z", - "shell.execute_reply": "2024-10-09T15:36:50.462843Z", - "shell.execute_reply.started": "2024-10-09T15:36:50.454093Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
most_likelynum_votesagreementaggregation_versionsubject_idtaskrubin_id
0no11.04.1.0103247082T01567965153859768169
1yes11.04.1.0103247083T01650947495431285770
2no11.04.1.0103247085T01651448872733547971
3no11.04.1.0103247086T01651536833663756158
4yes11.04.1.0103247087T01651325727431231924
\n", - "
" - ], - "text/plain": [ - " most_likely num_votes agreement aggregation_version subject_id task \\\n", - "0 no 1 1.0 4.1.0 103247082 T0 \n", - "1 yes 1 1.0 4.1.0 103247083 T0 \n", - "2 no 1 1.0 4.1.0 103247085 T0 \n", - "3 no 1 1.0 4.1.0 103247086 T0 \n", - "4 yes 1 1.0 4.1.0 103247087 T0 \n", - "\n", - " rubin_id \n", - "0 1567965153859768169 \n", - "1 1650947495431285770 \n", - "2 1651448872733547971 \n", - "3 1651536833663756158 \n", - "4 1651325727431231924 " - ] - }, - "execution_count": 107, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "aggregated_data" ] From cd01b57fc553a1d647f5b244a768783337f2e7a6 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Tue, 15 Oct 2024 13:31:59 +0000 Subject: [PATCH 15/23] the #metadata does not show up in metadata --- 03_Aggregate_Classifications.ipynb | 51 +++++++++++++++++++----------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index c6967c8..181bf4d 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -137,15 +137,15 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 14, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:26:15.183125Z", - "iopub.status.busy": "2024-10-15T13:26:15.182786Z", - "iopub.status.idle": "2024-10-15T13:26:15.195171Z", - "shell.execute_reply": "2024-10-15T13:26:15.194523Z", - "shell.execute_reply.started": "2024-10-15T13:26:15.183101Z" + "iopub.execute_input": "2024-10-15T13:28:58.195627Z", + "iopub.status.busy": "2024-10-15T13:28:58.195266Z", + "iopub.status.idle": "2024-10-15T13:28:58.207676Z", + "shell.execute_reply": "2024-10-15T13:28:58.206803Z", + "shell.execute_reply.started": "2024-10-15T13:28:58.195596Z" } }, "outputs": [], @@ -204,7 +204,11 @@ " subject_id_str = str(row.subject_ids)\n", " # Check if the subject ID exists and is a dictionary\n", " if subject_id_str in row.subject_data and isinstance(json.loads(row.subject_data)[subject_id_str], dict):\n", - " rubin_id = json.loads(row.subject_data)[str(row.subject_ids)][id_type]\n", + " try:\n", + " rubin_id = json.loads(row.subject_data)[str(row.subject_ids)][id_type]\n", + " except KeyError:\n", + " print(json.loads(row.subject_data))\n", + " STOP\n", " else:\n", " print(f\"Key '{subject_id_str}' not found in subject_data or it is not a dictionary.\")\n", " # add the extracted annotations to our temporary list along with some other additional data\n", @@ -1311,29 +1315,40 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 15, "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:27:20.941722Z", - "iopub.status.busy": "2024-10-15T13:27:20.941354Z", - "iopub.status.idle": "2024-10-15T13:27:20.981751Z", - "shell.execute_reply": "2024-10-15T13:27:20.980873Z", - "shell.execute_reply.started": "2024-10-15T13:27:20.941698Z" + "iopub.execute_input": "2024-10-15T13:29:03.598315Z", + "iopub.status.busy": "2024-10-15T13:29:03.597386Z", + "iopub.status.idle": "2024-10-15T13:29:03.652745Z", + "shell.execute_reply": "2024-10-15T13:29:03.651908Z", + "shell.execute_reply.started": "2024-10-15T13:29:03.598283Z" }, "scrolled": true }, "outputs": [ { - "ename": "KeyError", - "evalue": "'objectId'", + "name": "stdout", + "output_type": "stream", + "text": [ + "{'103795925': {'retired': None}}\n" + ] + }, + { + "ename": "NameError", + "evalue": "name 'STOP' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[13], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m extracted_data \u001b[38;5;241m=\u001b[39m \u001b[43mextract_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclassification_data\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mid_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mobjectId\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m extracted_data\n", - "Cell \u001b[0;32mIn[7], line 55\u001b[0m, in \u001b[0;36mextract_data\u001b[0;34m(classification_data, id_type)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[38;5;66;03m# Check if the subject ID exists and is a dictionary\u001b[39;00m\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m subject_id_str \u001b[38;5;129;01min\u001b[39;00m row\u001b[38;5;241m.\u001b[39msubject_data \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(json\u001b[38;5;241m.\u001b[39mloads(row\u001b[38;5;241m.\u001b[39msubject_data)[subject_id_str], \u001b[38;5;28mdict\u001b[39m):\n\u001b[0;32m---> 55\u001b[0m rubin_id \u001b[38;5;241m=\u001b[39m \u001b[43mjson\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloads\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_data\u001b[49m\u001b[43m)\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_ids\u001b[49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[43mid_type\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mKey \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00msubject_id_str\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m not found in subject_data or it is not a dictionary.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "\u001b[0;31mKeyError\u001b[0m: 'objectId'" + "Cell \u001b[0;32mIn[14], line 56\u001b[0m, in \u001b[0;36mextract_data\u001b[0;34m(classification_data, id_type)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 56\u001b[0m rubin_id \u001b[38;5;241m=\u001b[39m \u001b[43mjson\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloads\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_data\u001b[49m\u001b[43m)\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_ids\u001b[49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[43mid_type\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n", + "\u001b[0;31mKeyError\u001b[0m: 'objectId'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[15], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m extracted_data \u001b[38;5;241m=\u001b[39m \u001b[43mextract_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclassification_data\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mid_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mobjectId\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m extracted_data\n", + "Cell \u001b[0;32mIn[14], line 59\u001b[0m, in \u001b[0;36mextract_data\u001b[0;34m(classification_data, id_type)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28mprint\u001b[39m(json\u001b[38;5;241m.\u001b[39mloads(row\u001b[38;5;241m.\u001b[39msubject_data))\n\u001b[0;32m---> 59\u001b[0m \u001b[43mSTOP\u001b[49m\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 61\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mKey \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00msubject_id_str\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m not found in subject_data or it is not a dictionary.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "\u001b[0;31mNameError\u001b[0m: name 'STOP' is not defined" ] } ], From 65c111a9a7c7886b3589fb1cf4722f722573b498 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Tue, 15 Oct 2024 13:32:56 +0000 Subject: [PATCH 16/23] whole thing will stop at extract and print out the json.loads --- 03_Aggregate_Classifications.ipynb | 921 ++++++++--------------------- 1 file changed, 231 insertions(+), 690 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 181bf4d..5348497 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -137,15 +137,15 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 19, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:28:58.195627Z", - "iopub.status.busy": "2024-10-15T13:28:58.195266Z", - "iopub.status.idle": "2024-10-15T13:28:58.207676Z", - "shell.execute_reply": "2024-10-15T13:28:58.206803Z", - "shell.execute_reply.started": "2024-10-15T13:28:58.195596Z" + "iopub.execute_input": "2024-10-15T13:31:31.523494Z", + "iopub.status.busy": "2024-10-15T13:31:31.523183Z", + "iopub.status.idle": "2024-10-15T13:31:31.535632Z", + "shell.execute_reply": "2024-10-15T13:31:31.535012Z", + "shell.execute_reply.started": "2024-10-15T13:31:31.523474Z" } }, "outputs": [], @@ -206,6 +206,8 @@ " if subject_id_str in row.subject_data and isinstance(json.loads(row.subject_data)[subject_id_str], dict):\n", " try:\n", " rubin_id = json.loads(row.subject_data)[str(row.subject_ids)][id_type]\n", + " print(json.loads(row.subject_data))\n", + " STOp\n", " except KeyError:\n", " print(json.loads(row.subject_data))\n", " STOP\n", @@ -450,20 +452,20 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 16, "id": "505d46f9-c80f-421c-b8d8-92e3093b4d37", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:26:42.449859Z", - "iopub.status.busy": "2024-10-15T13:26:42.449184Z", - "iopub.status.idle": "2024-10-15T13:26:42.452404Z", - "shell.execute_reply": "2024-10-15T13:26:42.451916Z", - "shell.execute_reply.started": "2024-10-15T13:26:42.449836Z" + "iopub.execute_input": "2024-10-15T13:31:02.285933Z", + "iopub.status.busy": "2024-10-15T13:31:02.285282Z", + "iopub.status.idle": "2024-10-15T13:31:02.289367Z", + "shell.execute_reply": "2024-10-15T13:31:02.288758Z", + "shell.execute_reply.started": "2024-10-15T13:31:02.285905Z" } }, "outputs": [], "source": [ - "WORKFLOW_ID = 27546" + "WORKFLOW_ID = 27509" ] }, { @@ -477,15 +479,15 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 17, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:26:44.225826Z", - "iopub.status.busy": "2024-10-15T13:26:44.225228Z", - "iopub.status.idle": "2024-10-15T13:26:44.561921Z", - "shell.execute_reply": "2024-10-15T13:26:44.561220Z", - "shell.execute_reply.started": "2024-10-15T13:26:44.225801Z" + "iopub.execute_input": "2024-10-15T13:31:05.218545Z", + "iopub.status.busy": "2024-10-15T13:31:05.217647Z", + "iopub.status.idle": "2024-10-15T13:31:05.680071Z", + "shell.execute_reply": "2024-10-15T13:31:05.679549Z", + "shell.execute_reply.started": "2024-10-15T13:31:05.218521Z" } }, "outputs": [ @@ -494,7 +496,7 @@ "output_type": "stream", "text": [ "beginning function\n", - "31it [00:00, 23896.97it/s]\n" + "76it [00:00, 34231.86it/s]\n" ] } ], @@ -506,15 +508,15 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 18, "id": "87efe634-b609-483f-b3d3-49f7623fc565", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:26:46.546970Z", - "iopub.status.busy": "2024-10-15T13:26:46.546039Z", - "iopub.status.idle": "2024-10-15T13:26:46.562419Z", - "shell.execute_reply": "2024-10-15T13:26:46.561827Z", - "shell.execute_reply.started": "2024-10-15T13:26:46.546941Z" + "iopub.execute_input": "2024-10-15T13:31:06.238586Z", + "iopub.status.busy": "2024-10-15T13:31:06.238280Z", + "iopub.status.idle": "2024-10-15T13:31:06.252524Z", + "shell.execute_reply": "2024-10-15T13:31:06.251986Z", + "shell.execute_reply.started": "2024-10-15T13:31:06.238565Z" } }, "outputs": [ @@ -558,736 +560,279 @@ " \n", " \n", " 0\n", - " 590898141\n", + " 589019044\n", " rebecca.nevin\n", " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:33:21 UTC\n", + " cee5ed56424764950d55\n", + " 27509\n", + " Classify with metadata\n", + " 3.2\n", + " 2024-10-07 16:08:01 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795925\":{\"retired\":null}}\n", - " 103795925\n", + " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247085\":{\"retired\":null,\"objectId\":\"16514...\n", + " 103247085\n", " \n", " \n", " 1\n", - " 590898154\n", + " 589019067\n", " rebecca.nevin\n", " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:33:23 UTC\n", + " cee5ed56424764950d55\n", + " 27509\n", + " Classify with metadata\n", + " 3.2\n", + " 2024-10-07 16:08:07 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795928\":{\"retired\":null}}\n", - " 103795928\n", + " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", + " 103247082\n", " \n", " \n", " 2\n", - " 590898165\n", + " 589019090\n", " rebecca.nevin\n", " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:33:25 UTC\n", + " cee5ed56424764950d55\n", + " 27509\n", + " Classify with metadata\n", + " 3.2\n", + " 2024-10-07 16:08:12 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795926\":{\"retired\":null}}\n", - " 103795926\n", + " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247086\":{\"retired\":null,\"objectId\":\"16515...\n", + " 103247086\n", " \n", " \n", " 3\n", - " 590898171\n", + " 589019097\n", " rebecca.nevin\n", " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:33:27 UTC\n", + " cee5ed56424764950d55\n", + " 27509\n", + " Classify with metadata\n", + " 3.2\n", + " 2024-10-07 16:08:14 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795924\":{\"retired\":null}}\n", - " 103795924\n", + " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247083\":{\"retired\":null,\"objectId\":\"16509...\n", + " 103247083\n", " \n", " \n", " 4\n", - " 590898185\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:33:29 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795927\":{\"retired\":null}}\n", - " 103795927\n", - " \n", - " \n", - " 5\n", - " 590898199\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:33:32 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795927\":{\"retired\":null}}\n", - " 103795927\n", - " \n", - " \n", - " 6\n", - " 590898206\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:33:33 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795928\":{\"retired\":null}}\n", - " 103795928\n", - " \n", - " \n", - " 7\n", - " 590898221\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:33:36 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795926\":{\"retired\":null}}\n", - " 103795926\n", - " \n", - " \n", - " 8\n", - " 590898233\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:33:37 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795924\":{\"retired\":null}}\n", - " 103795924\n", - " \n", - " \n", - " 9\n", - " 590898241\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:33:39 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795925\":{\"retired\":null}}\n", - " 103795925\n", - " \n", - " \n", - " 10\n", - " 590898341\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:34:02 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795926\":{\"retired\":null}}\n", - " 103795926\n", - " \n", - " \n", - " 11\n", - " 590898348\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:34:03 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795928\":{\"retired\":null}}\n", - " 103795928\n", - " \n", - " \n", - " 12\n", - " 590898356\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:34:05 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795924\":{\"retired\":null}}\n", - " 103795924\n", - " \n", - " \n", - " 13\n", - " 590898364\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:34:07 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795927\":{\"retired\":null}}\n", - " 103795927\n", - " \n", - " \n", - " 14\n", - " 590898369\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:34:09 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795925\":{\"retired\":null}}\n", - " 103795925\n", - " \n", - " \n", - " 15\n", - " 590898379\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:34:11 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795927\":{\"retired\":null}}\n", - " 103795927\n", - " \n", - " \n", - " 16\n", - " 590898384\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:34:13 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795928\":{\"retired\":null}}\n", - " 103795928\n", - " \n", - " \n", - " 17\n", - " 590898389\n", + " 589019337\n", " rebecca.nevin\n", " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:34:14 UTC\n", + " cee5ed56424764950d55\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:09:17 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795924\":{\"retired\":null}}\n", - " 103795924\n", + " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247087\":{\"retired\":null,\"objectId\":\"16513...\n", + " 103247087\n", " \n", " \n", - " 18\n", - " 590898641\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:35:19 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795926\":{\"retired\":null}}\n", - " 103795926\n", - " \n", - " \n", - " 19\n", - " 590898751\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:35:44 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795928\":{\"retired\":null}}\n", - " 103795928\n", - " \n", - " \n", - " 20\n", - " 590898760\n", - " rebecca.nevin\n", - " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:35:46 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795925\":{\"retired\":null}}\n", - " 103795925\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", " \n", " \n", - " 21\n", - " 590898772\n", + " 71\n", + " 589020345\n", " rebecca.nevin\n", " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:35:47 UTC\n", + " 77dde073c5ec44c24799\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:13:13 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795926\":{\"retired\":null}}\n", - " 103795926\n", + " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", + " 103247082\n", " \n", " \n", - " 22\n", - " 590898780\n", + " 72\n", + " 589020360\n", " rebecca.nevin\n", " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:35:49 UTC\n", + " 77dde073c5ec44c24799\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:13:18 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795924\":{\"retired\":null}}\n", - " 103795924\n", + " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247085\":{\"retired\":null,\"objectId\":\"16514...\n", + " 103247085\n", " \n", " \n", - " 23\n", - " 590898786\n", + " 73\n", + " 589020372\n", " rebecca.nevin\n", " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:35:51 UTC\n", + " 77dde073c5ec44c24799\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:13:21 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795927\":{\"retired\":null}}\n", - " 103795927\n", + " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247083\":{\"retired\":null,\"objectId\":\"16509...\n", + " 103247083\n", " \n", " \n", - " 24\n", - " 590898794\n", + " 74\n", + " 589020385\n", " rebecca.nevin\n", " 1946584\n", - " da8718f969c74ba89a13\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:35:52 UTC\n", + " 77dde073c5ec44c24799\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:13:23 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795928\":{\"retired\":null}}\n", - " 103795928\n", + " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247086\":{\"retired\":null,\"objectId\":\"16515...\n", + " 103247086\n", " \n", " \n", - " 25\n", - " 590899891\n", + " 75\n", + " 589020390\n", " rebecca.nevin\n", " 1946584\n", - " a2517e42340dcd992bac\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:40:02 UTC\n", + " 77dde073c5ec44c24799\n", + " 27509\n", + " Classify with metadata\n", + " 5.6\n", + " 2024-10-07 16:13:25 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795924\":{\"retired\":null}}\n", - " 103795924\n", - " \n", - " \n", - " 26\n", - " 590899903\n", - " rebecca.nevin\n", - " 1946584\n", - " a2517e42340dcd992bac\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:40:04 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795926\":{\"retired\":null}}\n", - " 103795926\n", - " \n", - " \n", - " 27\n", - " 590899914\n", - " rebecca.nevin\n", - " 1946584\n", - " a2517e42340dcd992bac\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:40:07 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795925\":{\"retired\":null}}\n", - " 103795925\n", - " \n", - " \n", - " 28\n", - " 590901299\n", - " rebecca.nevin\n", - " 1946584\n", - " bba2c56b09c563152f73\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:44:31 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795925\":{\"retired\":null}}\n", - " 103795925\n", - " \n", - " \n", - " 29\n", - " 590901315\n", - " rebecca.nevin\n", - " 1946584\n", - " bba2c56b09c563152f73\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:44:33 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795928\":{\"retired\":null}}\n", - " 103795928\n", - " \n", - " \n", - " 30\n", - " 590901329\n", - " rebecca.nevin\n", - " 1946584\n", - " bba2c56b09c563152f73\n", - " 27546\n", - " Classify with hidden metadata\n", - " 4.6\n", - " 2024-10-14 20:44:35 UTC\n", - " \n", - " \n", - " {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", - " {\"103795926\":{\"retired\":null}}\n", - " 103795926\n", + " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", + " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", + " 103247082\n", " \n", " \n", "\n", + "

76 rows × 14 columns

\n", "" ], "text/plain": [ " classification_id user_name user_id user_ip \\\n", - "0 590898141 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "1 590898154 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "2 590898165 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "3 590898171 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "4 590898185 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "5 590898199 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "6 590898206 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "7 590898221 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "8 590898233 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "9 590898241 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "10 590898341 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "11 590898348 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "12 590898356 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "13 590898364 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "14 590898369 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "15 590898379 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "16 590898384 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "17 590898389 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "18 590898641 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "19 590898751 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "20 590898760 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "21 590898772 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "22 590898780 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "23 590898786 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "24 590898794 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "25 590899891 rebecca.nevin 1946584 a2517e42340dcd992bac \n", - "26 590899903 rebecca.nevin 1946584 a2517e42340dcd992bac \n", - "27 590899914 rebecca.nevin 1946584 a2517e42340dcd992bac \n", - "28 590901299 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", - "29 590901315 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", - "30 590901329 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", + "0 589019044 rebecca.nevin 1946584 cee5ed56424764950d55 \n", + "1 589019067 rebecca.nevin 1946584 cee5ed56424764950d55 \n", + "2 589019090 rebecca.nevin 1946584 cee5ed56424764950d55 \n", + "3 589019097 rebecca.nevin 1946584 cee5ed56424764950d55 \n", + "4 589019337 rebecca.nevin 1946584 cee5ed56424764950d55 \n", + ".. ... ... ... ... \n", + "71 589020345 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", + "72 589020360 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", + "73 589020372 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", + "74 589020385 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", + "75 589020390 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", "\n", - " workflow_id workflow_name workflow_version \\\n", - "0 27546 Classify with hidden metadata 4.6 \n", - "1 27546 Classify with hidden metadata 4.6 \n", - "2 27546 Classify with hidden metadata 4.6 \n", - "3 27546 Classify with hidden metadata 4.6 \n", - "4 27546 Classify with hidden metadata 4.6 \n", - "5 27546 Classify with hidden metadata 4.6 \n", - "6 27546 Classify with hidden metadata 4.6 \n", - "7 27546 Classify with hidden metadata 4.6 \n", - "8 27546 Classify with hidden metadata 4.6 \n", - "9 27546 Classify with hidden metadata 4.6 \n", - "10 27546 Classify with hidden metadata 4.6 \n", - "11 27546 Classify with hidden metadata 4.6 \n", - "12 27546 Classify with hidden metadata 4.6 \n", - "13 27546 Classify with hidden metadata 4.6 \n", - "14 27546 Classify with hidden metadata 4.6 \n", - "15 27546 Classify with hidden metadata 4.6 \n", - "16 27546 Classify with hidden metadata 4.6 \n", - "17 27546 Classify with hidden metadata 4.6 \n", - "18 27546 Classify with hidden metadata 4.6 \n", - "19 27546 Classify with hidden metadata 4.6 \n", - "20 27546 Classify with hidden metadata 4.6 \n", - "21 27546 Classify with hidden metadata 4.6 \n", - "22 27546 Classify with hidden metadata 4.6 \n", - "23 27546 Classify with hidden metadata 4.6 \n", - "24 27546 Classify with hidden metadata 4.6 \n", - "25 27546 Classify with hidden metadata 4.6 \n", - "26 27546 Classify with hidden metadata 4.6 \n", - "27 27546 Classify with hidden metadata 4.6 \n", - "28 27546 Classify with hidden metadata 4.6 \n", - "29 27546 Classify with hidden metadata 4.6 \n", - "30 27546 Classify with hidden metadata 4.6 \n", + " workflow_id workflow_name workflow_version \\\n", + "0 27509 Classify with metadata 3.2 \n", + "1 27509 Classify with metadata 3.2 \n", + "2 27509 Classify with metadata 3.2 \n", + "3 27509 Classify with metadata 3.2 \n", + "4 27509 Classify with metadata 5.6 \n", + ".. ... ... ... \n", + "71 27509 Classify with metadata 5.6 \n", + "72 27509 Classify with metadata 5.6 \n", + "73 27509 Classify with metadata 5.6 \n", + "74 27509 Classify with metadata 5.6 \n", + "75 27509 Classify with metadata 5.6 \n", "\n", " created_at gold_standard expert \\\n", - "0 2024-10-14 20:33:21 UTC \n", - "1 2024-10-14 20:33:23 UTC \n", - "2 2024-10-14 20:33:25 UTC \n", - "3 2024-10-14 20:33:27 UTC \n", - "4 2024-10-14 20:33:29 UTC \n", - "5 2024-10-14 20:33:32 UTC \n", - "6 2024-10-14 20:33:33 UTC \n", - "7 2024-10-14 20:33:36 UTC \n", - "8 2024-10-14 20:33:37 UTC \n", - "9 2024-10-14 20:33:39 UTC \n", - "10 2024-10-14 20:34:02 UTC \n", - "11 2024-10-14 20:34:03 UTC \n", - "12 2024-10-14 20:34:05 UTC \n", - "13 2024-10-14 20:34:07 UTC \n", - "14 2024-10-14 20:34:09 UTC \n", - "15 2024-10-14 20:34:11 UTC \n", - "16 2024-10-14 20:34:13 UTC \n", - "17 2024-10-14 20:34:14 UTC \n", - "18 2024-10-14 20:35:19 UTC \n", - "19 2024-10-14 20:35:44 UTC \n", - "20 2024-10-14 20:35:46 UTC \n", - "21 2024-10-14 20:35:47 UTC \n", - "22 2024-10-14 20:35:49 UTC \n", - "23 2024-10-14 20:35:51 UTC \n", - "24 2024-10-14 20:35:52 UTC \n", - "25 2024-10-14 20:40:02 UTC \n", - "26 2024-10-14 20:40:04 UTC \n", - "27 2024-10-14 20:40:07 UTC \n", - "28 2024-10-14 20:44:31 UTC \n", - "29 2024-10-14 20:44:33 UTC \n", - "30 2024-10-14 20:44:35 UTC \n", + "0 2024-10-07 16:08:01 UTC \n", + "1 2024-10-07 16:08:07 UTC \n", + "2 2024-10-07 16:08:12 UTC \n", + "3 2024-10-07 16:08:14 UTC \n", + "4 2024-10-07 16:09:17 UTC \n", + ".. ... ... ... \n", + "71 2024-10-07 16:13:13 UTC \n", + "72 2024-10-07 16:13:18 UTC \n", + "73 2024-10-07 16:13:21 UTC \n", + "74 2024-10-07 16:13:23 UTC \n", + "75 2024-10-07 16:13:25 UTC \n", "\n", " metadata \\\n", - "0 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "1 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "2 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "3 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "4 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "5 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "6 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "7 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "8 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "9 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "10 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "11 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "12 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "13 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "14 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "15 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "16 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "17 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "18 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "19 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "20 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "21 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "22 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "23 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "24 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "25 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "26 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "27 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "28 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", - "29 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", - "30 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", + "0 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", + "1 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", + "2 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", + "3 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", + "4 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", + ".. ... \n", + "71 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", + "72 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", + "73 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", + "74 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", + "75 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", "\n", " annotations \\\n", - "0 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "1 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "2 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "3 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "4 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "5 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "6 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "7 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "8 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "9 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "10 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "11 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "12 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "13 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "14 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "15 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "16 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "17 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "18 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "19 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "20 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "21 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "22 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "23 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "24 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "25 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "26 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "27 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "28 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "29 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "30 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "0 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "1 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "2 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "3 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "4 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + ".. ... \n", + "71 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "72 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "73 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "74 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "75 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", + "\n", + " subject_data subject_ids \n", + "0 {\"103247085\":{\"retired\":null,\"objectId\":\"16514... 103247085 \n", + "1 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", + "2 {\"103247086\":{\"retired\":null,\"objectId\":\"16515... 103247086 \n", + "3 {\"103247083\":{\"retired\":null,\"objectId\":\"16509... 103247083 \n", + "4 {\"103247087\":{\"retired\":null,\"objectId\":\"16513... 103247087 \n", + ".. ... ... \n", + "71 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", + "72 {\"103247085\":{\"retired\":null,\"objectId\":\"16514... 103247085 \n", + "73 {\"103247083\":{\"retired\":null,\"objectId\":\"16509... 103247083 \n", + "74 {\"103247086\":{\"retired\":null,\"objectId\":\"16515... 103247086 \n", + "75 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", "\n", - " subject_data subject_ids \n", - "0 {\"103795925\":{\"retired\":null}} 103795925 \n", - "1 {\"103795928\":{\"retired\":null}} 103795928 \n", - "2 {\"103795926\":{\"retired\":null}} 103795926 \n", - "3 {\"103795924\":{\"retired\":null}} 103795924 \n", - "4 {\"103795927\":{\"retired\":null}} 103795927 \n", - "5 {\"103795927\":{\"retired\":null}} 103795927 \n", - "6 {\"103795928\":{\"retired\":null}} 103795928 \n", - "7 {\"103795926\":{\"retired\":null}} 103795926 \n", - "8 {\"103795924\":{\"retired\":null}} 103795924 \n", - "9 {\"103795925\":{\"retired\":null}} 103795925 \n", - "10 {\"103795926\":{\"retired\":null}} 103795926 \n", - "11 {\"103795928\":{\"retired\":null}} 103795928 \n", - "12 {\"103795924\":{\"retired\":null}} 103795924 \n", - "13 {\"103795927\":{\"retired\":null}} 103795927 \n", - "14 {\"103795925\":{\"retired\":null}} 103795925 \n", - "15 {\"103795927\":{\"retired\":null}} 103795927 \n", - "16 {\"103795928\":{\"retired\":null}} 103795928 \n", - "17 {\"103795924\":{\"retired\":null}} 103795924 \n", - "18 {\"103795926\":{\"retired\":null}} 103795926 \n", - "19 {\"103795928\":{\"retired\":null}} 103795928 \n", - "20 {\"103795925\":{\"retired\":null}} 103795925 \n", - "21 {\"103795926\":{\"retired\":null}} 103795926 \n", - "22 {\"103795924\":{\"retired\":null}} 103795924 \n", - "23 {\"103795927\":{\"retired\":null}} 103795927 \n", - "24 {\"103795928\":{\"retired\":null}} 103795928 \n", - "25 {\"103795924\":{\"retired\":null}} 103795924 \n", - "26 {\"103795926\":{\"retired\":null}} 103795926 \n", - "27 {\"103795925\":{\"retired\":null}} 103795925 \n", - "28 {\"103795925\":{\"retired\":null}} 103795925 \n", - "29 {\"103795928\":{\"retired\":null}} 103795928 \n", - "30 {\"103795926\":{\"retired\":null}} 103795926 " + "[76 rows x 14 columns]" ] }, - "execution_count": 12, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1315,15 +860,15 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 20, "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:29:03.598315Z", - "iopub.status.busy": "2024-10-15T13:29:03.597386Z", - "iopub.status.idle": "2024-10-15T13:29:03.652745Z", - "shell.execute_reply": "2024-10-15T13:29:03.651908Z", - "shell.execute_reply.started": "2024-10-15T13:29:03.598283Z" + "iopub.execute_input": "2024-10-15T13:31:36.342169Z", + "iopub.status.busy": "2024-10-15T13:31:36.341328Z", + "iopub.status.idle": "2024-10-15T13:31:36.379299Z", + "shell.execute_reply": "2024-10-15T13:31:36.378658Z", + "shell.execute_reply.started": "2024-10-15T13:31:36.342136Z" }, "scrolled": true }, @@ -1332,23 +877,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "{'103795925': {'retired': None}}\n" + "{'103247085': {'retired': None, 'objectId': '1651448872733547971'}}\n" ] }, { "ename": "NameError", - "evalue": "name 'STOP' is not defined", + "evalue": "name 'STOp' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[14], line 56\u001b[0m, in \u001b[0;36mextract_data\u001b[0;34m(classification_data, id_type)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 56\u001b[0m rubin_id \u001b[38;5;241m=\u001b[39m \u001b[43mjson\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloads\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_data\u001b[49m\u001b[43m)\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mrow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubject_ids\u001b[49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[43mid_type\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n", - "\u001b[0;31mKeyError\u001b[0m: 'objectId'", - "\nDuring handling of the above exception, another exception occurred:\n", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[15], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m extracted_data \u001b[38;5;241m=\u001b[39m \u001b[43mextract_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclassification_data\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mid_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mobjectId\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m extracted_data\n", - "Cell \u001b[0;32mIn[14], line 59\u001b[0m, in \u001b[0;36mextract_data\u001b[0;34m(classification_data, id_type)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28mprint\u001b[39m(json\u001b[38;5;241m.\u001b[39mloads(row\u001b[38;5;241m.\u001b[39msubject_data))\n\u001b[0;32m---> 59\u001b[0m \u001b[43mSTOP\u001b[49m\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 61\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mKey \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00msubject_id_str\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m not found in subject_data or it is not a dictionary.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "\u001b[0;31mNameError\u001b[0m: name 'STOP' is not defined" + "Cell \u001b[0;32mIn[20], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m extracted_data \u001b[38;5;241m=\u001b[39m \u001b[43mextract_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclassification_data\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mid_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mobjectId\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m extracted_data\n", + "Cell \u001b[0;32mIn[19], line 58\u001b[0m, in \u001b[0;36mextract_data\u001b[0;34m(classification_data, id_type)\u001b[0m\n\u001b[1;32m 56\u001b[0m rubin_id \u001b[38;5;241m=\u001b[39m json\u001b[38;5;241m.\u001b[39mloads(row\u001b[38;5;241m.\u001b[39msubject_data)[\u001b[38;5;28mstr\u001b[39m(row\u001b[38;5;241m.\u001b[39msubject_ids)][id_type]\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28mprint\u001b[39m(json\u001b[38;5;241m.\u001b[39mloads(row\u001b[38;5;241m.\u001b[39msubject_data))\n\u001b[0;32m---> 58\u001b[0m \u001b[43mSTOp\u001b[49m\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28mprint\u001b[39m(json\u001b[38;5;241m.\u001b[39mloads(row\u001b[38;5;241m.\u001b[39msubject_data))\n", + "\u001b[0;31mNameError\u001b[0m: name 'STOp' is not defined" ] } ], From 28beb718b7f3e95ed7378485541c3a0bd202e10e Mon Sep 17 00:00:00 2001 From: beckynevin Date: Tue, 15 Oct 2024 21:09:38 +0000 Subject: [PATCH 17/23] trying to dowload worflow with hidden classifications --- 03_Aggregate_Classifications.ipynb | 953 +++++++++++++++++++++-------- 1 file changed, 714 insertions(+), 239 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 5348497..13b176a 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -93,15 +93,15 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 21, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:24:44.805828Z", - "iopub.status.busy": "2024-10-15T13:24:44.805288Z", - "iopub.status.idle": "2024-10-15T13:24:47.052975Z", - "shell.execute_reply": "2024-10-15T13:24:47.052409Z", - "shell.execute_reply.started": "2024-10-15T13:24:44.805805Z" + "iopub.execute_input": "2024-10-15T13:41:30.314098Z", + "iopub.status.busy": "2024-10-15T13:41:30.313271Z", + "iopub.status.idle": "2024-10-15T13:41:30.317532Z", + "shell.execute_reply": "2024-10-15T13:41:30.316985Z", + "shell.execute_reply.started": "2024-10-15T13:41:30.314076Z" } }, "outputs": [], @@ -137,15 +137,15 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 43, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:31:31.523494Z", - "iopub.status.busy": "2024-10-15T13:31:31.523183Z", - "iopub.status.idle": "2024-10-15T13:31:31.535632Z", - "shell.execute_reply": "2024-10-15T13:31:31.535012Z", - "shell.execute_reply.started": "2024-10-15T13:31:31.523474Z" + "iopub.execute_input": "2024-10-15T14:11:32.751759Z", + "iopub.status.busy": "2024-10-15T14:11:32.751435Z", + "iopub.status.idle": "2024-10-15T14:11:32.765352Z", + "shell.execute_reply": "2024-10-15T14:11:32.764614Z", + "shell.execute_reply.started": "2024-10-15T14:11:32.751737Z" } }, "outputs": [], @@ -170,12 +170,30 @@ " # If you don't care about new classifications and are okay with downloading\n", " # an older report that you already generated, you can set this flag to False\n", " with client:\n", - " classification_export = workflow.get_export('classifications',\n", + " try:\n", + " classification_export = workflow.get_export('classifications',\n", " generate=False,\n", " wait=False)\n", + " except PanoptesAPIException:\n", + " # this error will be thrown if no classifications exist and \n", + " # its necessary to set generate to True \n", + " # this will most likely happen the first time you're\n", + " # downloading a workflow\n", + " classification_export = workflow.get_export('classifications',\n", + " generate=True,\n", + " wait=False)\n", " # since it's a partial class, call it to get the DictReader object\n", " csv_dictreader_instance = classification_export.csv_dictreader()\n", - " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", + " try:\n", + " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", + " except:\n", + " # this will happen if there's an error in the download\n", + " classification_export = workflow.get_export('classifications',\n", + " generate=True,\n", + " wait=False)\n", + " csv_dictreader_instance = classification_export.csv_dictreader()\n", + " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", + " \n", " # convert to pandas dataframe\n", " classification_data = pd.DataFrame.from_dict(classification_rows)\n", " return classification_data\n", @@ -329,15 +347,15 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 23, "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:24:55.233693Z", - "iopub.status.busy": "2024-10-15T13:24:55.233025Z", - "iopub.status.idle": "2024-10-15T13:25:04.465396Z", - "shell.execute_reply": "2024-10-15T13:25:04.464652Z", - "shell.execute_reply.started": "2024-10-15T13:24:55.233672Z" + "iopub.execute_input": "2024-10-15T13:41:45.461826Z", + "iopub.status.busy": "2024-10-15T13:41:45.461278Z", + "iopub.status.idle": "2024-10-15T13:42:09.894764Z", + "shell.execute_reply": "2024-10-15T13:42:09.893976Z", + "shell.execute_reply.started": "2024-10-15T13:41:45.461804Z" } }, "outputs": [ @@ -410,15 +428,15 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 24, "id": "8f5808b1-109f-4417-8dd5-003d7d6f83f1", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:25:06.469917Z", - "iopub.status.busy": "2024-10-15T13:25:06.469602Z", - "iopub.status.idle": "2024-10-15T13:25:06.775533Z", - "shell.execute_reply": "2024-10-15T13:25:06.774823Z", - "shell.execute_reply.started": "2024-10-15T13:25:06.469896Z" + "iopub.execute_input": "2024-10-15T13:42:13.662472Z", + "iopub.status.busy": "2024-10-15T13:42:13.661340Z", + "iopub.status.idle": "2024-10-15T13:42:14.071848Z", + "shell.execute_reply": "2024-10-15T13:42:14.070897Z", + "shell.execute_reply.started": "2024-10-15T13:42:13.662442Z" } }, "outputs": [ @@ -429,6 +447,7 @@ "\n", "*==* Your Workflows *==*\n", "\n", + "Workflow ID: 27550 - Display Name: Classify with hidden metadata backslash\n", "Workflow ID: 27546 - Display Name: Classify with hidden metadata\n", "Workflow ID: 27509 - Display Name: Classify with metadata\n", "Workflow ID: 23254 - Display Name: Classification\n", @@ -452,20 +471,20 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 39, "id": "505d46f9-c80f-421c-b8d8-92e3093b4d37", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:31:02.285933Z", - "iopub.status.busy": "2024-10-15T13:31:02.285282Z", - "iopub.status.idle": "2024-10-15T13:31:02.289367Z", - "shell.execute_reply": "2024-10-15T13:31:02.288758Z", - "shell.execute_reply.started": "2024-10-15T13:31:02.285905Z" + "iopub.execute_input": "2024-10-15T14:09:40.913576Z", + "iopub.status.busy": "2024-10-15T14:09:40.913013Z", + "iopub.status.idle": "2024-10-15T14:09:40.917071Z", + "shell.execute_reply": "2024-10-15T14:09:40.916394Z", + "shell.execute_reply.started": "2024-10-15T14:09:40.913545Z" } }, "outputs": [], "source": [ - "WORKFLOW_ID = 27509" + "WORKFLOW_ID = 27550" ] }, { @@ -474,20 +493,19 @@ "metadata": {}, "source": [ "## 3. Download the classifications\n", - "These will still be in the raw format. This function reads from the output csv and puts all rows into a dataframe format." + "These will still be in the raw format. This function reads from the output csv and puts all rows into a dataframe format.\n", + "\n", + "PanoptesAPIException: No classifications_export exists for workflow #27550" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:31:05.218545Z", - "iopub.status.busy": "2024-10-15T13:31:05.217647Z", - "iopub.status.idle": "2024-10-15T13:31:05.680071Z", - "shell.execute_reply": "2024-10-15T13:31:05.679549Z", - "shell.execute_reply.started": "2024-10-15T13:31:05.218521Z" + "iopub.execute_input": "2024-10-15T14:11:40.619990Z", + "iopub.status.busy": "2024-10-15T14:11:40.619111Z" } }, "outputs": [ @@ -496,7 +514,7 @@ "output_type": "stream", "text": [ "beginning function\n", - "76it [00:00, 34231.86it/s]\n" + "0it [00:00, ?it/s]\n" ] } ], @@ -508,15 +526,15 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 38, "id": "87efe634-b609-483f-b3d3-49f7623fc565", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:31:06.238586Z", - "iopub.status.busy": "2024-10-15T13:31:06.238280Z", - "iopub.status.idle": "2024-10-15T13:31:06.252524Z", - "shell.execute_reply": "2024-10-15T13:31:06.251986Z", - "shell.execute_reply.started": "2024-10-15T13:31:06.238565Z" + "iopub.execute_input": "2024-10-15T14:09:35.253243Z", + "iopub.status.busy": "2024-10-15T14:09:35.252862Z", + "iopub.status.idle": "2024-10-15T14:09:35.268965Z", + "shell.execute_reply": "2024-10-15T14:09:35.268348Z", + "shell.execute_reply.started": "2024-10-15T14:09:35.253222Z" } }, "outputs": [ @@ -560,279 +578,736 @@ " \n", " \n", " 0\n", - " 589019044\n", + " 590898141\n", " rebecca.nevin\n", " 1946584\n", - " cee5ed56424764950d55\n", - " 27509\n", - " Classify with metadata\n", - " 3.2\n", - " 2024-10-07 16:08:01 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:21 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247085\":{\"retired\":null,\"objectId\":\"16514...\n", - " 103247085\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795925\":{\"retired\":null}}\n", + " 103795925\n", " \n", " \n", " 1\n", - " 589019067\n", + " 590898154\n", " rebecca.nevin\n", " 1946584\n", - " cee5ed56424764950d55\n", - " 27509\n", - " Classify with metadata\n", - " 3.2\n", - " 2024-10-07 16:08:07 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:23 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", - " 103247082\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795928\":{\"retired\":null}}\n", + " 103795928\n", " \n", " \n", " 2\n", - " 589019090\n", + " 590898165\n", " rebecca.nevin\n", " 1946584\n", - " cee5ed56424764950d55\n", - " 27509\n", - " Classify with metadata\n", - " 3.2\n", - " 2024-10-07 16:08:12 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:25 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247086\":{\"retired\":null,\"objectId\":\"16515...\n", - " 103247086\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795926\":{\"retired\":null}}\n", + " 103795926\n", " \n", " \n", " 3\n", - " 589019097\n", + " 590898171\n", " rebecca.nevin\n", " 1946584\n", - " cee5ed56424764950d55\n", - " 27509\n", - " Classify with metadata\n", - " 3.2\n", - " 2024-10-07 16:08:14 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:27 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247083\":{\"retired\":null,\"objectId\":\"16509...\n", - " 103247083\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795924\":{\"retired\":null}}\n", + " 103795924\n", " \n", " \n", " 4\n", - " 589019337\n", + " 590898185\n", " rebecca.nevin\n", " 1946584\n", - " cee5ed56424764950d55\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:09:17 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:29 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247087\":{\"retired\":null,\"objectId\":\"16513...\n", - " 103247087\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795927\":{\"retired\":null}}\n", + " 103795927\n", " \n", " \n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", + " 5\n", + " 590898199\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:32 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795927\":{\"retired\":null}}\n", + " 103795927\n", " \n", " \n", - " 71\n", - " 589020345\n", + " 6\n", + " 590898206\n", " rebecca.nevin\n", " 1946584\n", - " 77dde073c5ec44c24799\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:13:13 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:33 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", - " 103247082\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795928\":{\"retired\":null}}\n", + " 103795928\n", " \n", " \n", - " 72\n", - " 589020360\n", + " 7\n", + " 590898221\n", " rebecca.nevin\n", " 1946584\n", - " 77dde073c5ec44c24799\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:13:18 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:36 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247085\":{\"retired\":null,\"objectId\":\"16514...\n", - " 103247085\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795926\":{\"retired\":null}}\n", + " 103795926\n", " \n", " \n", - " 73\n", - " 589020372\n", + " 8\n", + " 590898233\n", " rebecca.nevin\n", " 1946584\n", - " 77dde073c5ec44c24799\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:13:21 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:37 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247083\":{\"retired\":null,\"objectId\":\"16509...\n", - " 103247083\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795924\":{\"retired\":null}}\n", + " 103795924\n", " \n", " \n", - " 74\n", - " 589020385\n", + " 9\n", + " 590898241\n", " rebecca.nevin\n", " 1946584\n", - " 77dde073c5ec44c24799\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:13:23 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:33:39 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247086\":{\"retired\":null,\"objectId\":\"16515...\n", - " 103247086\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795925\":{\"retired\":null}}\n", + " 103795925\n", " \n", " \n", - " 75\n", - " 589020390\n", + " 10\n", + " 590898341\n", " rebecca.nevin\n", " 1946584\n", - " 77dde073c5ec44c24799\n", - " 27509\n", - " Classify with metadata\n", - " 5.6\n", - " 2024-10-07 16:13:25 UTC\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:34:02 UTC\n", " \n", " \n", - " {\"source\":\"api\",\"session\":\"60d31e3b15da057584e...\n", - " [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ...\n", - " {\"103247082\":{\"retired\":null,\"objectId\":\"15679...\n", - " 103247082\n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795926\":{\"retired\":null}}\n", + " 103795926\n", + " \n", + " \n", + " 11\n", + " 590898348\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:34:03 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795928\":{\"retired\":null}}\n", + " 103795928\n", + " \n", + " \n", + " 12\n", + " 590898356\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:34:05 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795924\":{\"retired\":null}}\n", + " 103795924\n", + " \n", + " \n", + " 13\n", + " 590898364\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:34:07 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795927\":{\"retired\":null}}\n", + " 103795927\n", + " \n", + " \n", + " 14\n", + " 590898369\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:34:09 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795925\":{\"retired\":null}}\n", + " 103795925\n", + " \n", + " \n", + " 15\n", + " 590898379\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:34:11 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795927\":{\"retired\":null}}\n", + " 103795927\n", + " \n", + " \n", + " 16\n", + " 590898384\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:34:13 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795928\":{\"retired\":null}}\n", + " 103795928\n", + " \n", + " \n", + " 17\n", + " 590898389\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:34:14 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795924\":{\"retired\":null}}\n", + " 103795924\n", + " \n", + " \n", + " 18\n", + " 590898641\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:35:19 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"71f198d77c005433640...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795926\":{\"retired\":null}}\n", + " 103795926\n", + " \n", + " \n", + " 19\n", + " 590898751\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:35:44 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795928\":{\"retired\":null}}\n", + " 103795928\n", + " \n", + " \n", + " 20\n", + " 590898760\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:35:46 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795925\":{\"retired\":null}}\n", + " 103795925\n", + " \n", + " \n", + " 21\n", + " 590898772\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:35:47 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795926\":{\"retired\":null}}\n", + " 103795926\n", + " \n", + " \n", + " 22\n", + " 590898780\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:35:49 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795924\":{\"retired\":null}}\n", + " 103795924\n", + " \n", + " \n", + " 23\n", + " 590898786\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:35:51 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795927\":{\"retired\":null}}\n", + " 103795927\n", + " \n", + " \n", + " 24\n", + " 590898794\n", + " rebecca.nevin\n", + " 1946584\n", + " da8718f969c74ba89a13\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:35:52 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795928\":{\"retired\":null}}\n", + " 103795928\n", + " \n", + " \n", + " 25\n", + " 590899891\n", + " rebecca.nevin\n", + " 1946584\n", + " a2517e42340dcd992bac\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:40:02 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795924\":{\"retired\":null}}\n", + " 103795924\n", + " \n", + " \n", + " 26\n", + " 590899903\n", + " rebecca.nevin\n", + " 1946584\n", + " a2517e42340dcd992bac\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:40:04 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795926\":{\"retired\":null}}\n", + " 103795926\n", + " \n", + " \n", + " 27\n", + " 590899914\n", + " rebecca.nevin\n", + " 1946584\n", + " a2517e42340dcd992bac\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:40:07 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795925\":{\"retired\":null}}\n", + " 103795925\n", + " \n", + " \n", + " 28\n", + " 590901299\n", + " rebecca.nevin\n", + " 1946584\n", + " bba2c56b09c563152f73\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:44:31 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795925\":{\"retired\":null}}\n", + " 103795925\n", + " \n", + " \n", + " 29\n", + " 590901315\n", + " rebecca.nevin\n", + " 1946584\n", + " bba2c56b09c563152f73\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:44:33 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795928\":{\"retired\":null}}\n", + " 103795928\n", + " \n", + " \n", + " 30\n", + " 590901329\n", + " rebecca.nevin\n", + " 1946584\n", + " bba2c56b09c563152f73\n", + " 27546\n", + " Classify with hidden metadata\n", + " 4.6\n", + " 2024-10-14 20:44:35 UTC\n", + " \n", + " \n", + " {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...\n", + " [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...\n", + " {\"103795926\":{\"retired\":null}}\n", + " 103795926\n", " \n", " \n", "\n", - "

76 rows × 14 columns

\n", "" ], "text/plain": [ " classification_id user_name user_id user_ip \\\n", - "0 589019044 rebecca.nevin 1946584 cee5ed56424764950d55 \n", - "1 589019067 rebecca.nevin 1946584 cee5ed56424764950d55 \n", - "2 589019090 rebecca.nevin 1946584 cee5ed56424764950d55 \n", - "3 589019097 rebecca.nevin 1946584 cee5ed56424764950d55 \n", - "4 589019337 rebecca.nevin 1946584 cee5ed56424764950d55 \n", - ".. ... ... ... ... \n", - "71 589020345 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", - "72 589020360 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", - "73 589020372 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", - "74 589020385 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", - "75 589020390 rebecca.nevin 1946584 77dde073c5ec44c24799 \n", + "0 590898141 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "1 590898154 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "2 590898165 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "3 590898171 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "4 590898185 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "5 590898199 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "6 590898206 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "7 590898221 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "8 590898233 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "9 590898241 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "10 590898341 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "11 590898348 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "12 590898356 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "13 590898364 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "14 590898369 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "15 590898379 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "16 590898384 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "17 590898389 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "18 590898641 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "19 590898751 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "20 590898760 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "21 590898772 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "22 590898780 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "23 590898786 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "24 590898794 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", + "25 590899891 rebecca.nevin 1946584 a2517e42340dcd992bac \n", + "26 590899903 rebecca.nevin 1946584 a2517e42340dcd992bac \n", + "27 590899914 rebecca.nevin 1946584 a2517e42340dcd992bac \n", + "28 590901299 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", + "29 590901315 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", + "30 590901329 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", "\n", - " workflow_id workflow_name workflow_version \\\n", - "0 27509 Classify with metadata 3.2 \n", - "1 27509 Classify with metadata 3.2 \n", - "2 27509 Classify with metadata 3.2 \n", - "3 27509 Classify with metadata 3.2 \n", - "4 27509 Classify with metadata 5.6 \n", - ".. ... ... ... \n", - "71 27509 Classify with metadata 5.6 \n", - "72 27509 Classify with metadata 5.6 \n", - "73 27509 Classify with metadata 5.6 \n", - "74 27509 Classify with metadata 5.6 \n", - "75 27509 Classify with metadata 5.6 \n", + " workflow_id workflow_name workflow_version \\\n", + "0 27546 Classify with hidden metadata 4.6 \n", + "1 27546 Classify with hidden metadata 4.6 \n", + "2 27546 Classify with hidden metadata 4.6 \n", + "3 27546 Classify with hidden metadata 4.6 \n", + "4 27546 Classify with hidden metadata 4.6 \n", + "5 27546 Classify with hidden metadata 4.6 \n", + "6 27546 Classify with hidden metadata 4.6 \n", + "7 27546 Classify with hidden metadata 4.6 \n", + "8 27546 Classify with hidden metadata 4.6 \n", + "9 27546 Classify with hidden metadata 4.6 \n", + "10 27546 Classify with hidden metadata 4.6 \n", + "11 27546 Classify with hidden metadata 4.6 \n", + "12 27546 Classify with hidden metadata 4.6 \n", + "13 27546 Classify with hidden metadata 4.6 \n", + "14 27546 Classify with hidden metadata 4.6 \n", + "15 27546 Classify with hidden metadata 4.6 \n", + "16 27546 Classify with hidden metadata 4.6 \n", + "17 27546 Classify with hidden metadata 4.6 \n", + "18 27546 Classify with hidden metadata 4.6 \n", + "19 27546 Classify with hidden metadata 4.6 \n", + "20 27546 Classify with hidden metadata 4.6 \n", + "21 27546 Classify with hidden metadata 4.6 \n", + "22 27546 Classify with hidden metadata 4.6 \n", + "23 27546 Classify with hidden metadata 4.6 \n", + "24 27546 Classify with hidden metadata 4.6 \n", + "25 27546 Classify with hidden metadata 4.6 \n", + "26 27546 Classify with hidden metadata 4.6 \n", + "27 27546 Classify with hidden metadata 4.6 \n", + "28 27546 Classify with hidden metadata 4.6 \n", + "29 27546 Classify with hidden metadata 4.6 \n", + "30 27546 Classify with hidden metadata 4.6 \n", "\n", " created_at gold_standard expert \\\n", - "0 2024-10-07 16:08:01 UTC \n", - "1 2024-10-07 16:08:07 UTC \n", - "2 2024-10-07 16:08:12 UTC \n", - "3 2024-10-07 16:08:14 UTC \n", - "4 2024-10-07 16:09:17 UTC \n", - ".. ... ... ... \n", - "71 2024-10-07 16:13:13 UTC \n", - "72 2024-10-07 16:13:18 UTC \n", - "73 2024-10-07 16:13:21 UTC \n", - "74 2024-10-07 16:13:23 UTC \n", - "75 2024-10-07 16:13:25 UTC \n", + "0 2024-10-14 20:33:21 UTC \n", + "1 2024-10-14 20:33:23 UTC \n", + "2 2024-10-14 20:33:25 UTC \n", + "3 2024-10-14 20:33:27 UTC \n", + "4 2024-10-14 20:33:29 UTC \n", + "5 2024-10-14 20:33:32 UTC \n", + "6 2024-10-14 20:33:33 UTC \n", + "7 2024-10-14 20:33:36 UTC \n", + "8 2024-10-14 20:33:37 UTC \n", + "9 2024-10-14 20:33:39 UTC \n", + "10 2024-10-14 20:34:02 UTC \n", + "11 2024-10-14 20:34:03 UTC \n", + "12 2024-10-14 20:34:05 UTC \n", + "13 2024-10-14 20:34:07 UTC \n", + "14 2024-10-14 20:34:09 UTC \n", + "15 2024-10-14 20:34:11 UTC \n", + "16 2024-10-14 20:34:13 UTC \n", + "17 2024-10-14 20:34:14 UTC \n", + "18 2024-10-14 20:35:19 UTC \n", + "19 2024-10-14 20:35:44 UTC \n", + "20 2024-10-14 20:35:46 UTC \n", + "21 2024-10-14 20:35:47 UTC \n", + "22 2024-10-14 20:35:49 UTC \n", + "23 2024-10-14 20:35:51 UTC \n", + "24 2024-10-14 20:35:52 UTC \n", + "25 2024-10-14 20:40:02 UTC \n", + "26 2024-10-14 20:40:04 UTC \n", + "27 2024-10-14 20:40:07 UTC \n", + "28 2024-10-14 20:44:31 UTC \n", + "29 2024-10-14 20:44:33 UTC \n", + "30 2024-10-14 20:44:35 UTC \n", "\n", " metadata \\\n", - "0 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", - "1 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", - "2 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", - "3 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", - "4 {\"source\":\"api\",\"session\":\"f1580a7bdd196dc45e8... \n", - ".. ... \n", - "71 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", - "72 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", - "73 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", - "74 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", - "75 {\"source\":\"api\",\"session\":\"60d31e3b15da057584e... \n", + "0 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "1 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "2 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "3 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "4 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "5 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "6 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "7 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "8 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "9 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "10 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "11 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "12 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "13 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "14 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "15 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "16 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "17 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "18 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", + "19 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "20 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "21 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "22 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "23 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "24 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "25 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "26 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "27 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", + "28 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", + "29 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", + "30 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", "\n", " annotations \\\n", - "0 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "1 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "2 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "3 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "4 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - ".. ... \n", - "71 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "72 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "73 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "74 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "75 [{\"task\":\"T0\",\"task_label\":\"Is there a galaxy ... \n", - "\n", - " subject_data subject_ids \n", - "0 {\"103247085\":{\"retired\":null,\"objectId\":\"16514... 103247085 \n", - "1 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", - "2 {\"103247086\":{\"retired\":null,\"objectId\":\"16515... 103247086 \n", - "3 {\"103247083\":{\"retired\":null,\"objectId\":\"16509... 103247083 \n", - "4 {\"103247087\":{\"retired\":null,\"objectId\":\"16513... 103247087 \n", - ".. ... ... \n", - "71 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", - "72 {\"103247085\":{\"retired\":null,\"objectId\":\"16514... 103247085 \n", - "73 {\"103247083\":{\"retired\":null,\"objectId\":\"16509... 103247083 \n", - "74 {\"103247086\":{\"retired\":null,\"objectId\":\"16515... 103247086 \n", - "75 {\"103247082\":{\"retired\":null,\"objectId\":\"15679... 103247082 \n", + "0 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "1 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "2 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "3 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "4 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "5 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "6 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "7 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "8 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "9 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "10 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "11 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "12 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "13 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "14 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "15 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "16 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "17 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "18 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "19 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "20 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "21 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "22 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "23 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "24 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "25 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "26 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "27 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "28 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "29 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "30 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", "\n", - "[76 rows x 14 columns]" + " subject_data subject_ids \n", + "0 {\"103795925\":{\"retired\":null}} 103795925 \n", + "1 {\"103795928\":{\"retired\":null}} 103795928 \n", + "2 {\"103795926\":{\"retired\":null}} 103795926 \n", + "3 {\"103795924\":{\"retired\":null}} 103795924 \n", + "4 {\"103795927\":{\"retired\":null}} 103795927 \n", + "5 {\"103795927\":{\"retired\":null}} 103795927 \n", + "6 {\"103795928\":{\"retired\":null}} 103795928 \n", + "7 {\"103795926\":{\"retired\":null}} 103795926 \n", + "8 {\"103795924\":{\"retired\":null}} 103795924 \n", + "9 {\"103795925\":{\"retired\":null}} 103795925 \n", + "10 {\"103795926\":{\"retired\":null}} 103795926 \n", + "11 {\"103795928\":{\"retired\":null}} 103795928 \n", + "12 {\"103795924\":{\"retired\":null}} 103795924 \n", + "13 {\"103795927\":{\"retired\":null}} 103795927 \n", + "14 {\"103795925\":{\"retired\":null}} 103795925 \n", + "15 {\"103795927\":{\"retired\":null}} 103795927 \n", + "16 {\"103795928\":{\"retired\":null}} 103795928 \n", + "17 {\"103795924\":{\"retired\":null}} 103795924 \n", + "18 {\"103795926\":{\"retired\":null}} 103795926 \n", + "19 {\"103795928\":{\"retired\":null}} 103795928 \n", + "20 {\"103795925\":{\"retired\":null}} 103795925 \n", + "21 {\"103795926\":{\"retired\":null}} 103795926 \n", + "22 {\"103795924\":{\"retired\":null}} 103795924 \n", + "23 {\"103795927\":{\"retired\":null}} 103795927 \n", + "24 {\"103795928\":{\"retired\":null}} 103795928 \n", + "25 {\"103795924\":{\"retired\":null}} 103795924 \n", + "26 {\"103795926\":{\"retired\":null}} 103795926 \n", + "27 {\"103795925\":{\"retired\":null}} 103795925 \n", + "28 {\"103795925\":{\"retired\":null}} 103795925 \n", + "29 {\"103795928\":{\"retired\":null}} 103795928 \n", + "30 {\"103795926\":{\"retired\":null}} 103795926 " ] }, - "execution_count": 18, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } From 183baeae00b1a97112894ad5e418152e09bf92b4 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Thu, 17 Oct 2024 17:44:13 +0000 Subject: [PATCH 18/23] pulling hasthtag workflow --- 03_Aggregate_Classifications.ipynb | 917 ++--------------------------- 1 file changed, 56 insertions(+), 861 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 13b176a..6e955df 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -93,15 +93,15 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 1, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:41:30.314098Z", - "iopub.status.busy": "2024-10-15T13:41:30.313271Z", - "iopub.status.idle": "2024-10-15T13:41:30.317532Z", - "shell.execute_reply": "2024-10-15T13:41:30.316985Z", - "shell.execute_reply.started": "2024-10-15T13:41:30.314076Z" + "iopub.execute_input": "2024-10-17T17:35:04.506763Z", + "iopub.status.busy": "2024-10-17T17:35:04.506568Z", + "iopub.status.idle": "2024-10-17T17:35:07.017049Z", + "shell.execute_reply": "2024-10-17T17:35:07.016366Z", + "shell.execute_reply.started": "2024-10-17T17:35:04.506745Z" } }, "outputs": [], @@ -137,15 +137,15 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 7, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T14:11:32.751759Z", - "iopub.status.busy": "2024-10-15T14:11:32.751435Z", - "iopub.status.idle": "2024-10-15T14:11:32.765352Z", - "shell.execute_reply": "2024-10-15T14:11:32.764614Z", - "shell.execute_reply.started": "2024-10-15T14:11:32.751737Z" + "iopub.execute_input": "2024-10-17T17:37:43.302007Z", + "iopub.status.busy": "2024-10-17T17:37:43.301730Z", + "iopub.status.idle": "2024-10-17T17:37:43.315779Z", + "shell.execute_reply": "2024-10-17T17:37:43.315070Z", + "shell.execute_reply.started": "2024-10-17T17:37:43.301986Z" } }, "outputs": [], @@ -170,11 +170,12 @@ " # If you don't care about new classifications and are okay with downloading\n", " # an older report that you already generated, you can set this flag to False\n", " with client:\n", - " try:\n", - " classification_export = workflow.get_export('classifications',\n", - " generate=False,\n", + " #try:\n", + " classification_export = workflow.get_export('classifications',\n", + " generate=True,\n", " wait=False)\n", - " except PanoptesAPIException:\n", + " \n", + " '''except PanoptesAPIException:\n", " # this error will be thrown if no classifications exist and \n", " # its necessary to set generate to True \n", " # this will most likely happen the first time you're\n", @@ -182,6 +183,7 @@ " classification_export = workflow.get_export('classifications',\n", " generate=True,\n", " wait=False)\n", + " '''\n", " # since it's a partial class, call it to get the DictReader object\n", " csv_dictreader_instance = classification_export.csv_dictreader()\n", " try:\n", @@ -222,13 +224,7 @@ " subject_id_str = str(row.subject_ids)\n", " # Check if the subject ID exists and is a dictionary\n", " if subject_id_str in row.subject_data and isinstance(json.loads(row.subject_data)[subject_id_str], dict):\n", - " try:\n", - " rubin_id = json.loads(row.subject_data)[str(row.subject_ids)][id_type]\n", - " print(json.loads(row.subject_data))\n", - " STOp\n", - " except KeyError:\n", - " print(json.loads(row.subject_data))\n", - " STOP\n", + " rubin_id = json.loads(row.subject_data)[str(row.subject_ids)][id_type]\n", " else:\n", " print(f\"Key '{subject_id_str}' not found in subject_data or it is not a dictionary.\")\n", " # add the extracted annotations to our temporary list along with some other additional data\n", @@ -347,15 +343,15 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 3, "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:41:45.461826Z", - "iopub.status.busy": "2024-10-15T13:41:45.461278Z", - "iopub.status.idle": "2024-10-15T13:42:09.894764Z", - "shell.execute_reply": "2024-10-15T13:42:09.893976Z", - "shell.execute_reply.started": "2024-10-15T13:41:45.461804Z" + "iopub.execute_input": "2024-10-17T17:35:11.292525Z", + "iopub.status.busy": "2024-10-17T17:35:11.292232Z", + "iopub.status.idle": "2024-10-17T17:35:21.365183Z", + "shell.execute_reply": "2024-10-17T17:35:21.364545Z", + "shell.execute_reply.started": "2024-10-17T17:35:11.292502Z" } }, "outputs": [ @@ -428,15 +424,15 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 4, "id": "8f5808b1-109f-4417-8dd5-003d7d6f83f1", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T13:42:13.662472Z", - "iopub.status.busy": "2024-10-15T13:42:13.661340Z", - "iopub.status.idle": "2024-10-15T13:42:14.071848Z", - "shell.execute_reply": "2024-10-15T13:42:14.070897Z", - "shell.execute_reply.started": "2024-10-15T13:42:13.662442Z" + "iopub.execute_input": "2024-10-17T17:35:24.192777Z", + "iopub.status.busy": "2024-10-17T17:35:24.192464Z", + "iopub.status.idle": "2024-10-17T17:35:24.861273Z", + "shell.execute_reply": "2024-10-17T17:35:24.860584Z", + "shell.execute_reply.started": "2024-10-17T17:35:24.192755Z" } }, "outputs": [ @@ -447,8 +443,9 @@ "\n", "*==* Your Workflows *==*\n", "\n", - "Workflow ID: 27550 - Display Name: Classify with hidden metadata backslash\n", + "Workflow ID: 27568 - Display Name: Classify with hidden metadata hashtag before objectId\n", "Workflow ID: 27546 - Display Name: Classify with hidden metadata\n", + "Workflow ID: 27550 - Display Name: Classify with hidden metadata backslash\n", "Workflow ID: 27509 - Display Name: Classify with metadata\n", "Workflow ID: 23254 - Display Name: Classification\n", "\n", @@ -471,20 +468,20 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 5, "id": "505d46f9-c80f-421c-b8d8-92e3093b4d37", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T14:09:40.913576Z", - "iopub.status.busy": "2024-10-15T14:09:40.913013Z", - "iopub.status.idle": "2024-10-15T14:09:40.917071Z", - "shell.execute_reply": "2024-10-15T14:09:40.916394Z", - "shell.execute_reply.started": "2024-10-15T14:09:40.913545Z" + "iopub.execute_input": "2024-10-17T17:35:28.076585Z", + "iopub.status.busy": "2024-10-17T17:35:28.076172Z", + "iopub.status.idle": "2024-10-17T17:35:28.080042Z", + "shell.execute_reply": "2024-10-17T17:35:28.079326Z", + "shell.execute_reply.started": "2024-10-17T17:35:28.076557Z" } }, "outputs": [], "source": [ - "WORKFLOW_ID = 27550" + "WORKFLOW_ID = 27568" ] }, { @@ -498,14 +495,22 @@ "PanoptesAPIException: No classifications_export exists for workflow #27550" ] }, + { + "cell_type": "markdown", + "id": "5acf1ba8-517a-45b7-addc-cd0a5ace8d87", + "metadata": {}, + "source": [ + "Might be batched in a background process, " + ] + }, { "cell_type": "code", "execution_count": null, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-10-15T14:11:40.619990Z", - "iopub.status.busy": "2024-10-15T14:11:40.619111Z" + "iopub.execute_input": "2024-10-17T17:37:54.769894Z", + "iopub.status.busy": "2024-10-17T17:37:54.769254Z" } }, "outputs": [ @@ -513,8 +518,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "beginning function\n", - "0it [00:00, ?it/s]\n" + "beginning function\n" ] } ], @@ -526,792 +530,10 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "id": "87efe634-b609-483f-b3d3-49f7623fc565", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-15T14:09:35.253243Z", - "iopub.status.busy": "2024-10-15T14:09:35.252862Z", - "iopub.status.idle": "2024-10-15T14:09:35.268965Z", - "shell.execute_reply": "2024-10-15T14:09:35.268348Z", - "shell.execute_reply.started": "2024-10-15T14:09:35.253222Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
classification_iduser_nameuser_iduser_ipworkflow_idworkflow_nameworkflow_versioncreated_atgold_standardexpertmetadataannotationssubject_datasubject_ids
0590898141rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:33:21 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795925\":{\"retired\":null}}103795925
1590898154rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:33:23 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
2590898165rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:33:25 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795926\":{\"retired\":null}}103795926
3590898171rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:33:27 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795924\":{\"retired\":null}}103795924
4590898185rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:33:29 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795927\":{\"retired\":null}}103795927
5590898199rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:33:32 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795927\":{\"retired\":null}}103795927
6590898206rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:33:33 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
7590898221rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:33:36 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795926\":{\"retired\":null}}103795926
8590898233rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:33:37 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795924\":{\"retired\":null}}103795924
9590898241rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:33:39 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795925\":{\"retired\":null}}103795925
10590898341rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:02 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795926\":{\"retired\":null}}103795926
11590898348rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:03 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
12590898356rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:05 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795924\":{\"retired\":null}}103795924
13590898364rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:07 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795927\":{\"retired\":null}}103795927
14590898369rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:09 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795925\":{\"retired\":null}}103795925
15590898379rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:11 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795927\":{\"retired\":null}}103795927
16590898384rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:13 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
17590898389rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:34:14 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795924\":{\"retired\":null}}103795924
18590898641rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:19 UTC{\"source\":\"api\",\"session\":\"71f198d77c005433640...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795926\":{\"retired\":null}}103795926
19590898751rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:44 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
20590898760rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:46 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795925\":{\"retired\":null}}103795925
21590898772rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:47 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795926\":{\"retired\":null}}103795926
22590898780rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:49 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795924\":{\"retired\":null}}103795924
23590898786rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:51 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795927\":{\"retired\":null}}103795927
24590898794rebecca.nevin1946584da8718f969c74ba89a1327546Classify with hidden metadata4.62024-10-14 20:35:52 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
25590899891rebecca.nevin1946584a2517e42340dcd992bac27546Classify with hidden metadata4.62024-10-14 20:40:02 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795924\":{\"retired\":null}}103795924
26590899903rebecca.nevin1946584a2517e42340dcd992bac27546Classify with hidden metadata4.62024-10-14 20:40:04 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795926\":{\"retired\":null}}103795926
27590899914rebecca.nevin1946584a2517e42340dcd992bac27546Classify with hidden metadata4.62024-10-14 20:40:07 UTC{\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795925\":{\"retired\":null}}103795925
28590901299rebecca.nevin1946584bba2c56b09c563152f7327546Classify with hidden metadata4.62024-10-14 20:44:31 UTC{\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795925\":{\"retired\":null}}103795925
29590901315rebecca.nevin1946584bba2c56b09c563152f7327546Classify with hidden metadata4.62024-10-14 20:44:33 UTC{\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795928\":{\"retired\":null}}103795928
30590901329rebecca.nevin1946584bba2c56b09c563152f7327546Classify with hidden metadata4.62024-10-14 20:44:35 UTC{\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103795926\":{\"retired\":null}}103795926
\n", - "
" - ], - "text/plain": [ - " classification_id user_name user_id user_ip \\\n", - "0 590898141 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "1 590898154 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "2 590898165 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "3 590898171 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "4 590898185 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "5 590898199 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "6 590898206 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "7 590898221 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "8 590898233 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "9 590898241 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "10 590898341 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "11 590898348 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "12 590898356 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "13 590898364 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "14 590898369 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "15 590898379 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "16 590898384 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "17 590898389 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "18 590898641 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "19 590898751 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "20 590898760 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "21 590898772 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "22 590898780 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "23 590898786 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "24 590898794 rebecca.nevin 1946584 da8718f969c74ba89a13 \n", - "25 590899891 rebecca.nevin 1946584 a2517e42340dcd992bac \n", - "26 590899903 rebecca.nevin 1946584 a2517e42340dcd992bac \n", - "27 590899914 rebecca.nevin 1946584 a2517e42340dcd992bac \n", - "28 590901299 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", - "29 590901315 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", - "30 590901329 rebecca.nevin 1946584 bba2c56b09c563152f73 \n", - "\n", - " workflow_id workflow_name workflow_version \\\n", - "0 27546 Classify with hidden metadata 4.6 \n", - "1 27546 Classify with hidden metadata 4.6 \n", - "2 27546 Classify with hidden metadata 4.6 \n", - "3 27546 Classify with hidden metadata 4.6 \n", - "4 27546 Classify with hidden metadata 4.6 \n", - "5 27546 Classify with hidden metadata 4.6 \n", - "6 27546 Classify with hidden metadata 4.6 \n", - "7 27546 Classify with hidden metadata 4.6 \n", - "8 27546 Classify with hidden metadata 4.6 \n", - "9 27546 Classify with hidden metadata 4.6 \n", - "10 27546 Classify with hidden metadata 4.6 \n", - "11 27546 Classify with hidden metadata 4.6 \n", - "12 27546 Classify with hidden metadata 4.6 \n", - "13 27546 Classify with hidden metadata 4.6 \n", - "14 27546 Classify with hidden metadata 4.6 \n", - "15 27546 Classify with hidden metadata 4.6 \n", - "16 27546 Classify with hidden metadata 4.6 \n", - "17 27546 Classify with hidden metadata 4.6 \n", - "18 27546 Classify with hidden metadata 4.6 \n", - "19 27546 Classify with hidden metadata 4.6 \n", - "20 27546 Classify with hidden metadata 4.6 \n", - "21 27546 Classify with hidden metadata 4.6 \n", - "22 27546 Classify with hidden metadata 4.6 \n", - "23 27546 Classify with hidden metadata 4.6 \n", - "24 27546 Classify with hidden metadata 4.6 \n", - "25 27546 Classify with hidden metadata 4.6 \n", - "26 27546 Classify with hidden metadata 4.6 \n", - "27 27546 Classify with hidden metadata 4.6 \n", - "28 27546 Classify with hidden metadata 4.6 \n", - "29 27546 Classify with hidden metadata 4.6 \n", - "30 27546 Classify with hidden metadata 4.6 \n", - "\n", - " created_at gold_standard expert \\\n", - "0 2024-10-14 20:33:21 UTC \n", - "1 2024-10-14 20:33:23 UTC \n", - "2 2024-10-14 20:33:25 UTC \n", - "3 2024-10-14 20:33:27 UTC \n", - "4 2024-10-14 20:33:29 UTC \n", - "5 2024-10-14 20:33:32 UTC \n", - "6 2024-10-14 20:33:33 UTC \n", - "7 2024-10-14 20:33:36 UTC \n", - "8 2024-10-14 20:33:37 UTC \n", - "9 2024-10-14 20:33:39 UTC \n", - "10 2024-10-14 20:34:02 UTC \n", - "11 2024-10-14 20:34:03 UTC \n", - "12 2024-10-14 20:34:05 UTC \n", - "13 2024-10-14 20:34:07 UTC \n", - "14 2024-10-14 20:34:09 UTC \n", - "15 2024-10-14 20:34:11 UTC \n", - "16 2024-10-14 20:34:13 UTC \n", - "17 2024-10-14 20:34:14 UTC \n", - "18 2024-10-14 20:35:19 UTC \n", - "19 2024-10-14 20:35:44 UTC \n", - "20 2024-10-14 20:35:46 UTC \n", - "21 2024-10-14 20:35:47 UTC \n", - "22 2024-10-14 20:35:49 UTC \n", - "23 2024-10-14 20:35:51 UTC \n", - "24 2024-10-14 20:35:52 UTC \n", - "25 2024-10-14 20:40:02 UTC \n", - "26 2024-10-14 20:40:04 UTC \n", - "27 2024-10-14 20:40:07 UTC \n", - "28 2024-10-14 20:44:31 UTC \n", - "29 2024-10-14 20:44:33 UTC \n", - "30 2024-10-14 20:44:35 UTC \n", - "\n", - " metadata \\\n", - "0 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "1 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "2 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "3 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "4 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "5 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "6 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "7 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "8 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "9 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "10 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "11 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "12 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "13 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "14 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "15 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "16 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "17 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "18 {\"source\":\"api\",\"session\":\"71f198d77c005433640... \n", - "19 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "20 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "21 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "22 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "23 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "24 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "25 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "26 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "27 {\"source\":\"api\",\"session\":\"f48fcd8b58a96d20aa5... \n", - "28 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", - "29 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", - "30 {\"source\":\"api\",\"session\":\"fc5a62ab25337d3b73d... \n", - "\n", - " annotations \\\n", - "0 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "1 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "2 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "3 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "4 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "5 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "6 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "7 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "8 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "9 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "10 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "11 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "12 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "13 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "14 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "15 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "16 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "17 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "18 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "19 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "20 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "21 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "22 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "23 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "24 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "25 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "26 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "27 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "28 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "29 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "30 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "\n", - " subject_data subject_ids \n", - "0 {\"103795925\":{\"retired\":null}} 103795925 \n", - "1 {\"103795928\":{\"retired\":null}} 103795928 \n", - "2 {\"103795926\":{\"retired\":null}} 103795926 \n", - "3 {\"103795924\":{\"retired\":null}} 103795924 \n", - "4 {\"103795927\":{\"retired\":null}} 103795927 \n", - "5 {\"103795927\":{\"retired\":null}} 103795927 \n", - "6 {\"103795928\":{\"retired\":null}} 103795928 \n", - "7 {\"103795926\":{\"retired\":null}} 103795926 \n", - "8 {\"103795924\":{\"retired\":null}} 103795924 \n", - "9 {\"103795925\":{\"retired\":null}} 103795925 \n", - "10 {\"103795926\":{\"retired\":null}} 103795926 \n", - "11 {\"103795928\":{\"retired\":null}} 103795928 \n", - "12 {\"103795924\":{\"retired\":null}} 103795924 \n", - "13 {\"103795927\":{\"retired\":null}} 103795927 \n", - "14 {\"103795925\":{\"retired\":null}} 103795925 \n", - "15 {\"103795927\":{\"retired\":null}} 103795927 \n", - "16 {\"103795928\":{\"retired\":null}} 103795928 \n", - "17 {\"103795924\":{\"retired\":null}} 103795924 \n", - "18 {\"103795926\":{\"retired\":null}} 103795926 \n", - "19 {\"103795928\":{\"retired\":null}} 103795928 \n", - "20 {\"103795925\":{\"retired\":null}} 103795925 \n", - "21 {\"103795926\":{\"retired\":null}} 103795926 \n", - "22 {\"103795924\":{\"retired\":null}} 103795924 \n", - "23 {\"103795927\":{\"retired\":null}} 103795927 \n", - "24 {\"103795928\":{\"retired\":null}} 103795928 \n", - "25 {\"103795924\":{\"retired\":null}} 103795924 \n", - "26 {\"103795926\":{\"retired\":null}} 103795926 \n", - "27 {\"103795925\":{\"retired\":null}} 103795925 \n", - "28 {\"103795925\":{\"retired\":null}} 103795925 \n", - "29 {\"103795928\":{\"retired\":null}} 103795928 \n", - "30 {\"103795926\":{\"retired\":null}} 103795926 " - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "classification_data" ] @@ -1335,39 +557,12 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": { - "execution": { - "iopub.execute_input": "2024-10-15T13:31:36.342169Z", - "iopub.status.busy": "2024-10-15T13:31:36.341328Z", - "iopub.status.idle": "2024-10-15T13:31:36.379299Z", - "shell.execute_reply": "2024-10-15T13:31:36.378658Z", - "shell.execute_reply.started": "2024-10-15T13:31:36.342136Z" - }, "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'103247085': {'retired': None, 'objectId': '1651448872733547971'}}\n" - ] - }, - { - "ename": "NameError", - "evalue": "name 'STOp' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[20], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m extracted_data \u001b[38;5;241m=\u001b[39m \u001b[43mextract_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclassification_data\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mid_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mobjectId\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m extracted_data\n", - "Cell \u001b[0;32mIn[19], line 58\u001b[0m, in \u001b[0;36mextract_data\u001b[0;34m(classification_data, id_type)\u001b[0m\n\u001b[1;32m 56\u001b[0m rubin_id \u001b[38;5;241m=\u001b[39m json\u001b[38;5;241m.\u001b[39mloads(row\u001b[38;5;241m.\u001b[39msubject_data)[\u001b[38;5;28mstr\u001b[39m(row\u001b[38;5;241m.\u001b[39msubject_ids)][id_type]\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28mprint\u001b[39m(json\u001b[38;5;241m.\u001b[39mloads(row\u001b[38;5;241m.\u001b[39msubject_data))\n\u001b[0;32m---> 58\u001b[0m \u001b[43mSTOp\u001b[49m\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28mprint\u001b[39m(json\u001b[38;5;241m.\u001b[39mloads(row\u001b[38;5;241m.\u001b[39msubject_data))\n", - "\u001b[0;31mNameError\u001b[0m: name 'STOp' is not defined" - ] - } - ], + "outputs": [], "source": [ "extracted_data = extract_data(classification_data, id_type='objectId')\n", "extracted_data" From 59c4b2800e3ca64d8baa23cb751e987c636199ed Mon Sep 17 00:00:00 2001 From: beckynevin Date: Fri, 25 Oct 2024 15:35:37 +0000 Subject: [PATCH 19/23] modifying functions to have proper documentation --- 03_Aggregate_Classifications.ipynb | 48 ++++++++++++++++++------------ 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 6e955df..b7dbbcb 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -117,6 +117,7 @@ "from panoptes_aggregation.extractors.utilities import annotation_by_task\n", "from panoptes_aggregation.extractors import question_extractor\n", "from panoptes_aggregation.reducers import question_consensus_reducer\n", + "from panoptes\n", "\n", "from tqdm import tqdm\n", "\n", @@ -150,40 +151,46 @@ }, "outputs": [], "source": [ - "def download_classifications(WORKFLOW_ID, client):\n", + "def download_classifications(WORKFLOW_ID, client, generate):\n", " \"\"\"\n", " Downloads data from Zooniverse\n", "\n", " Args:\n", " WORKFLOW_ID (int): Workflow ID of workflow being aggregated\n", " client: Logged in Zooniverse client\n", + " generate (bool): Options are True or False\n", + " Use generate=True means when you want to\n", + " generate a new classification export. Use this\n", + " option if there are new user classifications\n", + " to include since the previous time the exports\n", + " were downloaded. generate=True is also needed if\n", + " downloading the classifications for the first time.\n", + " Use generate=False when you wish to re-use a\n", + " previously generated export, this also saves\n", + " significant computational time, as Zooniverse\n", + " does not need to re-generate the export on a\n", + " row-by-row basis.\n", "\n", " Returns:\n", " classification_data (DataFrame): Raw classifications from Zooniverse\n", " \"\"\"\n", " print('beginning function')\n", " workflow = Workflow(WORKFLOW_ID)\n", - " # generate the classifications \n", - " # if generate=True, it generates a new classification report,\n", - " # which can take a long time because they’re queued in the Zooniverse system.\n", - " # It’s the same as going to the project builder and clicking the “request new report”.\n", - " # If you don't care about new classifications and are okay with downloading\n", - " # an older report that you already generated, you can set this flag to False\n", " with client:\n", - " #try:\n", - " classification_export = workflow.get_export('classifications',\n", - " generate=True,\n", - " wait=False)\n", + " try:\n", + " classification_export = workflow.get_export('classifications',\n", + " generate=generate,\n", + " wait=False)\n", " \n", - " '''except PanoptesAPIException:\n", - " # this error will be thrown if no classifications exist and \n", - " # its necessary to set generate to True \n", - " # this will most likely happen the first time you're\n", - " # downloading a workflow\n", + " except PanoptesAPIException:\n", + " # This error will be thrown if no classifications exist and \n", + " # its necessary to set generate to True. This will happen\n", + " # the first time you're downloading the classifications\n", + " # from a workflow.\n", " classification_export = workflow.get_export('classifications',\n", " generate=True,\n", " wait=False)\n", - " '''\n", + " \n", " # since it's a partial class, call it to get the DictReader object\n", " csv_dictreader_instance = classification_export.csv_dictreader()\n", " try:\n", @@ -202,12 +209,15 @@ "\n", "\n", "\n", - "def extract_data(classification_data, id_type='objectId'):\n", + "def extract_data(classification_data, id_type='#objectId'):\n", " \"\"\"\n", " Extracts annotations from the classification data\n", "\n", " Args:\n", " classification_data (DataFrame): Raw classifications from Zooniverse\n", + " id_type (str): Name of the id in the extracted classifications; the #\n", + " default that precedes objectId keeps the objectId hidden\n", + " from the user in the information window on Zooniverse.\n", "\n", " Returns:\n", " extracted_data (DataFrame): Extracted annotations from raw classification data\n", @@ -224,7 +234,7 @@ " subject_id_str = str(row.subject_ids)\n", " # Check if the subject ID exists and is a dictionary\n", " if subject_id_str in row.subject_data and isinstance(json.loads(row.subject_data)[subject_id_str], dict):\n", - " rubin_id = json.loads(row.subject_data)[str(row.subject_ids)][id_type]\n", + " rubin_id = json.loads(row.subject_data)[subject_id_str][id_type]\n", " else:\n", " print(f\"Key '{subject_id_str}' not found in subject_data or it is not a dictionary.\")\n", " # add the extracted annotations to our temporary list along with some other additional data\n", From 01926ce66993e1d76c85c1b7203888ecdbbfdaa3 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Fri, 25 Oct 2024 16:18:02 +0000 Subject: [PATCH 20/23] runs all the way through, updated markdown --- 03_Aggregate_Classifications.ipynb | 1826 ++++++++++++++++++++++++++-- 1 file changed, 1720 insertions(+), 106 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index b7dbbcb..c45a380 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -93,15 +93,15 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 6, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", "metadata": { "execution": { - "iopub.execute_input": "2024-10-17T17:35:04.506763Z", - "iopub.status.busy": "2024-10-17T17:35:04.506568Z", - "iopub.status.idle": "2024-10-17T17:35:07.017049Z", - "shell.execute_reply": "2024-10-17T17:35:07.016366Z", - "shell.execute_reply.started": "2024-10-17T17:35:04.506745Z" + "iopub.execute_input": "2024-10-25T15:55:32.600599Z", + "iopub.status.busy": "2024-10-25T15:55:32.600314Z", + "iopub.status.idle": "2024-10-25T15:55:37.174377Z", + "shell.execute_reply": "2024-10-25T15:55:37.173731Z", + "shell.execute_reply.started": "2024-10-25T15:55:32.600579Z" } }, "outputs": [], @@ -117,7 +117,6 @@ "from panoptes_aggregation.extractors.utilities import annotation_by_task\n", "from panoptes_aggregation.extractors import question_extractor\n", "from panoptes_aggregation.reducers import question_consensus_reducer\n", - "from panoptes\n", "\n", "from tqdm import tqdm\n", "\n", @@ -138,70 +137,77 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 23, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-10-17T17:37:43.302007Z", - "iopub.status.busy": "2024-10-17T17:37:43.301730Z", - "iopub.status.idle": "2024-10-17T17:37:43.315779Z", - "shell.execute_reply": "2024-10-17T17:37:43.315070Z", - "shell.execute_reply.started": "2024-10-17T17:37:43.301986Z" + "iopub.execute_input": "2024-10-25T15:59:16.153012Z", + "iopub.status.busy": "2024-10-25T15:59:16.152655Z", + "iopub.status.idle": "2024-10-25T15:59:16.166595Z", + "shell.execute_reply": "2024-10-25T15:59:16.165934Z", + "shell.execute_reply.started": "2024-10-25T15:59:16.152985Z" } }, "outputs": [], "source": [ - "def download_classifications(WORKFLOW_ID, client, generate):\n", + "def generate_classification_export(WORKFLOW_ID, client):\n", + " \"\"\"\n", + " Submits a request to Zooniverse to generate the export\n", + " classification report.\n", + " \n", + " Description:\n", + " This function should be run only if the classification\n", + " export has never been generated before or if the\n", + " classification export needs to be updatied, i.e., if\n", + " there are new classifications ready for download that\n", + " have never been downloaded before.\n", + "\n", + " Args:\n", + " WORKFLOW_ID (int): Workflow ID of workflow being aggregated\n", + " client: Logged in Zooniverse client\n", + " \"\"\"\n", + " workflow = Workflow(WORKFLOW_ID)\n", + " #with client:\n", + " workflow.generate_export('classifications')\n", + " \n", + "\n", + "def download_classifications(WORKFLOW_ID, client):\n", " \"\"\"\n", " Downloads data from Zooniverse\n", "\n", " Args:\n", " WORKFLOW_ID (int): Workflow ID of workflow being aggregated\n", " client: Logged in Zooniverse client\n", - " generate (bool): Options are True or False\n", - " Use generate=True means when you want to\n", - " generate a new classification export. Use this\n", - " option if there are new user classifications\n", - " to include since the previous time the exports\n", - " were downloaded. generate=True is also needed if\n", - " downloading the classifications for the first time.\n", - " Use generate=False when you wish to re-use a\n", - " previously generated export, this also saves\n", - " significant computational time, as Zooniverse\n", - " does not need to re-generate the export on a\n", - " row-by-row basis.\n", "\n", " Returns:\n", " classification_data (DataFrame): Raw classifications from Zooniverse\n", " \"\"\"\n", - " print('beginning function')\n", " workflow = Workflow(WORKFLOW_ID)\n", - " with client:\n", - " try:\n", - " classification_export = workflow.get_export('classifications',\n", - " generate=generate,\n", - " wait=False)\n", - " \n", - " except PanoptesAPIException:\n", - " # This error will be thrown if no classifications exist and \n", - " # its necessary to set generate to True. This will happen\n", - " # the first time you're downloading the classifications\n", - " # from a workflow.\n", - " classification_export = workflow.get_export('classifications',\n", - " generate=True,\n", - " wait=False)\n", - " \n", - " # since it's a partial class, call it to get the DictReader object\n", + " #with client:\n", + " try:\n", + " classification_export = workflow.get_export('classifications',\n", + " generate=False)\n", + " \n", + " except PanoptesAPIException:\n", + " # This error will be thrown if no classifications exist and \n", + " # its necessary to first run the generate_classification_export\n", + " # function and then rerun this function\n", + " print('The classification export is not ready, please ensure \\\n", + " that you have already run the `generate_classification_export` \\\n", + " function and that you have received an email from Zooniverse \\\n", + " that the classification export is ready.')\n", + " \n", + " # since it's a partial class, call it to get the DictReader object\n", + " csv_dictreader_instance = classification_export.csv_dictreader()\n", + " try:\n", + " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", + " except:\n", + " # this will happen if there's an error in the download\n", + " classification_export = workflow.get_export('classifications',\n", + " generate=True,\n", + " wait=False)\n", " csv_dictreader_instance = classification_export.csv_dictreader()\n", - " try:\n", - " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", - " except:\n", - " # this will happen if there's an error in the download\n", - " classification_export = workflow.get_export('classifications',\n", - " generate=True,\n", - " wait=False)\n", - " csv_dictreader_instance = classification_export.csv_dictreader()\n", - " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", + " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", " \n", " # convert to pandas dataframe\n", " classification_data = pd.DataFrame.from_dict(classification_rows)\n", @@ -353,15 +359,15 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 14, "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", "metadata": { "execution": { - "iopub.execute_input": "2024-10-17T17:35:11.292525Z", - "iopub.status.busy": "2024-10-17T17:35:11.292232Z", - "iopub.status.idle": "2024-10-17T17:35:21.365183Z", - "shell.execute_reply": "2024-10-17T17:35:21.364545Z", - "shell.execute_reply.started": "2024-10-17T17:35:11.292502Z" + "iopub.execute_input": "2024-10-25T15:57:06.053690Z", + "iopub.status.busy": "2024-10-25T15:57:06.053063Z", + "iopub.status.idle": "2024-10-25T15:57:16.023637Z", + "shell.execute_reply": "2024-10-25T15:57:16.022998Z", + "shell.execute_reply.started": "2024-10-25T15:57:06.053662Z" } }, "outputs": [ @@ -421,6 +427,7 @@ "source": [ "email = \"beckynevin@gmail.com\"\n", "cit_sci_pipeline = pipeline.CitSciPipeline()\n", + "client = cit_sci_pipeline.client\n", "cit_sci_pipeline.login_to_zooniverse(email)" ] }, @@ -434,15 +441,15 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 15, "id": "8f5808b1-109f-4417-8dd5-003d7d6f83f1", "metadata": { "execution": { - "iopub.execute_input": "2024-10-17T17:35:24.192777Z", - "iopub.status.busy": "2024-10-17T17:35:24.192464Z", - "iopub.status.idle": "2024-10-17T17:35:24.861273Z", - "shell.execute_reply": "2024-10-17T17:35:24.860584Z", - "shell.execute_reply.started": "2024-10-17T17:35:24.192755Z" + "iopub.execute_input": "2024-10-25T15:57:19.719520Z", + "iopub.status.busy": "2024-10-25T15:57:19.719242Z", + "iopub.status.idle": "2024-10-25T15:57:22.056010Z", + "shell.execute_reply": "2024-10-25T15:57:22.055054Z", + "shell.execute_reply.started": "2024-10-25T15:57:19.719502Z" } }, "outputs": [ @@ -453,9 +460,10 @@ "\n", "*==* Your Workflows *==*\n", "\n", + "Workflow ID: 27592 - Display Name: Classify with hidden metadata double backslash before objectId\n", "Workflow ID: 27568 - Display Name: Classify with hidden metadata hashtag before objectId\n", - "Workflow ID: 27546 - Display Name: Classify with hidden metadata\n", "Workflow ID: 27550 - Display Name: Classify with hidden metadata backslash\n", + "Workflow ID: 27546 - Display Name: Classify with hidden metadata\n", "Workflow ID: 27509 - Display Name: Classify with metadata\n", "Workflow ID: 23254 - Display Name: Classification\n", "\n", @@ -478,15 +486,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 16, "id": "505d46f9-c80f-421c-b8d8-92e3093b4d37", "metadata": { "execution": { - "iopub.execute_input": "2024-10-17T17:35:28.076585Z", - "iopub.status.busy": "2024-10-17T17:35:28.076172Z", - "iopub.status.idle": "2024-10-17T17:35:28.080042Z", - "shell.execute_reply": "2024-10-17T17:35:28.079326Z", - "shell.execute_reply.started": "2024-10-17T17:35:28.076557Z" + "iopub.execute_input": "2024-10-25T15:57:24.499669Z", + "iopub.status.busy": "2024-10-25T15:57:24.499360Z", + "iopub.status.idle": "2024-10-25T15:57:24.503476Z", + "shell.execute_reply": "2024-10-25T15:57:24.502750Z", + "shell.execute_reply.started": "2024-10-25T15:57:24.499650Z" } }, "outputs": [], @@ -496,31 +504,66 @@ }, { "cell_type": "markdown", - "id": "234ff23f-b321-4277-a28e-6a2f33e28b1a", + "id": "a6c56e82-f54c-4864-89ee-326825170e3d", "metadata": {}, "source": [ - "## 3. Download the classifications\n", - "These will still be in the raw format. This function reads from the output csv and puts all rows into a dataframe format.\n", + "## 3. Generate the classification export\n", + "Set `generate = True` and run the below two cells if you need to generate the classification export from Zooniverse. This is necessary if you have never generated the classification before or if there are new classifications you wish to include since last time the export was generated.\n", "\n", - "PanoptesAPIException: No classifications_export exists for workflow #27550" + "The export classification generation runs as a background process on Zooniverse's platform and could take up to 24 hours; when the export is ready, Zooniverse will email you. Once you receive the email confirmation, proceed to the next step." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3249bd61-93c8-4b5b-8e92-9995d0fbc8c5", + "metadata": {}, + "outputs": [], + "source": [ + "generate = False" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "3258b2cc-fd9d-4c31-ad9b-77b1b361986e", + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-25T15:58:13.167797Z", + "iopub.status.busy": "2024-10-25T15:58:13.167470Z", + "iopub.status.idle": "2024-10-25T15:58:13.391626Z", + "shell.execute_reply": "2024-10-25T15:58:13.390897Z", + "shell.execute_reply.started": "2024-10-25T15:58:13.167773Z" + } + }, + "outputs": [], + "source": [ + "if generate:\n", + " generate_classification_export(WORKFLOW_ID, client)" ] }, { "cell_type": "markdown", - "id": "5acf1ba8-517a-45b7-addc-cd0a5ace8d87", + "id": "234ff23f-b321-4277-a28e-6a2f33e28b1a", "metadata": {}, "source": [ - "Might be batched in a background process, " + "## 4. Download the classifications\n", + "Once you have received the email verification that the classification export is ready, you can now download the classifications. \n", + "\n", + "This function reads from the output csv and puts all rows into a dataframe format." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", "metadata": { "execution": { - "iopub.execute_input": "2024-10-17T17:37:54.769894Z", - "iopub.status.busy": "2024-10-17T17:37:54.769254Z" + "iopub.execute_input": "2024-10-25T16:07:56.320160Z", + "iopub.status.busy": "2024-10-25T16:07:56.319835Z", + "iopub.status.idle": "2024-10-25T16:07:56.765519Z", + "shell.execute_reply": "2024-10-25T16:07:56.764892Z", + "shell.execute_reply.started": "2024-10-25T16:07:56.320139Z" } }, "outputs": [ @@ -528,53 +571,1502 @@ "name": "stdout", "output_type": "stream", "text": [ - "beginning function\n" + "36it [00:00, 24159.19it/s]\n" ] } ], "source": [ - "client = cit_sci_pipeline.client\n", - "# how long should this take?\n", "classification_data = download_classifications(WORKFLOW_ID, client)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "87efe634-b609-483f-b3d3-49f7623fc565", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-25T16:07:58.587508Z", + "iopub.status.busy": "2024-10-25T16:07:58.587228Z", + "iopub.status.idle": "2024-10-25T16:07:58.605115Z", + "shell.execute_reply": "2024-10-25T16:07:58.604488Z", + "shell.execute_reply.started": "2024-10-25T16:07:58.587489Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
classification_iduser_nameuser_iduser_ipworkflow_idworkflow_nameworkflow_versioncreated_atgold_standardexpertmetadataannotationssubject_datasubject_ids
0591515226rebecca.nevin19465841ce65e550eb889f39bbf27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:25 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
1591515240rebecca.nevin1946584a3e0ff6717a9f6db391827568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:38 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
2591515244rebecca.nevin1946584a3e0ff6717a9f6db391827568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:39 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
3591515247rebecca.nevin1946584a3e0ff6717a9f6db391827568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:42 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
4591515250rebecca.nevin1946584837465c2b7b964631bb327568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:43 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
5591515254rebecca.nevin1946584837465c2b7b964631bb327568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:45 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
6591515256rebecca.nevin1946584837465c2b7b964631bb327568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:47 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
7591515260rebecca.nevin19465844724401c8c8e437221fb27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:49 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
8591515263rebecca.nevin19465844724401c8c8e437221fb27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:51 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
9591515265rebecca.nevin19465844724401c8c8e437221fb27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:52 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
10591515268rebecca.nevin1946584c5ea50edd0dcb229fcc627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:55 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
11591515270rebecca.nevin1946584c5ea50edd0dcb229fcc627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:56 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
12591515272rebecca.nevin1946584289847f12e4188e50e5927568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:58 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
13591515273rebecca.nevin1946584289847f12e4188e50e5927568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:59 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
14591515275rebecca.nevin1946584289847f12e4188e50e5927568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:01 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
15591515277rebecca.nevin19465841ce65e550eb889f39bbf27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:03 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
16591515280rebecca.nevin19465841ce65e550eb889f39bbf27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:05 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
17591515284rebecca.nevin19465841ce65e550eb889f39bbf27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:07 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
18591515288rebecca.nevin19465844b2fc8e794950a2dfb3b27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:09 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
19591515289rebecca.nevin19465844b2fc8e794950a2dfb3b27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:10 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
20591515292rebecca.nevin19465844b2fc8e794950a2dfb3b27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:12 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
21591515296rebecca.nevin1946584852848332d6de72c5b1627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:13 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
22591515298rebecca.nevin1946584852848332d6de72c5b1627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:15 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
23591515300rebecca.nevin1946584852848332d6de72c5b1627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:17 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
24591515304rebecca.nevin1946584f95ebaf2aa033f8bfc9a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:19 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
25591515306rebecca.nevin1946584f95ebaf2aa033f8bfc9a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:20 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
26591515310rebecca.nevin1946584f95ebaf2aa033f8bfc9a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:22 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
27591515314rebecca.nevin1946584a67c77172ce72add306a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:24 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
28591515316rebecca.nevin1946584a67c77172ce72add306a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:25 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
29591515319rebecca.nevin1946584a67c77172ce72add306a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:26 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
30591515323rebecca.nevin1946584cce0f5c725b5f956c18627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:28 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
31591515324rebecca.nevin1946584cce0f5c725b5f956c18627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:29 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
32591515333rebecca.nevin1946584fd1331d630806aefe2b227568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:35 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
33591515337rebecca.nevin1946584fd1331d630806aefe2b227568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:36 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
34591515342rebecca.nevin19465845f126bd7798d112970d327568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:38 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
35591515343rebecca.nevin19465845f126bd7798d112970d327568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:39 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
\n", + "
" + ], + "text/plain": [ + " classification_id user_name user_id user_ip \\\n", + "0 591515226 rebecca.nevin 1946584 1ce65e550eb889f39bbf \n", + "1 591515240 rebecca.nevin 1946584 a3e0ff6717a9f6db3918 \n", + "2 591515244 rebecca.nevin 1946584 a3e0ff6717a9f6db3918 \n", + "3 591515247 rebecca.nevin 1946584 a3e0ff6717a9f6db3918 \n", + "4 591515250 rebecca.nevin 1946584 837465c2b7b964631bb3 \n", + "5 591515254 rebecca.nevin 1946584 837465c2b7b964631bb3 \n", + "6 591515256 rebecca.nevin 1946584 837465c2b7b964631bb3 \n", + "7 591515260 rebecca.nevin 1946584 4724401c8c8e437221fb \n", + "8 591515263 rebecca.nevin 1946584 4724401c8c8e437221fb \n", + "9 591515265 rebecca.nevin 1946584 4724401c8c8e437221fb \n", + "10 591515268 rebecca.nevin 1946584 c5ea50edd0dcb229fcc6 \n", + "11 591515270 rebecca.nevin 1946584 c5ea50edd0dcb229fcc6 \n", + "12 591515272 rebecca.nevin 1946584 289847f12e4188e50e59 \n", + "13 591515273 rebecca.nevin 1946584 289847f12e4188e50e59 \n", + "14 591515275 rebecca.nevin 1946584 289847f12e4188e50e59 \n", + "15 591515277 rebecca.nevin 1946584 1ce65e550eb889f39bbf \n", + "16 591515280 rebecca.nevin 1946584 1ce65e550eb889f39bbf \n", + "17 591515284 rebecca.nevin 1946584 1ce65e550eb889f39bbf \n", + "18 591515288 rebecca.nevin 1946584 4b2fc8e794950a2dfb3b \n", + "19 591515289 rebecca.nevin 1946584 4b2fc8e794950a2dfb3b \n", + "20 591515292 rebecca.nevin 1946584 4b2fc8e794950a2dfb3b \n", + "21 591515296 rebecca.nevin 1946584 852848332d6de72c5b16 \n", + "22 591515298 rebecca.nevin 1946584 852848332d6de72c5b16 \n", + "23 591515300 rebecca.nevin 1946584 852848332d6de72c5b16 \n", + "24 591515304 rebecca.nevin 1946584 f95ebaf2aa033f8bfc9a \n", + "25 591515306 rebecca.nevin 1946584 f95ebaf2aa033f8bfc9a \n", + "26 591515310 rebecca.nevin 1946584 f95ebaf2aa033f8bfc9a \n", + "27 591515314 rebecca.nevin 1946584 a67c77172ce72add306a \n", + "28 591515316 rebecca.nevin 1946584 a67c77172ce72add306a \n", + "29 591515319 rebecca.nevin 1946584 a67c77172ce72add306a \n", + "30 591515323 rebecca.nevin 1946584 cce0f5c725b5f956c186 \n", + "31 591515324 rebecca.nevin 1946584 cce0f5c725b5f956c186 \n", + "32 591515333 rebecca.nevin 1946584 fd1331d630806aefe2b2 \n", + "33 591515337 rebecca.nevin 1946584 fd1331d630806aefe2b2 \n", + "34 591515342 rebecca.nevin 1946584 5f126bd7798d112970d3 \n", + "35 591515343 rebecca.nevin 1946584 5f126bd7798d112970d3 \n", + "\n", + " workflow_id workflow_name \\\n", + "0 27568 Classify with hidden metadata hashtag before o... \n", + "1 27568 Classify with hidden metadata hashtag before o... \n", + "2 27568 Classify with hidden metadata hashtag before o... \n", + "3 27568 Classify with hidden metadata hashtag before o... \n", + "4 27568 Classify with hidden metadata hashtag before o... \n", + "5 27568 Classify with hidden metadata hashtag before o... \n", + "6 27568 Classify with hidden metadata hashtag before o... \n", + "7 27568 Classify with hidden metadata hashtag before o... \n", + "8 27568 Classify with hidden metadata hashtag before o... \n", + "9 27568 Classify with hidden metadata hashtag before o... \n", + "10 27568 Classify with hidden metadata hashtag before o... \n", + "11 27568 Classify with hidden metadata hashtag before o... \n", + "12 27568 Classify with hidden metadata hashtag before o... \n", + "13 27568 Classify with hidden metadata hashtag before o... \n", + "14 27568 Classify with hidden metadata hashtag before o... \n", + "15 27568 Classify with hidden metadata hashtag before o... \n", + "16 27568 Classify with hidden metadata hashtag before o... \n", + "17 27568 Classify with hidden metadata hashtag before o... \n", + "18 27568 Classify with hidden metadata hashtag before o... \n", + "19 27568 Classify with hidden metadata hashtag before o... \n", + "20 27568 Classify with hidden metadata hashtag before o... \n", + "21 27568 Classify with hidden metadata hashtag before o... \n", + "22 27568 Classify with hidden metadata hashtag before o... \n", + "23 27568 Classify with hidden metadata hashtag before o... \n", + "24 27568 Classify with hidden metadata hashtag before o... \n", + "25 27568 Classify with hidden metadata hashtag before o... \n", + "26 27568 Classify with hidden metadata hashtag before o... \n", + "27 27568 Classify with hidden metadata hashtag before o... \n", + "28 27568 Classify with hidden metadata hashtag before o... \n", + "29 27568 Classify with hidden metadata hashtag before o... \n", + "30 27568 Classify with hidden metadata hashtag before o... \n", + "31 27568 Classify with hidden metadata hashtag before o... \n", + "32 27568 Classify with hidden metadata hashtag before o... \n", + "33 27568 Classify with hidden metadata hashtag before o... \n", + "34 27568 Classify with hidden metadata hashtag before o... \n", + "35 27568 Classify with hidden metadata hashtag before o... \n", + "\n", + " workflow_version created_at gold_standard expert \\\n", + "0 4.8 2024-10-17 02:43:25 UTC \n", + "1 4.8 2024-10-17 02:43:38 UTC \n", + "2 4.8 2024-10-17 02:43:39 UTC \n", + "3 4.8 2024-10-17 02:43:42 UTC \n", + "4 4.8 2024-10-17 02:43:43 UTC \n", + "5 4.8 2024-10-17 02:43:45 UTC \n", + "6 4.8 2024-10-17 02:43:47 UTC \n", + "7 4.8 2024-10-17 02:43:49 UTC \n", + "8 4.8 2024-10-17 02:43:51 UTC \n", + "9 4.8 2024-10-17 02:43:52 UTC \n", + "10 4.8 2024-10-17 02:43:55 UTC \n", + "11 4.8 2024-10-17 02:43:56 UTC \n", + "12 4.8 2024-10-17 02:43:58 UTC \n", + "13 4.8 2024-10-17 02:43:59 UTC \n", + "14 4.8 2024-10-17 02:44:01 UTC \n", + "15 4.8 2024-10-17 02:44:03 UTC \n", + "16 4.8 2024-10-17 02:44:05 UTC \n", + "17 4.8 2024-10-17 02:44:07 UTC \n", + "18 4.8 2024-10-17 02:44:09 UTC \n", + "19 4.8 2024-10-17 02:44:10 UTC \n", + "20 4.8 2024-10-17 02:44:12 UTC \n", + "21 4.8 2024-10-17 02:44:13 UTC \n", + "22 4.8 2024-10-17 02:44:15 UTC \n", + "23 4.8 2024-10-17 02:44:17 UTC \n", + "24 4.8 2024-10-17 02:44:19 UTC \n", + "25 4.8 2024-10-17 02:44:20 UTC \n", + "26 4.8 2024-10-17 02:44:22 UTC \n", + "27 4.8 2024-10-17 02:44:24 UTC \n", + "28 4.8 2024-10-17 02:44:25 UTC \n", + "29 4.8 2024-10-17 02:44:26 UTC \n", + "30 4.8 2024-10-17 02:44:28 UTC \n", + "31 4.8 2024-10-17 02:44:29 UTC \n", + "32 4.8 2024-10-17 02:44:35 UTC \n", + "33 4.8 2024-10-17 02:44:36 UTC \n", + "34 4.8 2024-10-17 02:44:38 UTC \n", + "35 4.8 2024-10-17 02:44:39 UTC \n", + "\n", + " metadata \\\n", + "0 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "1 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "2 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "3 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "4 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "5 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "6 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "7 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "8 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "9 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "10 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "11 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "12 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "13 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "14 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "15 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "16 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "17 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "18 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "19 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "20 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "21 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "22 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "23 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "24 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "25 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "26 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "27 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "28 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "29 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "30 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "31 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "32 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "33 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "34 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "35 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", + "\n", + " annotations \\\n", + "0 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "1 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "2 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "3 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "4 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "5 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "6 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "7 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "8 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "9 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "10 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "11 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "12 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "13 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "14 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "15 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "16 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "17 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "18 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "19 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "20 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "21 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "22 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "23 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "24 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "25 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "26 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "27 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "28 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "29 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "30 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "31 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "32 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "33 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "34 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "35 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", + "\n", + " subject_data subject_ids \n", + "0 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", + "1 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", + "2 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", + "3 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", + "4 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", + "5 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", + "6 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", + "7 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", + "8 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", + "9 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", + "10 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", + "11 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", + "12 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", + "13 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", + "14 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", + "15 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", + "16 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", + "17 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", + "18 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", + "19 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", + "20 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", + "21 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", + "22 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", + "23 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", + "24 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", + "25 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", + "26 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", + "27 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", + "28 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", + "29 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", + "30 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", + "31 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", + "32 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", + "33 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", + "34 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", + "35 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 " + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "classification_data" ] }, - { - "cell_type": "markdown", - "id": "bda67780-9331-4922-8411-383e169fbf84", - "metadata": {}, - "source": [ - "Select either `objectId` or `diaObjectId`; this should match the ID type of the data that was first sent to Zooniverse." - ] - }, { "cell_type": "markdown", "id": "db961c2e-0304-4d9e-8ac1-9e25197a2fc2", "metadata": {}, "source": [ - "## 4. Extract annotations by task and sort by subject ID\n", - "The `id_type` argument should either be set to 'objectId' (default) or 'diaobjectId'. This function will return all annotations, there are repeated rows for some `subject_id` entries from different users or the same user re-classifying the same subject. This function will also return the Rubin IDs in a table." + "## 5. Extract annotations by task and sort by subject ID\n", + "The `id_type` argument should either be set to '#objectId' (default) or '#diaobjectId'. The preceding # denotes that this keyword is a hidden field on Zooniverse, meaning that it is hidden from users.\n", + "\n", + "This function will return all annotations, there are repeated rows for some `subject_id` entries from different users or the same user re-classifying the same subject. This function will also return the Rubin IDs in a table." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": { + "execution": { + "iopub.execute_input": "2024-10-25T16:13:11.895798Z", + "iopub.status.busy": "2024-10-25T16:13:11.895518Z", + "iopub.status.idle": "2024-10-25T16:13:11.928702Z", + "shell.execute_reply": "2024-10-25T16:13:11.927777Z", + "shell.execute_reply.started": "2024-10-25T16:13:11.895779Z" + }, "scrolled": true }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
classification_idsubject_iduser_nameuser_idcreated_atrubin_iddatatask
1591515240103822131rebecca.nevin19465842024-10-17 02:43:38 UTC1567965153859768169{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
6591515256103822131rebecca.nevin19465842024-10-17 02:43:47 UTC1567965153859768169{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
13591515273103822131rebecca.nevin19465842024-10-17 02:43:59 UTC1567965153859768169{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
20591515292103822131rebecca.nevin19465842024-10-17 02:44:12 UTC1567965153859768169{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
25591515306103822131rebecca.nevin19465842024-10-17 02:44:20 UTC1567965153859768169{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
31591515324103822131rebecca.nevin19465842024-10-17 02:44:29 UTC1567965153859768169{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
3591515247103822132rebecca.nevin19465842024-10-17 02:43:42 UTC1650947495431285770{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
9591515265103822132rebecca.nevin19465842024-10-17 02:43:52 UTC1650947495431285770{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
16591515280103822132rebecca.nevin19465842024-10-17 02:44:05 UTC1650947495431285770{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
18591515288103822132rebecca.nevin19465842024-10-17 02:44:09 UTC1650947495431285770{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
24591515304103822132rebecca.nevin19465842024-10-17 02:44:19 UTC1650947495431285770{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
26591515310103822132rebecca.nevin19465842024-10-17 02:44:22 UTC1650947495431285770{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
33591515337103822132rebecca.nevin19465842024-10-17 02:44:36 UTC1650947495431285770{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
4591515250103822133rebecca.nevin19465842024-10-17 02:43:43 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
5591515254103822133rebecca.nevin19465842024-10-17 02:43:45 UTC1651448872733547971{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
11591515270103822133rebecca.nevin19465842024-10-17 02:43:56 UTC1651448872733547971{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
17591515284103822133rebecca.nevin19465842024-10-17 02:44:07 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
22591515298103822133rebecca.nevin19465842024-10-17 02:44:15 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
28591515316103822133rebecca.nevin19465842024-10-17 02:44:25 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
30591515323103822133rebecca.nevin19465842024-10-17 02:44:28 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
35591515343103822133rebecca.nevin19465842024-10-17 02:44:39 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2591515244103822134rebecca.nevin19465842024-10-17 02:43:39 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
8591515263103822134rebecca.nevin19465842024-10-17 02:43:51 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
12591515272103822134rebecca.nevin19465842024-10-17 02:43:58 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
15591515277103822134rebecca.nevin19465842024-10-17 02:44:03 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
21591515296103822134rebecca.nevin19465842024-10-17 02:44:13 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
27591515314103822134rebecca.nevin19465842024-10-17 02:44:24 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
32591515333103822134rebecca.nevin19465842024-10-17 02:44:35 UTC1651536833663756158{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
34591515342103822134rebecca.nevin19465842024-10-17 02:44:38 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
0591515226103822135rebecca.nevin19465842024-10-17 02:43:25 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
7591515260103822135rebecca.nevin19465842024-10-17 02:43:49 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
10591515268103822135rebecca.nevin19465842024-10-17 02:43:55 UTC1651325727431231924{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
14591515275103822135rebecca.nevin19465842024-10-17 02:44:01 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
19591515289103822135rebecca.nevin19465842024-10-17 02:44:10 UTC1651325727431231924{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
23591515300103822135rebecca.nevin19465842024-10-17 02:44:17 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
29591515319103822135rebecca.nevin19465842024-10-17 02:44:26 UTC1651325727431231924{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
\n", + "
" + ], + "text/plain": [ + " classification_id subject_id user_name user_id \\\n", + "1 591515240 103822131 rebecca.nevin 1946584 \n", + "6 591515256 103822131 rebecca.nevin 1946584 \n", + "13 591515273 103822131 rebecca.nevin 1946584 \n", + "20 591515292 103822131 rebecca.nevin 1946584 \n", + "25 591515306 103822131 rebecca.nevin 1946584 \n", + "31 591515324 103822131 rebecca.nevin 1946584 \n", + "3 591515247 103822132 rebecca.nevin 1946584 \n", + "9 591515265 103822132 rebecca.nevin 1946584 \n", + "16 591515280 103822132 rebecca.nevin 1946584 \n", + "18 591515288 103822132 rebecca.nevin 1946584 \n", + "24 591515304 103822132 rebecca.nevin 1946584 \n", + "26 591515310 103822132 rebecca.nevin 1946584 \n", + "33 591515337 103822132 rebecca.nevin 1946584 \n", + "4 591515250 103822133 rebecca.nevin 1946584 \n", + "5 591515254 103822133 rebecca.nevin 1946584 \n", + "11 591515270 103822133 rebecca.nevin 1946584 \n", + "17 591515284 103822133 rebecca.nevin 1946584 \n", + "22 591515298 103822133 rebecca.nevin 1946584 \n", + "28 591515316 103822133 rebecca.nevin 1946584 \n", + "30 591515323 103822133 rebecca.nevin 1946584 \n", + "35 591515343 103822133 rebecca.nevin 1946584 \n", + "2 591515244 103822134 rebecca.nevin 1946584 \n", + "8 591515263 103822134 rebecca.nevin 1946584 \n", + "12 591515272 103822134 rebecca.nevin 1946584 \n", + "15 591515277 103822134 rebecca.nevin 1946584 \n", + "21 591515296 103822134 rebecca.nevin 1946584 \n", + "27 591515314 103822134 rebecca.nevin 1946584 \n", + "32 591515333 103822134 rebecca.nevin 1946584 \n", + "34 591515342 103822134 rebecca.nevin 1946584 \n", + "0 591515226 103822135 rebecca.nevin 1946584 \n", + "7 591515260 103822135 rebecca.nevin 1946584 \n", + "10 591515268 103822135 rebecca.nevin 1946584 \n", + "14 591515275 103822135 rebecca.nevin 1946584 \n", + "19 591515289 103822135 rebecca.nevin 1946584 \n", + "23 591515300 103822135 rebecca.nevin 1946584 \n", + "29 591515319 103822135 rebecca.nevin 1946584 \n", + "\n", + " created_at rubin_id \\\n", + "1 2024-10-17 02:43:38 UTC 1567965153859768169 \n", + "6 2024-10-17 02:43:47 UTC 1567965153859768169 \n", + "13 2024-10-17 02:43:59 UTC 1567965153859768169 \n", + "20 2024-10-17 02:44:12 UTC 1567965153859768169 \n", + "25 2024-10-17 02:44:20 UTC 1567965153859768169 \n", + "31 2024-10-17 02:44:29 UTC 1567965153859768169 \n", + "3 2024-10-17 02:43:42 UTC 1650947495431285770 \n", + "9 2024-10-17 02:43:52 UTC 1650947495431285770 \n", + "16 2024-10-17 02:44:05 UTC 1650947495431285770 \n", + "18 2024-10-17 02:44:09 UTC 1650947495431285770 \n", + "24 2024-10-17 02:44:19 UTC 1650947495431285770 \n", + "26 2024-10-17 02:44:22 UTC 1650947495431285770 \n", + "33 2024-10-17 02:44:36 UTC 1650947495431285770 \n", + "4 2024-10-17 02:43:43 UTC 1651448872733547971 \n", + "5 2024-10-17 02:43:45 UTC 1651448872733547971 \n", + "11 2024-10-17 02:43:56 UTC 1651448872733547971 \n", + "17 2024-10-17 02:44:07 UTC 1651448872733547971 \n", + "22 2024-10-17 02:44:15 UTC 1651448872733547971 \n", + "28 2024-10-17 02:44:25 UTC 1651448872733547971 \n", + "30 2024-10-17 02:44:28 UTC 1651448872733547971 \n", + "35 2024-10-17 02:44:39 UTC 1651448872733547971 \n", + "2 2024-10-17 02:43:39 UTC 1651536833663756158 \n", + "8 2024-10-17 02:43:51 UTC 1651536833663756158 \n", + "12 2024-10-17 02:43:58 UTC 1651536833663756158 \n", + "15 2024-10-17 02:44:03 UTC 1651536833663756158 \n", + "21 2024-10-17 02:44:13 UTC 1651536833663756158 \n", + "27 2024-10-17 02:44:24 UTC 1651536833663756158 \n", + "32 2024-10-17 02:44:35 UTC 1651536833663756158 \n", + "34 2024-10-17 02:44:38 UTC 1651536833663756158 \n", + "0 2024-10-17 02:43:25 UTC 1651325727431231924 \n", + "7 2024-10-17 02:43:49 UTC 1651325727431231924 \n", + "10 2024-10-17 02:43:55 UTC 1651325727431231924 \n", + "14 2024-10-17 02:44:01 UTC 1651325727431231924 \n", + "19 2024-10-17 02:44:10 UTC 1651325727431231924 \n", + "23 2024-10-17 02:44:17 UTC 1651325727431231924 \n", + "29 2024-10-17 02:44:26 UTC 1651325727431231924 \n", + "\n", + " data task \n", + "1 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "6 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "13 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "20 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "25 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "31 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "3 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "9 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "16 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "18 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "24 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "26 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "33 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "4 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "5 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "11 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "17 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "22 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "28 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "30 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "35 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "2 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "8 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "12 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "15 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "21 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "27 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "32 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "34 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "0 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "7 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "10 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "14 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "19 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "23 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", + "29 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 " + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "extracted_data = extract_data(classification_data, id_type='objectId')\n", + "extracted_data = extract_data(classification_data, id_type='#objectId')\n", "extracted_data" ] }, @@ -583,15 +2075,23 @@ "id": "6cbe65b0-dc50-4550-92a6-a2954c897c12", "metadata": {}, "source": [ - "## 5. Aggregate the annotations\n", + "## 6. Aggregate the annotations\n", "Sort by unique subject ID and then unique tasks. Find the most recent classification for each user ID, and uses the Zooniverse consensus builder to look through all user classifications and build consensus." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-25T16:15:42.744753Z", + "iopub.status.busy": "2024-10-25T16:15:42.744368Z", + "iopub.status.idle": "2024-10-25T16:15:42.778477Z", + "shell.execute_reply": "2024-10-25T16:15:42.777651Z", + "shell.execute_reply.started": "2024-10-25T16:15:42.744728Z" + } + }, "outputs": [], "source": [ "aggregated_data = aggregate_data(extracted_data)" @@ -599,10 +2099,124 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "fab35094-bae0-4883-91ed-6d0215a17135", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-25T16:15:43.640539Z", + "iopub.status.busy": "2024-10-25T16:15:43.639764Z", + "iopub.status.idle": "2024-10-25T16:15:43.650917Z", + "shell.execute_reply": "2024-10-25T16:15:43.650256Z", + "shell.execute_reply.started": "2024-10-25T16:15:43.640509Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
most_likelynum_votesagreementaggregation_versionsubject_idtaskrubin_id
0no11.04.1.0103822131T01567965153859768169
1no11.04.1.0103822132T01650947495431285770
2no11.04.1.0103822133T01651448872733547971
3no11.04.1.0103822134T01651536833663756158
4no11.04.1.0103822135T01651325727431231924
\n", + "
" + ], + "text/plain": [ + " most_likely num_votes agreement aggregation_version subject_id task \\\n", + "0 no 1 1.0 4.1.0 103822131 T0 \n", + "1 no 1 1.0 4.1.0 103822132 T0 \n", + "2 no 1 1.0 4.1.0 103822133 T0 \n", + "3 no 1 1.0 4.1.0 103822134 T0 \n", + "4 no 1 1.0 4.1.0 103822135 T0 \n", + "\n", + " rubin_id \n", + "0 1567965153859768169 \n", + "1 1650947495431285770 \n", + "2 1651448872733547971 \n", + "3 1651536833663756158 \n", + "4 1651325727431231924 " + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "aggregated_data" ] @@ -612,7 +2226,7 @@ "id": "2b8ad7cd-a9d1-4496-8b70-5cbe26986e2c", "metadata": {}, "source": [ - "## 6. Next steps and additional resources\n", + "## 7. Next steps and additional resources\n", "You are now done! Congratulations!\n", "Next steps could include joining the above table with other LSST data using the `rubin_id` column, which is either objectId or diaobjectId.\n", "\n", From 0c8a3c871b26e0b8c102ad78ae52272c3b213c38 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Thu, 7 Nov 2024 15:39:20 +0000 Subject: [PATCH 21/23] anonymizing and updating the selection of a workflow ID in 03 --- 03_Aggregate_Classifications.ipynb | 1818 +--------------------------- 1 file changed, 50 insertions(+), 1768 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index c45a380..44f6354 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -9,8 +9,8 @@ "

Retrieve and Aggregate Zooniverse Output

\n", "Authors: Becky Nevin, Clare Higgs, and Eric Rosas
\n", "Contact author: Clare Higgs
\n", - "Last verified to run: 2024-10-07
\n", - "LSST Science Pipelines version: Weekly 2024_37
\n", + "Last verified to run: 2024-11-07
\n", + "LSST Science Pipelines version: Weekly 2024_42
\n", "Container size: small or medium
\n", "Targeted learning level: intermediate" ] @@ -20,10 +20,10 @@ "id": "0f16d57a-9af8-4fc9-bf86-8724024516e6", "metadata": {}, "source": [ - "Description: This notebook guides a PI through the process of retrieving classification data from Zooniverse and builds upon Hayley Robert's Aggregation notebook example.

\n", + "Description: This notebook guides a PI through the process of retrieving and aggregating classification data from Zooniverse.

\n", "Skills: Query for Zooniverse classification data via the panoptes client; retrieve and aggregate user classifications and retrieve original objectIds or diaobjectIds.\n", "

\n", - "LSST Data Products: n/a

\n", + "LSST Data Products: n/a, this notebook demonstrates retrieving classifications from Zooniverse; the notebooks 01 and 02 in the citizen science tutorial series demonstrate working with Rubin data

\n", "Packages: panoptes_client, panoptes_aggregation, rubin.citsci, utils (citsci plotting and display utilities),

\n", "Credit: Hayley Roberts' aggregation code https://github.com/astrohayley/SLSN-Aggregation-Example/blob/main/SLSN_batch_aggregation.py

\n", "Get Support: PIs new to DP0 are encouraged to find documentation and resources at dp0-2.lsst.io. Support for this notebook is available and questions are welcome at cscience@lsst.org." @@ -35,7 +35,7 @@ "metadata": {}, "source": [ "## 1. Introduction \n", - "This notebook provides an introduction to how to use the Zooniverse panoptes client and rubin.citsci package to retrieve classifications from Zooniverse and aggregate the results. Data aggregation in this context is collecting classifications across all citizen scientists and summarizing them by subject in terms of classifier majority." + "This notebook provides an introduction to how to use the Zooniverse panoptes client and rubin.citsci package to retrieve classifications from Zooniverse and aggregate the results. Data aggregation in this context is collecting classifications across all citizen scientists and summarizing them by subject in terms of classifier majority. In other words, if multiple Zooniverse users or the same Zooniverse users classified a single subject, this notebook demonstrates how to combine these classifications to a consensus." ] }, { @@ -78,7 +78,7 @@ "\n", "4. Confirm the next cell containing `from rubin.citsci import pipeline` works as expected and does not throw an error\n", "\n", - "5. Install panoptes_client:\n", + "5. Install `panoptes_client`:\n", "```\n", "pip install panoptes_client\n", "pip install panoptes_aggregation\n", @@ -88,22 +88,14 @@ "```\n", "pip install -U git+git://github.com/zooniverse/aggregation-for-caesar.git\n", "```\n", - "(https://www.zooniverse.org/talk/1322/2415041?comment=3969837&page=1)" + "** Notes about this install: https://www.zooniverse.org/talk/1322/2415041?comment=3969837&page=1" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-25T15:55:32.600599Z", - "iopub.status.busy": "2024-10-25T15:55:32.600314Z", - "iopub.status.idle": "2024-10-25T15:55:37.174377Z", - "shell.execute_reply": "2024-10-25T15:55:37.173731Z", - "shell.execute_reply.started": "2024-10-25T15:55:32.600579Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -119,7 +111,6 @@ "from panoptes_aggregation.reducers import question_consensus_reducer\n", "\n", "from tqdm import tqdm\n", - "\n", "from rubin.citsci import pipeline" ] }, @@ -129,25 +120,18 @@ "metadata": {}, "source": [ "### 1.2 Define functions and parameters \n", - "Credit for these functions goes to Hayley Roberts at Zooniverse. This includes:\n", - "- `download_classifications`: A function to download the classifications given a workflow ID in, which returns a dataframe\n", - "- `extract_data`: A function to extract user annotations by task and sort by when they were classified??? This can be modified for other classification tasks such as drawing, please see the Zooniverse documentation.\n", - "- `aggregate_data`: A function that groups by task and user, selects the most recent classification from each user, and uses the Zooniverse `question_consesus_reducer` function to determine the consensus for each subject ID amongst all users" + "There are four relevant functions for retrieval and aggregation:\n", + "- `generate_classification_export`: Submits a request to Zooniverse via panoptes to generate the classification export given a workflow ID. Wait up to 24 hours after this function is run if generating classifications. This function is not necessary if the export has previously been generated and doesn't require updating.\n", + "- `download_classifications`: Downloads the (previously-generated) classifications given a workflow ID, returning a dataframe.\n", + "- `extract_data`: Extracts user annotations by task and sorts by when they were classified. This can be modified for other classification tasks such as drawing, please see the Zooniverse documentation.\n", + "- `aggregate_data`: Groups classifications by task and user, selects the most recent classification from each user, and uses the Zooniverse `question_consesus_reducer` function to determine the consensus for each subject ID amongst all users." ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-25T15:59:16.153012Z", - "iopub.status.busy": "2024-10-25T15:59:16.152655Z", - "iopub.status.idle": "2024-10-25T15:59:16.166595Z", - "shell.execute_reply": "2024-10-25T15:59:16.165934Z", - "shell.execute_reply.started": "2024-10-25T15:59:16.152985Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def generate_classification_export(WORKFLOW_ID, client):\n", @@ -183,11 +167,9 @@ " classification_data (DataFrame): Raw classifications from Zooniverse\n", " \"\"\"\n", " workflow = Workflow(WORKFLOW_ID)\n", - " #with client:\n", " try:\n", " classification_export = workflow.get_export('classifications',\n", " generate=False)\n", - " \n", " except PanoptesAPIException:\n", " # This error will be thrown if no classifications exist and \n", " # its necessary to first run the generate_classification_export\n", @@ -359,73 +341,12 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "7be9aa4e-4ac6-473c-9660-29afbfa9dc74", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-25T15:57:06.053690Z", - "iopub.status.busy": "2024-10-25T15:57:06.053063Z", - "iopub.status.idle": "2024-10-25T15:57:16.023637Z", - "shell.execute_reply": "2024-10-25T15:57:16.022998Z", - "shell.execute_reply.started": "2024-10-25T15:57:06.053662Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loading and running utilities to establish a link with Zooniverse\n", - "Enter your Zooniverse username followed by password below\n", - "Enter your Zooniverse credentials...\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Username: rebecca.nevin\n", - " ········\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "You now are logged in to the Zooniverse platform.\n", - "\n", - "*==* Your Project Slugs *==*\n", - "\n", - "rebecca-dot-nevin/template-test-copy-2024-07-09-21-49-53\n", - "rebecca-dot-nevin/template-test-copy-2024-07-09-19-02-02\n", - "rebecca-dot-nevin/template-test-copy-2024-07-09-18-53-39\n", - "rebecca-dot-nevin/template-test-copy-2024-07-03-21-54-30\n", - "rebecca-dot-nevin/template-test-copy-2024-07-02-22-11-52\n", - "rebecca-dot-nevin/pcw-2023-awesome-citsci-project\n", - "rebecca-dot-nevin/test-project\n", - "rebecca-dot-nevin/galaxy-rotation-fields\n", - "\n", - "*==========================*\n", - "\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Which project would you like to connect to? (copy & paste the slug name here)? rebecca-dot-nevin/test-project\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Current project set to: rebecca-dot-nevin/test-project\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ - "email = \"beckynevin@gmail.com\"\n", + "email = \"\"\n", "cit_sci_pipeline = pipeline.CitSciPipeline()\n", "client = cit_sci_pipeline.client\n", "cit_sci_pipeline.login_to_zooniverse(email)" @@ -441,37 +362,10 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "8f5808b1-109f-4417-8dd5-003d7d6f83f1", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-25T15:57:19.719520Z", - "iopub.status.busy": "2024-10-25T15:57:19.719242Z", - "iopub.status.idle": "2024-10-25T15:57:22.056010Z", - "shell.execute_reply": "2024-10-25T15:57:22.055054Z", - "shell.execute_reply.started": "2024-10-25T15:57:19.719502Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "*==* Your Workflows *==*\n", - "\n", - "Workflow ID: 27592 - Display Name: Classify with hidden metadata double backslash before objectId\n", - "Workflow ID: 27568 - Display Name: Classify with hidden metadata hashtag before objectId\n", - "Workflow ID: 27550 - Display Name: Classify with hidden metadata backslash\n", - "Workflow ID: 27546 - Display Name: Classify with hidden metadata\n", - "Workflow ID: 27509 - Display Name: Classify with metadata\n", - "Workflow ID: 23254 - Display Name: Classification\n", - "\n", - "*==========================*\n", - "\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "cit_sci_pipeline.list_workflows()" ] @@ -486,20 +380,12 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "505d46f9-c80f-421c-b8d8-92e3093b4d37", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-25T15:57:24.499669Z", - "iopub.status.busy": "2024-10-25T15:57:24.499360Z", - "iopub.status.idle": "2024-10-25T15:57:24.503476Z", - "shell.execute_reply": "2024-10-25T15:57:24.502750Z", - "shell.execute_reply.started": "2024-10-25T15:57:24.499650Z" - } - }, + "metadata": {}, "outputs": [], "source": [ - "WORKFLOW_ID = 27568" + "WORKFLOW_ID = input(\"Please enter the WORKFLOW_ID: \")" ] }, { @@ -525,21 +411,18 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "3258b2cc-fd9d-4c31-ad9b-77b1b361986e", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-25T15:58:13.167797Z", - "iopub.status.busy": "2024-10-25T15:58:13.167470Z", - "iopub.status.idle": "2024-10-25T15:58:13.391626Z", - "shell.execute_reply": "2024-10-25T15:58:13.390897Z", - "shell.execute_reply.started": "2024-10-25T15:58:13.167773Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "if generate:\n", - " generate_classification_export(WORKFLOW_ID, client)" + " print('Generating classification export, wait up to 24 hours to receive an email from Zooniverse that the classification export is ready.')\n", + " print('Once it is ready, run the following cells.')\n", + " generate_classification_export(WORKFLOW_ID, client)\n", + "else:\n", + " print('Not generating new classification export')\n", + " " ] }, { @@ -555,933 +438,20 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "a8e0291a-d5e7-4fca-88d0-6930d32f2d4f", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-25T16:07:56.320160Z", - "iopub.status.busy": "2024-10-25T16:07:56.319835Z", - "iopub.status.idle": "2024-10-25T16:07:56.765519Z", - "shell.execute_reply": "2024-10-25T16:07:56.764892Z", - "shell.execute_reply.started": "2024-10-25T16:07:56.320139Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "36it [00:00, 24159.19it/s]\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "classification_data = download_classifications(WORKFLOW_ID, client)" ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "87efe634-b609-483f-b3d3-49f7623fc565", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-25T16:07:58.587508Z", - "iopub.status.busy": "2024-10-25T16:07:58.587228Z", - "iopub.status.idle": "2024-10-25T16:07:58.605115Z", - "shell.execute_reply": "2024-10-25T16:07:58.604488Z", - "shell.execute_reply.started": "2024-10-25T16:07:58.587489Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
classification_iduser_nameuser_iduser_ipworkflow_idworkflow_nameworkflow_versioncreated_atgold_standardexpertmetadataannotationssubject_datasubject_ids
0591515226rebecca.nevin19465841ce65e550eb889f39bbf27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:25 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
1591515240rebecca.nevin1946584a3e0ff6717a9f6db391827568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:38 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
2591515244rebecca.nevin1946584a3e0ff6717a9f6db391827568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:39 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
3591515247rebecca.nevin1946584a3e0ff6717a9f6db391827568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:42 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
4591515250rebecca.nevin1946584837465c2b7b964631bb327568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:43 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
5591515254rebecca.nevin1946584837465c2b7b964631bb327568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:45 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
6591515256rebecca.nevin1946584837465c2b7b964631bb327568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:47 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
7591515260rebecca.nevin19465844724401c8c8e437221fb27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:49 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
8591515263rebecca.nevin19465844724401c8c8e437221fb27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:51 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
9591515265rebecca.nevin19465844724401c8c8e437221fb27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:52 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
10591515268rebecca.nevin1946584c5ea50edd0dcb229fcc627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:55 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
11591515270rebecca.nevin1946584c5ea50edd0dcb229fcc627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:56 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
12591515272rebecca.nevin1946584289847f12e4188e50e5927568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:58 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
13591515273rebecca.nevin1946584289847f12e4188e50e5927568Classify with hidden metadata hashtag before o...4.82024-10-17 02:43:59 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
14591515275rebecca.nevin1946584289847f12e4188e50e5927568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:01 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
15591515277rebecca.nevin19465841ce65e550eb889f39bbf27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:03 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
16591515280rebecca.nevin19465841ce65e550eb889f39bbf27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:05 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
17591515284rebecca.nevin19465841ce65e550eb889f39bbf27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:07 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
18591515288rebecca.nevin19465844b2fc8e794950a2dfb3b27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:09 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
19591515289rebecca.nevin19465844b2fc8e794950a2dfb3b27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:10 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
20591515292rebecca.nevin19465844b2fc8e794950a2dfb3b27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:12 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
21591515296rebecca.nevin1946584852848332d6de72c5b1627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:13 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
22591515298rebecca.nevin1946584852848332d6de72c5b1627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:15 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
23591515300rebecca.nevin1946584852848332d6de72c5b1627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:17 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
24591515304rebecca.nevin1946584f95ebaf2aa033f8bfc9a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:19 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
25591515306rebecca.nevin1946584f95ebaf2aa033f8bfc9a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:20 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
26591515310rebecca.nevin1946584f95ebaf2aa033f8bfc9a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:22 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
27591515314rebecca.nevin1946584a67c77172ce72add306a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:24 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
28591515316rebecca.nevin1946584a67c77172ce72add306a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:25 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
29591515319rebecca.nevin1946584a67c77172ce72add306a27568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:26 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822135\":{\"retired\":null,\"#objectId\":\"1651...103822135
30591515323rebecca.nevin1946584cce0f5c725b5f956c18627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:28 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
31591515324rebecca.nevin1946584cce0f5c725b5f956c18627568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:29 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822131\":{\"retired\":null,\"#objectId\":\"1567...103822131
32591515333rebecca.nevin1946584fd1331d630806aefe2b227568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:35 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
33591515337rebecca.nevin1946584fd1331d630806aefe2b227568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:36 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822132\":{\"retired\":null,\"#objectId\":\"1650...103822132
34591515342rebecca.nevin19465845f126bd7798d112970d327568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:38 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822134\":{\"retired\":null,\"#objectId\":\"1651...103822134
35591515343rebecca.nevin19465845f126bd7798d112970d327568Classify with hidden metadata hashtag before o...4.82024-10-17 02:44:39 UTC{\"source\":\"api\",\"session\":\"1449ea4e40d434103ea...[{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"...{\"103822133\":{\"retired\":null,\"#objectId\":\"1651...103822133
\n", - "
" - ], - "text/plain": [ - " classification_id user_name user_id user_ip \\\n", - "0 591515226 rebecca.nevin 1946584 1ce65e550eb889f39bbf \n", - "1 591515240 rebecca.nevin 1946584 a3e0ff6717a9f6db3918 \n", - "2 591515244 rebecca.nevin 1946584 a3e0ff6717a9f6db3918 \n", - "3 591515247 rebecca.nevin 1946584 a3e0ff6717a9f6db3918 \n", - "4 591515250 rebecca.nevin 1946584 837465c2b7b964631bb3 \n", - "5 591515254 rebecca.nevin 1946584 837465c2b7b964631bb3 \n", - "6 591515256 rebecca.nevin 1946584 837465c2b7b964631bb3 \n", - "7 591515260 rebecca.nevin 1946584 4724401c8c8e437221fb \n", - "8 591515263 rebecca.nevin 1946584 4724401c8c8e437221fb \n", - "9 591515265 rebecca.nevin 1946584 4724401c8c8e437221fb \n", - "10 591515268 rebecca.nevin 1946584 c5ea50edd0dcb229fcc6 \n", - "11 591515270 rebecca.nevin 1946584 c5ea50edd0dcb229fcc6 \n", - "12 591515272 rebecca.nevin 1946584 289847f12e4188e50e59 \n", - "13 591515273 rebecca.nevin 1946584 289847f12e4188e50e59 \n", - "14 591515275 rebecca.nevin 1946584 289847f12e4188e50e59 \n", - "15 591515277 rebecca.nevin 1946584 1ce65e550eb889f39bbf \n", - "16 591515280 rebecca.nevin 1946584 1ce65e550eb889f39bbf \n", - "17 591515284 rebecca.nevin 1946584 1ce65e550eb889f39bbf \n", - "18 591515288 rebecca.nevin 1946584 4b2fc8e794950a2dfb3b \n", - "19 591515289 rebecca.nevin 1946584 4b2fc8e794950a2dfb3b \n", - "20 591515292 rebecca.nevin 1946584 4b2fc8e794950a2dfb3b \n", - "21 591515296 rebecca.nevin 1946584 852848332d6de72c5b16 \n", - "22 591515298 rebecca.nevin 1946584 852848332d6de72c5b16 \n", - "23 591515300 rebecca.nevin 1946584 852848332d6de72c5b16 \n", - "24 591515304 rebecca.nevin 1946584 f95ebaf2aa033f8bfc9a \n", - "25 591515306 rebecca.nevin 1946584 f95ebaf2aa033f8bfc9a \n", - "26 591515310 rebecca.nevin 1946584 f95ebaf2aa033f8bfc9a \n", - "27 591515314 rebecca.nevin 1946584 a67c77172ce72add306a \n", - "28 591515316 rebecca.nevin 1946584 a67c77172ce72add306a \n", - "29 591515319 rebecca.nevin 1946584 a67c77172ce72add306a \n", - "30 591515323 rebecca.nevin 1946584 cce0f5c725b5f956c186 \n", - "31 591515324 rebecca.nevin 1946584 cce0f5c725b5f956c186 \n", - "32 591515333 rebecca.nevin 1946584 fd1331d630806aefe2b2 \n", - "33 591515337 rebecca.nevin 1946584 fd1331d630806aefe2b2 \n", - "34 591515342 rebecca.nevin 1946584 5f126bd7798d112970d3 \n", - "35 591515343 rebecca.nevin 1946584 5f126bd7798d112970d3 \n", - "\n", - " workflow_id workflow_name \\\n", - "0 27568 Classify with hidden metadata hashtag before o... \n", - "1 27568 Classify with hidden metadata hashtag before o... \n", - "2 27568 Classify with hidden metadata hashtag before o... \n", - "3 27568 Classify with hidden metadata hashtag before o... \n", - "4 27568 Classify with hidden metadata hashtag before o... \n", - "5 27568 Classify with hidden metadata hashtag before o... \n", - "6 27568 Classify with hidden metadata hashtag before o... \n", - "7 27568 Classify with hidden metadata hashtag before o... \n", - "8 27568 Classify with hidden metadata hashtag before o... \n", - "9 27568 Classify with hidden metadata hashtag before o... \n", - "10 27568 Classify with hidden metadata hashtag before o... \n", - "11 27568 Classify with hidden metadata hashtag before o... \n", - "12 27568 Classify with hidden metadata hashtag before o... \n", - "13 27568 Classify with hidden metadata hashtag before o... \n", - "14 27568 Classify with hidden metadata hashtag before o... \n", - "15 27568 Classify with hidden metadata hashtag before o... \n", - "16 27568 Classify with hidden metadata hashtag before o... \n", - "17 27568 Classify with hidden metadata hashtag before o... \n", - "18 27568 Classify with hidden metadata hashtag before o... \n", - "19 27568 Classify with hidden metadata hashtag before o... \n", - "20 27568 Classify with hidden metadata hashtag before o... \n", - "21 27568 Classify with hidden metadata hashtag before o... \n", - "22 27568 Classify with hidden metadata hashtag before o... \n", - "23 27568 Classify with hidden metadata hashtag before o... \n", - "24 27568 Classify with hidden metadata hashtag before o... \n", - "25 27568 Classify with hidden metadata hashtag before o... \n", - "26 27568 Classify with hidden metadata hashtag before o... \n", - "27 27568 Classify with hidden metadata hashtag before o... \n", - "28 27568 Classify with hidden metadata hashtag before o... \n", - "29 27568 Classify with hidden metadata hashtag before o... \n", - "30 27568 Classify with hidden metadata hashtag before o... \n", - "31 27568 Classify with hidden metadata hashtag before o... \n", - "32 27568 Classify with hidden metadata hashtag before o... \n", - "33 27568 Classify with hidden metadata hashtag before o... \n", - "34 27568 Classify with hidden metadata hashtag before o... \n", - "35 27568 Classify with hidden metadata hashtag before o... \n", - "\n", - " workflow_version created_at gold_standard expert \\\n", - "0 4.8 2024-10-17 02:43:25 UTC \n", - "1 4.8 2024-10-17 02:43:38 UTC \n", - "2 4.8 2024-10-17 02:43:39 UTC \n", - "3 4.8 2024-10-17 02:43:42 UTC \n", - "4 4.8 2024-10-17 02:43:43 UTC \n", - "5 4.8 2024-10-17 02:43:45 UTC \n", - "6 4.8 2024-10-17 02:43:47 UTC \n", - "7 4.8 2024-10-17 02:43:49 UTC \n", - "8 4.8 2024-10-17 02:43:51 UTC \n", - "9 4.8 2024-10-17 02:43:52 UTC \n", - "10 4.8 2024-10-17 02:43:55 UTC \n", - "11 4.8 2024-10-17 02:43:56 UTC \n", - "12 4.8 2024-10-17 02:43:58 UTC \n", - "13 4.8 2024-10-17 02:43:59 UTC \n", - "14 4.8 2024-10-17 02:44:01 UTC \n", - "15 4.8 2024-10-17 02:44:03 UTC \n", - "16 4.8 2024-10-17 02:44:05 UTC \n", - "17 4.8 2024-10-17 02:44:07 UTC \n", - "18 4.8 2024-10-17 02:44:09 UTC \n", - "19 4.8 2024-10-17 02:44:10 UTC \n", - "20 4.8 2024-10-17 02:44:12 UTC \n", - "21 4.8 2024-10-17 02:44:13 UTC \n", - "22 4.8 2024-10-17 02:44:15 UTC \n", - "23 4.8 2024-10-17 02:44:17 UTC \n", - "24 4.8 2024-10-17 02:44:19 UTC \n", - "25 4.8 2024-10-17 02:44:20 UTC \n", - "26 4.8 2024-10-17 02:44:22 UTC \n", - "27 4.8 2024-10-17 02:44:24 UTC \n", - "28 4.8 2024-10-17 02:44:25 UTC \n", - "29 4.8 2024-10-17 02:44:26 UTC \n", - "30 4.8 2024-10-17 02:44:28 UTC \n", - "31 4.8 2024-10-17 02:44:29 UTC \n", - "32 4.8 2024-10-17 02:44:35 UTC \n", - "33 4.8 2024-10-17 02:44:36 UTC \n", - "34 4.8 2024-10-17 02:44:38 UTC \n", - "35 4.8 2024-10-17 02:44:39 UTC \n", - "\n", - " metadata \\\n", - "0 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "1 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "2 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "3 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "4 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "5 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "6 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "7 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "8 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "9 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "10 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "11 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "12 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "13 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "14 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "15 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "16 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "17 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "18 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "19 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "20 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "21 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "22 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "23 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "24 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "25 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "26 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "27 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "28 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "29 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "30 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "31 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "32 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "33 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "34 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "35 {\"source\":\"api\",\"session\":\"1449ea4e40d434103ea... \n", - "\n", - " annotations \\\n", - "0 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "1 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "2 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "3 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "4 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "5 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "6 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "7 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "8 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "9 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "10 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "11 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "12 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "13 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "14 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "15 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "16 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "17 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "18 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "19 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "20 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "21 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "22 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "23 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "24 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "25 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "26 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "27 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "28 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "29 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "30 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "31 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "32 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "33 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "34 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "35 [{\"task\":\"T0\",\"task_label\":\"Is this a galaxy?\"... \n", - "\n", - " subject_data subject_ids \n", - "0 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", - "1 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", - "2 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", - "3 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", - "4 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", - "5 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", - "6 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", - "7 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", - "8 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", - "9 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", - "10 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", - "11 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", - "12 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", - "13 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", - "14 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", - "15 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", - "16 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", - "17 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", - "18 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", - "19 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", - "20 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", - "21 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", - "22 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", - "23 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", - "24 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", - "25 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", - "26 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", - "27 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", - "28 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", - "29 {\"103822135\":{\"retired\":null,\"#objectId\":\"1651... 103822135 \n", - "30 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 \n", - "31 {\"103822131\":{\"retired\":null,\"#objectId\":\"1567... 103822131 \n", - "32 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", - "33 {\"103822132\":{\"retired\":null,\"#objectId\":\"1650... 103822132 \n", - "34 {\"103822134\":{\"retired\":null,\"#objectId\":\"1651... 103822134 \n", - "35 {\"103822133\":{\"retired\":null,\"#objectId\":\"1651... 103822133 " - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "classification_data" ] @@ -1499,572 +469,12 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "f0e8cd49-3975-4dec-accd-ef853385bc1b", "metadata": { - "execution": { - "iopub.execute_input": "2024-10-25T16:13:11.895798Z", - "iopub.status.busy": "2024-10-25T16:13:11.895518Z", - "iopub.status.idle": "2024-10-25T16:13:11.928702Z", - "shell.execute_reply": "2024-10-25T16:13:11.927777Z", - "shell.execute_reply.started": "2024-10-25T16:13:11.895779Z" - }, "scrolled": true }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
classification_idsubject_iduser_nameuser_idcreated_atrubin_iddatatask
1591515240103822131rebecca.nevin19465842024-10-17 02:43:38 UTC1567965153859768169{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
6591515256103822131rebecca.nevin19465842024-10-17 02:43:47 UTC1567965153859768169{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
13591515273103822131rebecca.nevin19465842024-10-17 02:43:59 UTC1567965153859768169{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
20591515292103822131rebecca.nevin19465842024-10-17 02:44:12 UTC1567965153859768169{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
25591515306103822131rebecca.nevin19465842024-10-17 02:44:20 UTC1567965153859768169{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
31591515324103822131rebecca.nevin19465842024-10-17 02:44:29 UTC1567965153859768169{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
3591515247103822132rebecca.nevin19465842024-10-17 02:43:42 UTC1650947495431285770{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
9591515265103822132rebecca.nevin19465842024-10-17 02:43:52 UTC1650947495431285770{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
16591515280103822132rebecca.nevin19465842024-10-17 02:44:05 UTC1650947495431285770{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
18591515288103822132rebecca.nevin19465842024-10-17 02:44:09 UTC1650947495431285770{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
24591515304103822132rebecca.nevin19465842024-10-17 02:44:19 UTC1650947495431285770{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
26591515310103822132rebecca.nevin19465842024-10-17 02:44:22 UTC1650947495431285770{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
33591515337103822132rebecca.nevin19465842024-10-17 02:44:36 UTC1650947495431285770{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
4591515250103822133rebecca.nevin19465842024-10-17 02:43:43 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
5591515254103822133rebecca.nevin19465842024-10-17 02:43:45 UTC1651448872733547971{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
11591515270103822133rebecca.nevin19465842024-10-17 02:43:56 UTC1651448872733547971{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
17591515284103822133rebecca.nevin19465842024-10-17 02:44:07 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
22591515298103822133rebecca.nevin19465842024-10-17 02:44:15 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
28591515316103822133rebecca.nevin19465842024-10-17 02:44:25 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
30591515323103822133rebecca.nevin19465842024-10-17 02:44:28 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
35591515343103822133rebecca.nevin19465842024-10-17 02:44:39 UTC1651448872733547971{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
2591515244103822134rebecca.nevin19465842024-10-17 02:43:39 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
8591515263103822134rebecca.nevin19465842024-10-17 02:43:51 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
12591515272103822134rebecca.nevin19465842024-10-17 02:43:58 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
15591515277103822134rebecca.nevin19465842024-10-17 02:44:03 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
21591515296103822134rebecca.nevin19465842024-10-17 02:44:13 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
27591515314103822134rebecca.nevin19465842024-10-17 02:44:24 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
32591515333103822134rebecca.nevin19465842024-10-17 02:44:35 UTC1651536833663756158{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
34591515342103822134rebecca.nevin19465842024-10-17 02:44:38 UTC1651536833663756158{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
0591515226103822135rebecca.nevin19465842024-10-17 02:43:25 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
7591515260103822135rebecca.nevin19465842024-10-17 02:43:49 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
10591515268103822135rebecca.nevin19465842024-10-17 02:43:55 UTC1651325727431231924{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
14591515275103822135rebecca.nevin19465842024-10-17 02:44:01 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
19591515289103822135rebecca.nevin19465842024-10-17 02:44:10 UTC1651325727431231924{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
23591515300103822135rebecca.nevin19465842024-10-17 02:44:17 UTC1651325727431231924{\"yes\": 1, \"aggregation_version\": \"4.1.0\"}T0
29591515319103822135rebecca.nevin19465842024-10-17 02:44:26 UTC1651325727431231924{\"no\": 1, \"aggregation_version\": \"4.1.0\"}T0
\n", - "
" - ], - "text/plain": [ - " classification_id subject_id user_name user_id \\\n", - "1 591515240 103822131 rebecca.nevin 1946584 \n", - "6 591515256 103822131 rebecca.nevin 1946584 \n", - "13 591515273 103822131 rebecca.nevin 1946584 \n", - "20 591515292 103822131 rebecca.nevin 1946584 \n", - "25 591515306 103822131 rebecca.nevin 1946584 \n", - "31 591515324 103822131 rebecca.nevin 1946584 \n", - "3 591515247 103822132 rebecca.nevin 1946584 \n", - "9 591515265 103822132 rebecca.nevin 1946584 \n", - "16 591515280 103822132 rebecca.nevin 1946584 \n", - "18 591515288 103822132 rebecca.nevin 1946584 \n", - "24 591515304 103822132 rebecca.nevin 1946584 \n", - "26 591515310 103822132 rebecca.nevin 1946584 \n", - "33 591515337 103822132 rebecca.nevin 1946584 \n", - "4 591515250 103822133 rebecca.nevin 1946584 \n", - "5 591515254 103822133 rebecca.nevin 1946584 \n", - "11 591515270 103822133 rebecca.nevin 1946584 \n", - "17 591515284 103822133 rebecca.nevin 1946584 \n", - "22 591515298 103822133 rebecca.nevin 1946584 \n", - "28 591515316 103822133 rebecca.nevin 1946584 \n", - "30 591515323 103822133 rebecca.nevin 1946584 \n", - "35 591515343 103822133 rebecca.nevin 1946584 \n", - "2 591515244 103822134 rebecca.nevin 1946584 \n", - "8 591515263 103822134 rebecca.nevin 1946584 \n", - "12 591515272 103822134 rebecca.nevin 1946584 \n", - "15 591515277 103822134 rebecca.nevin 1946584 \n", - "21 591515296 103822134 rebecca.nevin 1946584 \n", - "27 591515314 103822134 rebecca.nevin 1946584 \n", - "32 591515333 103822134 rebecca.nevin 1946584 \n", - "34 591515342 103822134 rebecca.nevin 1946584 \n", - "0 591515226 103822135 rebecca.nevin 1946584 \n", - "7 591515260 103822135 rebecca.nevin 1946584 \n", - "10 591515268 103822135 rebecca.nevin 1946584 \n", - "14 591515275 103822135 rebecca.nevin 1946584 \n", - "19 591515289 103822135 rebecca.nevin 1946584 \n", - "23 591515300 103822135 rebecca.nevin 1946584 \n", - "29 591515319 103822135 rebecca.nevin 1946584 \n", - "\n", - " created_at rubin_id \\\n", - "1 2024-10-17 02:43:38 UTC 1567965153859768169 \n", - "6 2024-10-17 02:43:47 UTC 1567965153859768169 \n", - "13 2024-10-17 02:43:59 UTC 1567965153859768169 \n", - "20 2024-10-17 02:44:12 UTC 1567965153859768169 \n", - "25 2024-10-17 02:44:20 UTC 1567965153859768169 \n", - "31 2024-10-17 02:44:29 UTC 1567965153859768169 \n", - "3 2024-10-17 02:43:42 UTC 1650947495431285770 \n", - "9 2024-10-17 02:43:52 UTC 1650947495431285770 \n", - "16 2024-10-17 02:44:05 UTC 1650947495431285770 \n", - "18 2024-10-17 02:44:09 UTC 1650947495431285770 \n", - "24 2024-10-17 02:44:19 UTC 1650947495431285770 \n", - "26 2024-10-17 02:44:22 UTC 1650947495431285770 \n", - "33 2024-10-17 02:44:36 UTC 1650947495431285770 \n", - "4 2024-10-17 02:43:43 UTC 1651448872733547971 \n", - "5 2024-10-17 02:43:45 UTC 1651448872733547971 \n", - "11 2024-10-17 02:43:56 UTC 1651448872733547971 \n", - "17 2024-10-17 02:44:07 UTC 1651448872733547971 \n", - "22 2024-10-17 02:44:15 UTC 1651448872733547971 \n", - "28 2024-10-17 02:44:25 UTC 1651448872733547971 \n", - "30 2024-10-17 02:44:28 UTC 1651448872733547971 \n", - "35 2024-10-17 02:44:39 UTC 1651448872733547971 \n", - "2 2024-10-17 02:43:39 UTC 1651536833663756158 \n", - "8 2024-10-17 02:43:51 UTC 1651536833663756158 \n", - "12 2024-10-17 02:43:58 UTC 1651536833663756158 \n", - "15 2024-10-17 02:44:03 UTC 1651536833663756158 \n", - "21 2024-10-17 02:44:13 UTC 1651536833663756158 \n", - "27 2024-10-17 02:44:24 UTC 1651536833663756158 \n", - "32 2024-10-17 02:44:35 UTC 1651536833663756158 \n", - "34 2024-10-17 02:44:38 UTC 1651536833663756158 \n", - "0 2024-10-17 02:43:25 UTC 1651325727431231924 \n", - "7 2024-10-17 02:43:49 UTC 1651325727431231924 \n", - "10 2024-10-17 02:43:55 UTC 1651325727431231924 \n", - "14 2024-10-17 02:44:01 UTC 1651325727431231924 \n", - "19 2024-10-17 02:44:10 UTC 1651325727431231924 \n", - "23 2024-10-17 02:44:17 UTC 1651325727431231924 \n", - "29 2024-10-17 02:44:26 UTC 1651325727431231924 \n", - "\n", - " data task \n", - "1 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "6 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "13 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "20 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "25 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "31 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "3 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "9 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "16 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "18 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "24 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "26 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "33 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "4 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "5 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "11 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "17 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "22 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "28 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "30 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "35 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "2 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "8 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "12 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "15 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "21 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "27 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "32 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "34 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "0 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "7 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "10 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "14 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "19 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "23 {\"yes\": 1, \"aggregation_version\": \"4.1.0\"} T0 \n", - "29 {\"no\": 1, \"aggregation_version\": \"4.1.0\"} T0 " - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "extracted_data = extract_data(classification_data, id_type='#objectId')\n", "extracted_data" @@ -2081,17 +491,9 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "cd918a8f-434a-4109-a89a-5f635f71b70a", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-25T16:15:42.744753Z", - "iopub.status.busy": "2024-10-25T16:15:42.744368Z", - "iopub.status.idle": "2024-10-25T16:15:42.778477Z", - "shell.execute_reply": "2024-10-25T16:15:42.777651Z", - "shell.execute_reply.started": "2024-10-25T16:15:42.744728Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "aggregated_data = aggregate_data(extracted_data)" @@ -2099,124 +501,10 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "fab35094-bae0-4883-91ed-6d0215a17135", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-25T16:15:43.640539Z", - "iopub.status.busy": "2024-10-25T16:15:43.639764Z", - "iopub.status.idle": "2024-10-25T16:15:43.650917Z", - "shell.execute_reply": "2024-10-25T16:15:43.650256Z", - "shell.execute_reply.started": "2024-10-25T16:15:43.640509Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
most_likelynum_votesagreementaggregation_versionsubject_idtaskrubin_id
0no11.04.1.0103822131T01567965153859768169
1no11.04.1.0103822132T01650947495431285770
2no11.04.1.0103822133T01651448872733547971
3no11.04.1.0103822134T01651536833663756158
4no11.04.1.0103822135T01651325727431231924
\n", - "
" - ], - "text/plain": [ - " most_likely num_votes agreement aggregation_version subject_id task \\\n", - "0 no 1 1.0 4.1.0 103822131 T0 \n", - "1 no 1 1.0 4.1.0 103822132 T0 \n", - "2 no 1 1.0 4.1.0 103822133 T0 \n", - "3 no 1 1.0 4.1.0 103822134 T0 \n", - "4 no 1 1.0 4.1.0 103822135 T0 \n", - "\n", - " rubin_id \n", - "0 1567965153859768169 \n", - "1 1650947495431285770 \n", - "2 1651448872733547971 \n", - "3 1651536833663756158 \n", - "4 1651325727431231924 " - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "aggregated_data" ] @@ -2230,15 +518,9 @@ "You are now done! Congratulations!\n", "Next steps could include joining the above table with other LSST data using the `rubin_id` column, which is either objectId or diaobjectId.\n", "\n", - "Additional resources include the Zooniverse team's resources to run panoptes through python (https://github.com/zooniverse/panoptes-python-client/tree/master), which provides high level access to the Zooniverse API in order to manage projects via python." - ] - }, - { - "cell_type": "markdown", - "id": "a9ee8393-2e9c-4d75-99ab-d4c83ad03f16", - "metadata": {}, - "source": [ - "For examples of how to work with the data exports, see our Data Digging code repository or use our Panoptes Aggregation python package.\n", + "Additional resources include the Zooniverse team's resources to run panoptes through python (https://github.com/zooniverse/panoptes-python-client/tree/master), which provides high level access to the Zooniverse API in order to manage projects via python.\n", + "\n", + "For examples of how to work with the data exports, see the Data Digging code repository or use the Panoptes Aggregation python package.\n", "https://github.com/zooniverse/Data-digging, https://github.com/zooniverse/aggregation-for-caesar" ] }, From cf0289dd58ae4bc132148a3167e72568f40caf47 Mon Sep 17 00:00:00 2001 From: beckynevin Date: Thu, 7 Nov 2024 15:43:17 +0000 Subject: [PATCH 22/23] adding anonymizing # to utils --- utils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utils.py b/utils.py index d48ee32..6d6fe0e 100644 --- a/utils.py +++ b/utils.py @@ -321,7 +321,7 @@ def make_manifest_with_calexp_images( ) # and of the diaObjectId figout_data["diaObjectId:image_" + str(i)] = str(star_id) - figout_data[f"metadata:diaObjectId_image_{str(i)}"] = str(star_id) + figout_data[f"metadata:#diaObjectId_image_{str(i)}"] = str(star_id) figout_data["filename"] = str(star_id) + "_" + str(star_ccdid) + ".png" cutouts.append(figout_data) @@ -361,12 +361,12 @@ def make_manifest_with_deepcoadd_images(results_table, butler, batch_dir): if hasattr(row, "objectId"): has_canonical_id = True csv_row["objectId"] = row.objectId - csv_row["metadata:objectId"] = row.objectId + csv_row["metadata:#objectId"] = row.objectId csv_row["objectIdType"] = "DIRECT" if hasattr(row, "diaObjectId"): has_canonical_id = True csv_row["diaObjectId"] = row.diaObjectId - csv_row["metadata:diaObjectId"] = row.diaObjectId + csv_row["metadata:#diaObjectId"] = row.diaObjectId if "objectIdType" not in csv_row: csv_row["objectIdType"] = "INDIRECT" From 681c69887eed410193134ecfd33fd2c43536320b Mon Sep 17 00:00:00 2001 From: beckynevin Date: Thu, 7 Nov 2024 16:28:46 +0000 Subject: [PATCH 23/23] doing some flake8-nb corrections --- 03_Aggregate_Classifications.ipynb | 177 +++++++++++++++-------------- 1 file changed, 92 insertions(+), 85 deletions(-) diff --git a/03_Aggregate_Classifications.ipynb b/03_Aggregate_Classifications.ipynb index 44f6354..d1ba4d6 100644 --- a/03_Aggregate_Classifications.ipynb +++ b/03_Aggregate_Classifications.ipynb @@ -93,24 +93,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "7d65d903-8012-43e3-ab19-d94b3f422e83", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-07T15:59:37.235769Z", + "iopub.status.busy": "2024-11-07T15:59:37.235041Z", + "iopub.status.idle": "2024-11-07T15:59:38.977620Z", + "shell.execute_reply": "2024-11-07T15:59:38.977030Z", + "shell.execute_reply.started": "2024-11-07T15:59:37.235741Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", - "import getpass\n", "import json\n", - "import os\n", - "\n", + "import sys\n", + "from tqdm import tqdm\n", "# Zooniverse tools\n", - "from panoptes_client import Panoptes, Workflow\n", + "from panoptes_client import Workflow, panoptes\n", "from panoptes_aggregation.extractors.utilities import annotation_by_task\n", "from panoptes_aggregation.extractors import question_extractor\n", "from panoptes_aggregation.reducers import question_consensus_reducer\n", - "\n", - "from tqdm import tqdm\n", + "# rubin citizen science tools\n", "from rubin.citsci import pipeline" ] }, @@ -129,16 +135,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "7d951495-9ed7-44ed-bffe-04504679e8bb", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-07T16:11:11.898187Z", + "iopub.status.busy": "2024-11-07T16:11:11.897331Z", + "iopub.status.idle": "2024-11-07T16:11:11.908930Z", + "shell.execute_reply": "2024-11-07T16:11:11.908262Z", + "shell.execute_reply.started": "2024-11-07T16:11:11.898155Z" + } + }, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "unterminated string literal (detected at line 85) (2935190750.py, line 85)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m Cell \u001b[0;32mIn[3], line 85\u001b[0;36m\u001b[0m\n\u001b[0;31m print(f\"Key '{subject_id_str}' not found in\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m unterminated string literal (detected at line 85)\n" + ] + } + ], "source": [ - "def generate_classification_export(WORKFLOW_ID, client):\n", + "def generate_classification_export(workflow_id, client):\n", " \"\"\"\n", " Submits a request to Zooniverse to generate the export\n", " classification report.\n", - " \n", + "\n", " Description:\n", " This function should be run only if the classification\n", " export has never been generated before or if the\n", @@ -147,56 +170,45 @@ " have never been downloaded before.\n", "\n", " Args:\n", - " WORKFLOW_ID (int): Workflow ID of workflow being aggregated\n", + " workflow_id (int): Workflow ID of workflow being aggregated\n", " client: Logged in Zooniverse client\n", " \"\"\"\n", - " workflow = Workflow(WORKFLOW_ID)\n", - " #with client:\n", + " workflow = Workflow(workflow_id)\n", " workflow.generate_export('classifications')\n", - " \n", "\n", - "def download_classifications(WORKFLOW_ID, client):\n", + "\n", + "def download_classifications(workflow_id, client):\n", " \"\"\"\n", " Downloads data from Zooniverse\n", "\n", " Args:\n", - " WORKFLOW_ID (int): Workflow ID of workflow being aggregated\n", + " workflow_id (int): Workflow ID of workflow being aggregated\n", " client: Logged in Zooniverse client\n", "\n", " Returns:\n", " classification_data (DataFrame): Raw classifications from Zooniverse\n", " \"\"\"\n", - " workflow = Workflow(WORKFLOW_ID)\n", + " workflow = Workflow(workflow_id)\n", " try:\n", - " classification_export = workflow.get_export('classifications',\n", - " generate=False)\n", - " except PanoptesAPIException:\n", - " # This error will be thrown if no classifications exist and \n", + " classification_export = workflow.get_export(\n", + " 'classifications', generate=False)\n", + " except panoptes.PanoptesAPIException:\n", + " # This error will be thrown if no classifications exist and\n", " # its necessary to first run the generate_classification_export\n", " # function and then rerun this function\n", - " print('The classification export is not ready, please ensure \\\n", - " that you have already run the `generate_classification_export` \\\n", - " function and that you have received an email from Zooniverse \\\n", - " that the classification export is ready.')\n", - " \n", + " print(\"The classification export is not ready, please ensure \"\n", + " \"that you have already run the `generate_classification_export` \"\n", + " \"function and that you have received an email from Zooniverse \"\n", + " \"that the classification export is ready.\")\n", " # since it's a partial class, call it to get the DictReader object\n", " csv_dictreader_instance = classification_export.csv_dictreader()\n", - " try:\n", - " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", - " except:\n", - " # this will happen if there's an error in the download\n", - " classification_export = workflow.get_export('classifications',\n", - " generate=True,\n", - " wait=False)\n", - " csv_dictreader_instance = classification_export.csv_dictreader()\n", - " classification_rows = [row for row in tqdm(csv_dictreader_instance, file=sys.stdout)]\n", - " \n", + " classification_rows = [row for row in\n", + " tqdm(csv_dictreader_instance, file=sys.stdout)]\n", " # convert to pandas dataframe\n", " classification_data = pd.DataFrame.from_dict(classification_rows)\n", " return classification_data\n", "\n", "\n", - "\n", "def extract_data(classification_data, id_type='#objectId'):\n", " \"\"\"\n", " Extracts annotations from the classification data\n", @@ -208,7 +220,8 @@ " from the user in the information window on Zooniverse.\n", "\n", " Returns:\n", - " extracted_data (DataFrame): Extracted annotations from raw classification data\n", + " extracted_data (DataFrame): Extracted annotations from raw\n", + " classification data\n", " \"\"\"\n", " # set up our list where we will store the extracted data temporarily\n", " extracted_rows = []\n", @@ -221,11 +234,19 @@ " extract = question_extractor(row_annotation)\n", " subject_id_str = str(row.subject_ids)\n", " # Check if the subject ID exists and is a dictionary\n", - " if subject_id_str in row.subject_data and isinstance(json.loads(row.subject_data)[subject_id_str], dict):\n", - " rubin_id = json.loads(row.subject_data)[subject_id_str][id_type]\n", + " subject_data = json.loads(row.subject_data)\n", + " if (\n", + " subject_id_str in subject_data\n", + " and isinstance(\n", + " subject_data[subject_id_str], dict)\n", + " ):\n", + " rubin_id = subject_data[subject_id_str][id_type]\n", + "\n", " else:\n", - " print(f\"Key '{subject_id_str}' not found in subject_data or it is not a dictionary.\")\n", - " # add the extracted annotations to our temporary list along with some other additional data\n", + " print(f\"Key '{subject_id_str}' not found in \"\n", + " f\"subject_data or it is not a dictionary.\")\n", + " # add the extracted annotations to our temporary list\n", + " # along with some other additional data\n", " extracted_rows.append({\n", " 'classification_id': row.classification_id,\n", " 'subject_id': row.subject_ids,\n", @@ -241,6 +262,7 @@ " extracted_data.sort_values(['subject_id', 'created_at'], inplace=True)\n", " return extracted_data\n", "\n", + "\n", "def last_filter(data):\n", " \"\"\"\n", " Determines the most recently submitted classifications\n", @@ -249,76 +271,60 @@ " ldx = data.created_at == last_time\n", " return data[ldx]\n", "\n", + "\n", "def aggregate_data(extracted_data):\n", " \"\"\"\n", " Aggregates question data from extracted annotations\n", "\n", " Args:\n", - " extracted_data (DataFrame): Extracted annotations from raw classifications\n", + " extracted_data (DataFrame): Extracted annotations from raw\n", + " classifications\n", "\n", " Returns:\n", " aggregated_data (DataFrame): Aggregated data for the given workflow\n", " \"\"\"\n", - " # generate an array of unique subject ids - these are the ones that we will iterate over\n", + " # generate an array of unique subject ids -\n", + " # these are the ones that we will iterate over\n", " subject_ids_unique = np.unique(extracted_data.subject_id)\n", - "\n", " # Create a dictionary to map subject IDs to their corresponding metadata\n", " rubin_ids_unique = extracted_data.groupby('subject_id')['rubin_id'].unique()\n", - "\n", - " '''\n", - " print('len subject-ids-unique', len(subject_ids_unique))\n", - " print('metadata saved', len(rubin_id))\n", - " print(rubin_id)\n", - " STOP\n", - " '''\n", - " \n", - "\n", " # set up a temporary list to store reduced data\n", " aggregated_rows = []\n", - "\n", " # determine the total number of tasks\n", " tasks = np.unique(extracted_data.task)\n", - "\n", " # iterating over each unique subject id\n", " for i in range(len(subject_ids_unique)):\n", - "\n", " # determine the subject_id to work on\n", " subject_id = subject_ids_unique[i]\n", " rubin_id = rubin_ids_unique.iloc[i][0]\n", - "\n", " # filter the extract_data dataframe for only the subject_id that is being worked on\n", - " extract_data_subject = extracted_data[extracted_data.subject_id==subject_id].drop_duplicates()\n", - "\n", + " extract_data_subject = \\\n", + " extracted_data[extracted_data.subject_id==subject_id].drop_duplicates()\n", " for task in tasks:\n", - "\n", - " extract_data_filtered = extract_data_subject[extract_data_subject.task == task]\n", - "\n", - " # if there are less unique user submissions than classifications, filter for the most recently updated classification\n", + " extract_data_filtered = extract_data_subject[\n", + " extract_data_subject.task == task]\n", + " # if there are less unique user submissions than classifications,\n", + " # filter for the most recently updated classification\n", " if (len(extract_data_filtered.user_name.unique()) < len(extract_data_filtered)):\n", - " extract_data_filtered = extract_data_filtered.groupby(['user_name'], group_keys=False).apply(last_filter)\n", - "\n", + " extract_data_filtered = \\\n", + " extract_data_filtered.groupby(\n", + " ['user_name'], group_keys=False).apply(last_filter)\n", " # iterate through the filtered extract data to prepare for the reducer\n", - " classifications_to_reduce = [json.loads(extract_data_filtered.iloc[j].data) for j in range(len(extract_data_filtered))]\n", - "\n", + " classifications_to_reduce = \\\n", + " [json.loads(extract_data_filtered.iloc[j].data)\n", + " for j in range(len(extract_data_filtered))]\n", " # use the Zooniverse question_consesus_reducer to get the final consensus\n", - " # WHAT ARE THE ARGUMENTS THAT ARE OPTIONAL HERE?\n", " reduction = question_consensus_reducer(classifications_to_reduce)\n", - "\n", " # add the subject id to our reduction data\n", " reduction['subject_id'] = subject_id\n", " reduction['task'] = task\n", " reduction['rubin_id'] = rubin_id\n", - "\n", " # add the data to our temporary list\n", " aggregated_rows.append(reduction)\n", - "\n", - "\n", " # converting the result to a dataframe\n", " aggregated_data = pd.DataFrame.from_dict(aggregated_rows)\n", - "\n", " # drop rows that are nan\n", " aggregated_data.dropna(inplace=True)\n", - "\n", " return aggregated_data" ] }, @@ -385,7 +391,7 @@ "metadata": {}, "outputs": [], "source": [ - "WORKFLOW_ID = input(\"Please enter the WORKFLOW_ID: \")" + "workflow_id = input(\"Please enter the workflow_id: \")" ] }, { @@ -417,12 +423,13 @@ "outputs": [], "source": [ "if generate:\n", - " print('Generating classification export, wait up to 24 hours to receive an email from Zooniverse that the classification export is ready.')\n", - " print('Once it is ready, run the following cells.')\n", - " generate_classification_export(WORKFLOW_ID, client)\n", + " print(\"Generating classification export, wait up to 24 hours \"\n", + " \"to receive an email from Zooniverse that the \"\n", + " \"classification export is ready.\")\n", + " print(\"Once it is ready, run the following cells.\")\n", + " generate_classification_export(workflow_id, client)\n", "else:\n", - " print('Not generating new classification export')\n", - " " + " print(\"Not generating new classification export.\")" ] }, { @@ -443,7 +450,7 @@ "metadata": {}, "outputs": [], "source": [ - "classification_data = download_classifications(WORKFLOW_ID, client)" + "classification_data = download_classifications(workflow_id, client)" ] }, {