diff --git a/datamint/dataset/base_dataset.py b/datamint/dataset/base_dataset.py
index 9e998c12..f9a70b11 100644
--- a/datamint/dataset/base_dataset.py
+++ b/datamint/dataset/base_dataset.py
@@ -225,26 +225,34 @@ def _handle_dataset_download_or_update(self, local_load_success: bool) -> None:
else:
self._check_version()
+ def _init_metainfo(self) -> None:
+ # get the server info
+ self.project_info = self.get_info()
+ self.metainfo = self._get_datasetinfo().asdict().copy()
+ self.metainfo['updated_at'] = None
+ self.metainfo['resources'] = []
+ self.metainfo['all_annotations'] = self.all_annotations
+ self.images_metainfo = self.metainfo['resources']
+
def _load_metadata(self) -> bool:
"""Load and process dataset metadata."""
if hasattr(self, 'metainfo'):
_LOGGER.warning("Metadata already loaded.")
metadata_path = os.path.join(self.dataset_dir, 'dataset.json')
if not os.path.isfile(metadata_path):
- # get the server info
- self.project_info = self.get_info()
- self.metainfo = self._get_datasetinfo().asdict().copy()
- self.metainfo['updated_at'] = None
- self.metainfo['resources'] = []
- self.metainfo['all_annotations'] = self.all_annotations
- self.images_metainfo = self.metainfo['resources']
+ self._init_metainfo()
return False
else:
with open(metadata_path, 'r') as file:
self.metainfo = json.load(file)
self.images_metainfo = self.metainfo['resources']
# Convert annotations from dict to Annotation objects
- self._convert_metainfo_to_clsobj()
+ try:
+ self._convert_metainfo_to_clsobj()
+ except Exception as e:
+ _LOGGER.warning(f"Failed to convert annotations. Redownloading dataset. {type(e)}")
+ self._init_metainfo()
+ return False
return True
def _convert_metainfo_to_clsobj(self):
@@ -552,13 +560,12 @@ def get_info(self) -> dict:
"""Get project information from API."""
if hasattr(self, 'project_info') and self.project_info is not None:
return self.project_info
- project = self.api.projects.get_by_name(self.project_name).asdict()
- if 'error' in project:
- available_projects = project['all_projects']
+ project = self.api.projects.get_by_name(self.project_name)
+ if project is None:
raise DatamintDatasetException(
- f"Project with name '{self.project_name}' not found. "
- f"Available projects: {available_projects}"
+ f"Project with name '{self.project_name}' not found."
)
+ project = project.asdict()
self.project_info = project
self.dataset_id = project['dataset_id']
return project
@@ -898,8 +905,8 @@ def _incremental_update(self) -> None:
################
### ANNOTATIONS ###
- all_annotations = self.api.annotations.get_list(worklist_id=self.project_info['worklist_id'],
- status='published' if self.all_annotations else None)
+ all_annotations = self.api.annotations.get_list(worklist_id=None if self.all_annotations else self.project_info['worklist_id'],
+ status=None if self.all_annotations else 'published')
# group annotations by resource ID
annotations_by_resource: dict[str, list[Annotation]] = {}
diff --git a/notebooks/dataset_loading.ipynb b/notebooks/dataset_loading.ipynb
index 5ccbe771..85d1bb5b 100644
--- a/notebooks/dataset_loading.ipynb
+++ b/notebooks/dataset_loading.ipynb
@@ -63,13 +63,10 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Setup-up example Project and data (optional)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
+ "## Setup-up example Project and data (optional)\n",
+ "\n",
+ "You can skip this step if you already have a project set up.\n",
+ "\n",
"Creating the example project:"
]
},
@@ -88,6 +85,32 @@
"print(f\"Check your project at {proj.url}\")"
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Get existing Project"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from datamint import Api\n",
+ "\n",
+ "PROJECT_NAME = 'My Project Name' # change to your project name\n",
+ "\n",
+ "api = Api()\n",
+ "proj = api.projects.get_by_name(PROJECT_NAME) # proj is a Project object with proper attributes and type hints\n",
+ "if proj is None:\n",
+ " _LOGGER.error(f\"Project with name '{PROJECT_NAME}' not found.\")\n",
+ "else:\n",
+ " # but you can convert to a dictionary if you want\n",
+ " display(proj.asdict())"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -113,6 +136,7 @@
"D = Dataset(\n",
" project_name=PROJECT_NAME,\n",
" return_as_semantic_segmentation=True,\n",
+ " all_annotations=True\n",
") # This automatically downloads the dataset if needed\n",
"print('Dataset length:', len(D))"
]
@@ -133,22 +157,9 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 2,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "
[09/18/25 16:57:44] INFO Original image is uint16, converting to uint8 base_dataset.py:668\n",
- "
\n"
- ],
- "text/plain": [
- "\u001b[2;36m[09/18/25 16:57:44]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Original image is uint16, converting to uint8 \u001b]8;id=502300;file:///home/lhsmello/projects/Sonance/datamint-python-api/datamint/dataset/base_dataset.py\u001b\\\u001b[2mbase_dataset.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=369607;file:///home/lhsmello/projects/Sonance/datamint-python-api/datamint/dataset/base_dataset.py#668\u001b\\\u001b[2m668\u001b[0m\u001b]8;;\u001b\\\n"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
{
"name": "stdout",
"output_type": "stream",
@@ -178,7 +189,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 3,
"metadata": {},
"outputs": [
{
@@ -187,7 +198,7 @@
"dict_keys(['id', 'resource_uri', 'storage', 'location', 'upload_channel', 'filename', 'modality', 'mimetype', 'size', 'upload_mechanism', 'customer_id', 'status', 'created_at', 'created_by', 'published', 'deleted', 'source_filepath', 'metadata', 'projects', 'published_on', 'published_by', 'tags', 'publish_transforms', 'deleted_at', 'deleted_by', 'instance_uid', 'series_uid', 'study_uid', 'patient_id', 'segmentations', 'measurements', 'categories', 'user_info', 'labels', 'file'])"
]
},
- "execution_count": 5,
+ "execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
@@ -212,16 +223,16 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- ""
+ ""
]
},
- "execution_count": 6,
+ "execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
@@ -251,16 +262,16 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "{'lucas@mail.com': torch.Size([10, 2, 64, 64])}"
+ "{}"
]
},
- "execution_count": 7,
+ "execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
@@ -295,18 +306,39 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
- "image/png": "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",
"text/plain": [
- ""
+ "{}"
]
},
+ "execution_count": 8,
"metadata": {},
- "output_type": "display_data"
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "segmentations"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "KeyError",
+ "evalue": "'lucas@mail.com'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[6], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m my_segs \u001b[38;5;241m=\u001b[39m \u001b[43msegmentations\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mlucas@mail.com\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\n\u001b[1;32m 2\u001b[0m seg_mask_i \u001b[38;5;241m=\u001b[39m my_segs[\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m1\u001b[39m] \u001b[38;5;66;03m# second frame, first label ([1,0] is background)\u001b[39;00m\n\u001b[1;32m 3\u001b[0m label_name \u001b[38;5;241m=\u001b[39m D\u001b[38;5;241m.\u001b[39msegmentation_labels_set[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;66;03m# Note: segmentation_labels_set does not include background.\u001b[39;00m\n",
+ "\u001b[0;31mKeyError\u001b[0m: 'lucas@mail.com'"
+ ]
}
],
"source": [
diff --git a/pyproject.toml b/pyproject.toml
index 34dfedef..51e90333 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,7 +1,7 @@
[project]
name = "datamint"
description = "A library for interacting with the Datamint API, designed for efficient data management, processing and Deep Learning workflows."
-version = "2.0.0"
+version = "2.0.1"
dynamic = ["dependencies"]
requires-python = ">=3.10"
readme = "README.md"