From 18779e1155782cbe46dc2f86c8463c529a3e9e40 Mon Sep 17 00:00:00 2001 From: Anton Rau Date: Thu, 21 Jan 2021 12:10:28 +0100 Subject: [PATCH] Prevent crash on corrupted MCD acquisitions in order to keep valid ones. --- CHANGELOG.md | 3 +++ README.md | 2 +- docs/index.html | 2 +- docs/io/mcd/mcdparser.html | 12 ++++++------ imctools/io/mcd/mcdparser.py | 4 ++-- pyproject.toml | 2 +- setup.cfg | 2 +- 7 files changed, 15 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f64056..3a45fea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.1.2] - 2021-01-21 +- Prevent crash on corrupted MCD acquisitions in order to keep valid ones + ## [2.1.1] - 2021-01-20 - Update `xtiff` package - FIX: Wrong ROI coordinates for new Fluidigm software versions #104 diff --git a/README.md b/README.md index fd898ef..ed8ebf8 100755 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Version 1.x documentation (deprecated): https://imctools.readthedocs.io Preferable way to install `imctools` is via official PyPI registry. Please define package version explicitly in order to avoid incompatibilities between v1.x and v2.x versions: ``` -pip install imctools==2.1.1 +pip install imctools==2.1.2 ``` In old IMC segmentation pipelines versions 1.x should be used! ``` diff --git a/docs/index.html b/docs/index.html index 8d95717..a3ab055 100644 --- a/docs/index.html +++ b/docs/index.html @@ -49,7 +49,7 @@

Prerequisites

Installation

Preferable way to install imctools is via official PyPI registry. Please define package version explicitly in order to avoid incompatibilities between v1.x and v2.x versions:

-
pip install imctools==2.1.1
+
pip install imctools==2.1.2
 

In old IMC segmentation pipelines versions 1.x should be used!

pip install imctools==1.0.8
diff --git a/docs/io/mcd/mcdparser.html b/docs/io/mcd/mcdparser.html
index ef91280..5624b69 100644
--- a/docs/io/mcd/mcdparser.html
+++ b/docs/io/mcd/mcdparser.html
@@ -89,11 +89,11 @@ 

Module imctools.io.mcd.mcdparser

if acquisition is None: return None data = self._get_acquisition_raw_data(acquisition) - if data is not None: + try: image_data = reshape_long_2_cyx(data, is_sorted=True) # Drop first three channels X, Y, Z image_data = image_data[3:] - else: + except: image_data = None acquisition.is_valid = False logger.warning(f"Error reading MCD acquisition: {acquisition_id}") @@ -393,11 +393,11 @@

Classes

if acquisition is None: return None data = self._get_acquisition_raw_data(acquisition) - if data is not None: + try: image_data = reshape_long_2_cyx(data, is_sorted=True) # Drop first three channels X, Y, Z image_data = image_data[3:] - else: + except: image_data = None acquisition.is_valid = False logger.warning(f"Error reading MCD acquisition: {acquisition_id}") @@ -693,11 +693,11 @@

Methods

if acquisition is None: return None data = self._get_acquisition_raw_data(acquisition) - if data is not None: + try: image_data = reshape_long_2_cyx(data, is_sorted=True) # Drop first three channels X, Y, Z image_data = image_data[3:] - else: + except: image_data = None acquisition.is_valid = False logger.warning(f"Error reading MCD acquisition: {acquisition_id}") diff --git a/imctools/io/mcd/mcdparser.py b/imctools/io/mcd/mcdparser.py index 7d2cfc6..8e6c4e0 100644 --- a/imctools/io/mcd/mcdparser.py +++ b/imctools/io/mcd/mcdparser.py @@ -61,11 +61,11 @@ def get_acquisition_data(self, acquisition_id: int): if acquisition is None: return None data = self._get_acquisition_raw_data(acquisition) - if data is not None: + try: image_data = reshape_long_2_cyx(data, is_sorted=True) # Drop first three channels X, Y, Z image_data = image_data[3:] - else: + except: image_data = None acquisition.is_valid = False logger.warning(f"Error reading MCD acquisition: {acquisition_id}") diff --git a/pyproject.toml b/pyproject.toml index b69ea33..a786249 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "imctools" -version = "2.1.1" +version = "2.1.2" description = "Tools to handle Fluidigm IMC data" license = "MIT" authors = ["Vito Zanotelli ", "Anton Rau "] diff --git a/setup.cfg b/setup.cfg index 58cce3a..b010eab 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 2.1.1 +current_version = 2.1.2 commit = False tag = False