AllenCellModeling / aicspylibczi

Python module utilizing libCZI for reading Zeiss CZI files.
https://allencellmodeling.github.io/aicspylibczi
GNU General Public License v3.0
36 stars 8 forks source link

Underspecified Coordinates when trying to get TileBoundingBox #87

Closed sebi06 closed 3 years ago

sebi06 commented 3 years ago

System and Software

Description

I get the following error when I try to read information from a subblock

The CZI file has the following dims: 'BSCMYX' and is a mosaic file with M=25.

size = (1, 1, 3, 25, 2208, 2752)

https://www.dropbox.com/s/3k44851vzv6i9ec/DTScan_ID4.czi?dl=0

When I try to use aicsczi.get_tile_bounding_box() command I always get the error (i digged a bit into your code):

plane_constraints = self._get_coords_from_kwargs({'B':0, 'S':0, 'M': 0, 'C': 0})
dims, bbox = self.reader.read_tile_bounding_box(plane_constraints)
Traceback (most recent call last):
  File "C:\Users\m1srh\Miniconda3\envs\imageanalysis_czi\lib\site-packages\IPython\core\interactiveshell.py", line 3437, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-16-249e0ce4d506>", line 1, in <module>
    dims, bbox = self.reader.read_tile_bounding_box(plane_constraints)
_aicspylibczi.PylibCZI_CDimCoordinatesUnderspecifiedException: The coordinates are underspecified = you have not specified a Dimension that is required. More than 1 tile matched. Be more specific.

So it is not clear to me, what dimension(s) is missing. Even if I add T=0 and/or Z=0 to the arguments it still complains about "underspecification. Any idea what is going on?

I previous versions of aicspylibczi is was doing a similar thing using the aicsczi.read_subblock_rect() method, which worked fine.

evamaxfield commented 3 years ago

Hey @sebi06 this project, aicsimageio, and napari-aicsimageio are basically now entirely managed by me (contracted by AICS for 8hrs / week). Any chance Zeiss can PR some fixes for some of the bugs you have been reporting recently?

sebi06 commented 3 years ago

Hi @JacksonMaxfield,

good question... :-) And aicspylibczi is consideed to be part of the aicsimageio project I guess.

Right now all in my team a really busy as well. Maybe we can help with some quick tests etc. Our focus is currently a AI and a future new release of libCZIrw (C++)

The problem reported in this issue is a bit strange since this worked with earlier versions of aicspylibczi, but with version 3 some methods were removed. Can I do anything to narrow it down further?

sebi06 commented 3 years ago

Hi @JacksonMaxfield,

I sorted it out and it was not an actual bug, but me getting confused by the new methods. It now works as expected when using

tilebbox = aicsczi.get_mosaic_tile_bounding_box(S=s, M=m, T=t, Z=z, C=c)
evamaxfield commented 3 years ago

Good to know! Thanks @sebi06.

Yea moving forward, things like https://github.com/AllenCellModeling/aicsimageio/issues/279 will be "low priority" for me.

All of these repositories are open source projects and I would greatly appreciate any help you can provide on resolving issues.


Regarding:

Our focus is currently a AI and a future new release of libCZIrw (C++)

Does this mean we will need to update aicspylibczi to use the new release?