Missing features error when running object classifier

I am running an object classifier on a set of fluorescence whole slide image with 4 channels + DAPI on QuPath 2.0. I used regions out of 4 representative images to create a training image and trained 4 separate object classifiers that I then combined. The combined classifier runs with no problem on the training image, however when I try to run it on the whole slide images I get the following error: Missing features: 55 missing features!

This is the log:
INFO: Running classifier: [F480_CD8_PDL1_CK]
WARN: Missing features: 55 missing features!

See the log for more details.
WARN: There are missing features! Nucleus: F480 mean: 347529 objects (100%)
Nucleus: F480 sum: 347529 objects (100%)
Nucleus: F480 std dev: 347529 objects (100%)
Nucleus: F480 max: 347529 objects (100%)
Nucleus: F480 min: 347529 objects (100%)
Nucleus: F480 range: 347529 objects (100%)
Cell: F480 mean: 347529 objects (100%)
Cell: F480 std dev: 347529 objects (100%)
Cell: F480 max: 347529 objects (100%)
Cell: F480 min: 347529 objects (100%)
Cytoplasm: F480 mean: 347529 objects (100%)
Cytoplasm: F480 std dev: 347529 objects (100%)
Cytoplasm: F480 max: 347529 objects (100%)
Cytoplasm: F480 min: 347529 objects (100%)
Cytoplasm: PDL1 mean: 347529 objects (100%)
Cytoplasm: PDL1 std dev: 347529 objects (100%)
Nucleus: CD8 mean: 347529 objects (100%)
Nucleus: CD8 sum: 347529 objects (100%)
Nucleus: CD8 std dev: 347529 objects (100%)
Nucleus: CD8 max: 347529 objects (100%)
Nucleus: CD8 min: 347529 objects (100%)
Nucleus: CD8 range: 347529 objects (100%)
Cell: CD8 mean: 347529 objects (100%)
Cell: CD8 std dev: 347529 objects (100%)
Cell: CD8 min: 347529 objects (100%)
Cytoplasm: CD8 mean: 347529 objects (100%)
Cytoplasm: CD8 std dev: 347529 objects (100%)
Cytoplasm: CD8 max: 347529 objects (100%)
Cytoplasm: CD8 min: 347529 objects (100%)
Nucleus: CK mean: 347529 objects (100%)
Nucleus: CK sum: 347529 objects (100%)
Nucleus: CK std dev: 347529 objects (100%)
Nucleus: CK max: 347529 objects (100%)
Nucleus: CK min: 347529 objects (100%)
Nucleus: CK range: 347529 objects (100%)
Cell: CK mean: 347529 objects (100%)
Cell: CK std dev: 347529 objects (100%)
Cell: CK max: 347529 objects (100%)
Cell: CK min: 347529 objects (100%)
Cytoplasm: CK mean: 347529 objects (100%)
Cytoplasm: CK std dev: 347529 objects (100%)
Cytoplasm: CK max: 347529 objects (100%)
Cytoplasm: CK min: 347529 objects (100%)
Nucleus: PDL1 mean: 347529 objects (100%)
Nucleus: PDL1 sum: 347529 objects (100%)
Nucleus: PDL1 std dev: 347529 objects (100%)
Nucleus: PDL1 max: 347529 objects (100%)
Nucleus: PDL1 min: 347529 objects (100%)
Nucleus: PDL1 range: 347529 objects (100%)
Cell: PDL1 mean: 347529 objects (100%)
Cell: PDL1 std dev: 347529 objects (100%)
Cell: PDL1 max: 347529 objects (100%)
Cell: PDL1 min: 347529 objects (100%)
Cytoplasm: PDL1 max: 347529 objects (100%)
Cytoplasm: PDL1 min: 347529 objects (100%)

INFO: Prediction time: 227 ms for 347529 objects (0.65 ns per object)
INFO: Prediction time: 198 ms for 347529 objects (0.57 ns per object)
INFO: Prediction time: 325 ms for 347529 objects (0.94 ns per object)
INFO: Prediction time: 201 ms for 347529 objects (0.58 ns per object)

I checked detection measurements and the data for each channel is there.

Could the problem be that I changed the names of the channels to the name of marker, but for some reason it is not applying to all the images? I tried changing the names manually in one of the images and running the script again but still get the same error.

Let me know if you need more info or the images and classifier.

Thank you,

Paula

I think you got it on the first try :slight_smile: The names would need to be exactly the same, and changed before you ran the cell detection. You can script the adjustment of the channel names as well.
https://qupath.readthedocs.io/en/latest/docs/tutorials/multiplex_analysis.html?highlight=setchannelnames#set-up-the-channel-names
Scroll down a little to 2 in the green box. Add something like that to your script prior to cell detection.

2 Likes

Thanks! That was it! The reason why my test failed was that i hadn’t re-run the cell detection after changing the channel names.

I run into another problem, I used the script you recommended to change the channel names, but for some reason PDL1 is renamed as PDLQ. I checked and spelled it correctly on the script. Do you know why this would happen? Other markers have numbers too (CD8, F480) and those where re-named without any problem.

Thanks!

Paula

1 Like

Could you include that part of the script, exactly? Sometimes there are interesting copy and paste issues depending on the source of the text.

*(as a script!)
image

Maybe it is OS dependent too. I was able to copy and paste the script in Pete’s docs into QuPath and run it to get PDL1 as a channel name. In Windows10.

Might also try changing it to PDN1 and PDL2 just to see if those work.

It was me, I just re-run it again before sending it and it’s fine. Sorry!

2 Likes