Blank image in Analyst without error in CP


I am trying to use the classifier to sort my cells into different stages of cell cycle using Ki67 as marker and DAPI to identify the nucleus. For the first time since I have started using Analyst I was able to run CP without error and write/save all required files. However, I end up with blank images in the classifier. I have tried to generate ‘one table per object’ instead of single table object in CP but then I got an error so I left it as it is.
The only error I found in the Analyst was related to new version information. Not quite sure what did I do wrong.

Logging level: INFO
[MainThread] Connecting to the database…
[MainThread] SQLite file: F:\IF\G0 arrest test_20200628\CelLProfiler\DefaultDB.db
Exception fetching new version information from HTTP Error 404: Not Found
Initialized New Classifier: RandomForestClassifier
Initialized New Classifier: AdaBoostClassifier
Initialized New Classifier: SVC
Initialized New Classifier: GradientBoostingClassifier
Initialized New Classifier: LogisticRegression
Initialized New Classifier: LinearDiscriminantAnalysis
Initialized New Classifier: KNeighborsClassifier
Initialized New Classifier: FastGentleBoosting
Skipping table checking step for sqlite
[TileLoader_Thread-4] Connecting to the database…
[TileLoader_Thread-4] SQLite file: F:\IF\G0 arrest test_20200628\CelLProfiler\DefaultDB.db
Loading image from “F:\IF\G0 arrest test_20200628\HeLa_WT_Ki67_B-tub_b_Maximum intensity projection.czi”
Ignoring columns: [‘ImageNumber’, ‘ObjectNumber’]
Fetched 20 random cells from whole experiment
Traceback (most recent call last):
File “bioformats\formatreader.pyc”, line 701, in init_reader
File “bioformats\formatreader.pyc”, line 188, in setId
File “javabridge\jutil.pyc”, line 862, in call
File “javabridge\jutil.pyc”, line 829, in fn
JavaException: null

Here is my pipeline and example images: (7.2 KB) HeLa_2.7_Ki67_B-tub_a_Maximum intensity projection.tiff (3.0 MB) Ki67_analysis.cpproj (927.0 KB) HeLa_2.7_Ki67_B-tub_a_Maximum intensity projection.tiff (3.0 MB) HeLa_2.7_Ki67_B-tub_b_Maximum intensity projection.tiff (3.0 MB) HeLa_2.7_Ki67_B-tub_c_Maximum intensity projection.tiff (3.0 MB) Ki67_analysis.cpproj (927.0 KB)

Thank you in advance for the help,

  1. Is it possible the images were moved since being analyzed, and/or is CPA being used on a different computer than the one that did the analyzing?
  2. Sometimes CPA doesn’t play nicely with multi-file “container” formats such as CZI, ND2, etc; if you’re certain 1 is fixed, then 2 is likely the culprit. Unfortunately, there isn’t a “nice” solution to this at the moment; my current workaround is to export the raw images as pngs (since ultimately they’re only necessary for visualization) using SaveImages (with Record file and path information set to YES) during any pipeline where I know I need to use CPA downstream of those images. It’s disk-inefficient but it gets the job done.

The image location was not changed and I did both the CellProfiler and CPA analysis on the same computer. But I have everything on a portable drive [not sure if it has any impact].

Following your suggestion I have changed the SaveImages setting from tiff to png. File path recording was set to yes already. However, my issue stayed the same. :frowning: The images in classifier are still blank.

Beth Cimini via Forum <> ezt írta (időpont: 2020. júl. 7., K 18:26):

The portable drive thing may make a difference, if when you analyzed it the drive was E:\ and now is F:\, or vice versa. You can look inside your database in CPA’s “TableView” tool (or DBBrowserForSqlite, or any other database tool you like) at the Image table to see the path where CPA expects the images to live; if that path is the same as where they DO now live, we can rule out 1).

In order to have the changes I made in 2) work, it doesn’t really matter what the file format is, but it does mean in your Properties file, you need to tell it to look only for the channels you saved out, not the raw input images; you can do this at the time of analysis when you are running CellProfiler(see screenshot below), or you can just edit the properties file after the fact to only include those saved-out channels (see more info in the manual)