CP-sqlite-CPA doesn't fetch images

Hi!
I can’t figure out what should I do to get it working.
I have a module which exports the database in sqlite format and also the CPA properties file.
The output is 3 files (1properties files and 2 databases with differentformat, neither says object or image table)
I’m able to start CPA with that properties file but when I go to classifier it isn’t able to fetch images. I mean, the images are empty. I can’t see the data on the datatable either.

What am I doing wrong?
Do I have to install some sqlite program? anything else?

I’ve attached 2 sample photos and the pipeline.
Thanks a lot in advance.
Felipe
Retinas.7z (270 KB)
todo apartirdesolonucleos.cp (7.33 KB)

Hi Felipe,

It is likely a properties file configuration problem. Can you attach your properties file?

Thanks,
David

Just to be more concrete it does fetch images but they are just empty (black) and nor zooming-contrasting…help.
I read somewhere that it may be a 12bit image or not tiff issue but as far as I now mine are 8bit-tiff
I attach the properties files.
Thanks for your help :smile:

I’m starting to guess if I may have missed some special module in cp for cpa?
This is the console output:
Logging level: DEBUG
Creating filter tables.
PROPERTIES WARNING (groups): This field is no longer necessary in the properties file.
Only the group_SQL_XXX and filter_SQL_XXX fields are needed when defining groups and filters.
PROPERTIES WARNING (filters): This field is no longer necessary in the properties file.
Only the group_SQL_XXX and filter_SQL_XXX fields are needed when defining groups and filters.
PROPERTIES WARNING (channels_per_image): No value(s) specified. CPA will assume 1 channel per image.
PROPERTIES: Using default image_buffer_size=1
PROPERTIES: Using default tile_buffer_size=1
PROPERTIES WARNING (plate_id): Field is required for plate map viewer.
PROPERTIES WARNING (well_id): Field is required for plate map viewer.
PROPERTIES WARNING (plate_type): Field is required for plate map viewer.
Could not import cpfigure, will not display Margin vs. Iteration plot.
Skipping table checking step for sqlite
[MainThread] Connecting to the database…
[MainThread] SQLite file: C:\Users\felipe\Desktop\Pueb cp-cpa/DefaultDB.db
[MainThread] SELECT ImageNumber FROM Per_Image GROUP BY ImageNumber
[MainThread] Connected to database: C:\Users\felipe\Desktop\Pueb cp-cpa/DefaultDB.db
[MainThread] SELECT ImageNumber FROM Per_Image GROUP BY ImageNumber
[MainThread] SELECT Per_Object.ImageNumber, COUNT(Per_Object.ObjectNumber) FROM Per_Object GROUP BY Per_Object.ImageNumber
[MainThread] SELECT Per_Image.ImageNumber FROM Per_Image
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 9,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 100,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 78,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 20,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 91,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 75,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 4,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 62,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 104,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 80,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 19,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 61,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 46,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 73,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 16,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 65,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 59,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 77,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 23,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 35,1
[TileLoader_Thread-1] Connecting to the database…
[TileLoader_Thread-1] SQLite file: C:\Users\felipe\Desktop\Pueb cp-cpa/DefaultDB.db
[TileLoader_Thread-1] SELECT ImageNumber FROM Per_Image GROUP BY ImageNumber
[TileLoader_Thread-1] Connected to database: C:\Users\felipe\Desktop\Pueb cp-cpa/DefaultDB.db
[TileLoader_Thread-1] SELECT Experiment_Location_Center_X, Experiment_Location_Center_Y FROM Per_Object WHERE (ImageNumber=2 AND ObjectNumber=10)
ERROR FETCHING TILE!: no such column: Experiment_Location_Center_X

[TileLoader_Thread-1] SELECT Experiment_Location_Center_X, Experiment_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=101)
ERROR FETCHING TILE!: no such column: Experiment_Location_Center_X
DefaultDB.7z (2.42 KB)

Hi Felipe,

[EDIT: Some changes to the points below from the original posting]

No, you don’t need to install any SQLite program; it’s bundled as part of CPA. The data table is used only for viewing statistics after classification and scoring has been completed.

You need to make the following edits to your properties file to get things going:

  • Remove this line from the file: image_url_prepend = http://imageweb/images/CPALinks

  • Also, SQL has problems with columns that have spaces in the name. Since the column names are constructed from your object names in CP, and your object names have spaces, CPA will convert spaces to underscores, which may make things confusing in creating the properties file (such as the next bullet point). To avoid this, remove spaces from your objects and/or image names in CP.

  • Your properties (probably?) has the following lines:

cell_x_loc    = Experiment_Location_Center_X
cell_y_loc    = Experiment_Location_Center_Y

Changes these to:

cell_x_loc = CelsRojas_Location_Center_X cell_y_loc = CelsRojas_Location_Center_Y
assuming that you followed the above point and renamed your objects to CelsRojas
.

  • I noticed that your images are indexed, and it seems that CPA had a problem with that too. Make your images grayscale and things should work.

Hope this helps!
-Mark

Hi Thanks a lot Mark!
I deleted that line and changed spaces for “_” and then I was able to see the tiles.
I tried converting the images to gray scale, but the module told me that they were already grayscale.

I got deeper into what should be my final pipeline but it gave me some more issues. Basically it uses images from 2 channels to study collocalitation.
The first issue is: when I go to classifier and fetch images, it only fetches images from one channel, the others appear blank like it happened before removing the line you told me.
2nd:When I try to open the whole image from the tile inside classifier nothing happens.
3rd:After generating the rules and copying them to a txt file I tried to use it as a filter for cellprofiler but it gives an error, kind-of if it was missing something.

Thanks a lot for your help!!!
I attach the pipeline and properties files.
Couldn’t upload the second channel images due to board attachment limits, I think.
And here’s what the console reads:

Logging level: DEBUG
Creating filter tables.
PROPERTIES WARNING (groups): This field is no longer necessary in the properties file.
Only the group_SQL_XXX and filter_SQL_XXX fields are needed when defining groups and filters.
PROPERTIES WARNING (filters): This field is no longer necessary in the properties file.
Only the group_SQL_XXX and filter_SQL_XXX fields are needed when defining groups and filters.
PROPERTIES WARNING (channels_per_image): No value(s) specified. CPA will assume 1 channel per image.
PROPERTIES: Using default image_buffer_size=1
PROPERTIES: Using default tile_buffer_size=1
PROPERTIES WARNING (plate_id): Field is required for plate map viewer.
PROPERTIES WARNING (well_id): Field is required for plate map viewer.
PROPERTIES WARNING (plate_type): Field is required for plate map viewer.
Could not import cpfigure, will not display Margin vs. Iteration plot.
Skipping table checking step for sqlite
[MainThread] Connecting to the database…
[MainThread] SQLite file: D:\Documents and Settings\Administrator\Desktop\Retinas/DefaultDB.db
[MainThread] SELECT ImageNumber FROM Per_Image GROUP BY ImageNumber
[MainThread] Connected to database: D:\Documents and Settings\Administrator\Desktop\Retinas/DefaultDB.db
[MainThread] SELECT ImageNumber FROM Per_Image GROUP BY ImageNumber
[MainThread] SELECT Per_Object.ImageNumber, COUNT(Per_Object.ObjectNumber) FROM Per_Object GROUP BY Per_Object.ImageNumber
[MainThread] SELECT Per_Image.ImageNumber FROM Per_Image
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 370,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 247,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 297,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 309,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 166,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 95,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 276,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 287,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 131,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 39,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 365,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 78,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 348,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 104,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 92,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 95,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 67,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=2 LIMIT 57,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 128,1
[MainThread] SELECT ObjectNumber FROM Per_Object WHERE ImageNumber=1 LIMIT 284,1
[TileLoader_Thread-1] Connecting to the database…
[TileLoader_Thread-1] SQLite file: D:\Documents and Settings\Administrator\Desktop\Retinas/DefaultDB.db
[TileLoader_Thread-1] SELECT ImageNumber FROM Per_Image GROUP BY ImageNumber
[TileLoader_Thread-1] Connected to database: D:\Documents and Settings\Administrator\Desktop\Retinas/DefaultDB.db
[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=2 AND ObjectNumber=371)
[TileLoader_Thread-1] SELECT Image_PathName_Alexa633, Image_FileName_Alexa633, Image_PathName_Alexa488, Image_FileName_Alexa488 FROM Per_Image WHERE ImageNumber IN (2)
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch01.tif
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch02.tif
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=2 AND ObjectNumber=248)
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=298)
[TileLoader_Thread-1] SELECT Image_PathName_Alexa633, Image_FileName_Alexa633, Image_PathName_Alexa488, Image_FileName_Alexa488 FROM Per_Image WHERE ImageNumber IN (1)
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series020_z001_ch01.tif
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series020_z001_ch02.tif
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=2 AND ObjectNumber=310)
[TileLoader_Thread-1] SELECT Image_PathName_Alexa633, Image_FileName_Alexa633, Image_PathName_Alexa488, Image_FileName_Alexa488 FROM Per_Image WHERE ImageNumber IN (2)
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch01.tif
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch02.tif
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=167)
[TileLoader_Thread-1] SELECT Image_PathName_Alexa633, Image_FileName_Alexa633, Image_PathName_Alexa488, Image_FileName_Alexa488 FROM Per_Image WHERE ImageNumber IN (1)
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series020_z001_ch01.tif
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series020_z001_ch02.tif
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=96)
[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=2 AND ObjectNumber=277)
[TileLoader_Thread-1] SELECT Image_PathName_Alexa633, Image_FileName_Alexa633, Image_PathName_Alexa488, Image_FileName_Alexa488 FROM Per_Image WHERE ImageNumber IN (2)
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch01.tif
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch02.tif
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=288)
[TileLoader_Thread-1] SELECT Image_PathName_Alexa633, Image_FileName_Alexa633, Image_PathName_Alexa488, Image_FileName_Alexa488 FROM Per_Image WHERE ImageNumber IN (1)
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series020_z001_ch01.tif
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series020_z001_ch02.tif
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=132)
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=40)
[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=366)
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=79)
[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=349)
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=105)
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=2 AND ObjectNumber=93)
[TileLoader_Thread-1] SELECT Image_PathName_Alexa633, Image_FileName_Alexa633, Image_PathName_Alexa488, Image_FileName_Alexa488 FROM Per_Image WHERE ImageNumber IN (2)
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch01.tif
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch02.tif
[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=68)
[TileLoader_Thread-1] SELECT Image_PathName_Alexa633, Image_FileName_Alexa633, Image_PathName_Alexa488, Image_FileName_Alexa488 FROM Per_Image WHERE ImageNumber IN (1)
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series020_z001_ch01.tif
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series020_z001_ch02.tif
Fetched 20 random cells from whole experiment
[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=2 AND ObjectNumber=58)
[TileLoader_Thread-1] SELECT Image_PathName_Alexa633, Image_FileName_Alexa633, Image_PathName_Alexa488, Image_FileName_Alexa488 FROM Per_Image WHERE ImageNumber IN (2)
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch01.tif
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch02.tif
[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=129)
[TileLoader_Thread-1] SELECT Image_PathName_Alexa633, Image_FileName_Alexa633, Image_PathName_Alexa488, Image_FileName_Alexa488 FROM Per_Image WHERE ImageNumber IN (1)
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series020_z001_ch01.tif
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series020_z001_ch02.tif
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

[TileLoader_Thread-1] SELECT Presuntas_Positivas_MelanopsinaL_Location_Center_X, Presuntas_Positivas_MelanopsinaL_Location_Center_Y FROM Per_Object WHERE (ImageNumber=1 AND ObjectNumber=285)
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’
DefaultDB.7z (2.43 KB)
Medir_somas_melanpsinamod.cp (14.5 KB)

Hi Felipe,

The relevant error is:

[quote]Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch01.tif
Opening image: D:\Documents and Settings\Administrator\Desktop\Retinas\\Retina11h-2000-1(mitad2)_Series034_z013_ch02.tif
ERROR FETCHING TILE!: unsupported operand type(s) for +: ‘NoneType’ and ‘float’ [/quote]

Can you verify that these two image paths valid? Since one channel displays, presumably both are valid, I assume. Possibly the parentheses in the filenames are causing troubles, but again, if one works the other should too, so I’m not confident that is the problem.

I don’t know that it will cause a problem, but this line:

should only have two colors, i.e. the same as the number of channels.

We’ll keep looking into this.
Thanks,
David

Hi!

I changed input-output folders but it didn’t help.
I removed the parentheses and nothing happended.
Then I changed the names to something like 01R.tif, 02Rtif, 01G.tif.
And suddenly I got an error message from the pipeline saying the images ain’t grayscale. Funny. So I added a colortogray module and the error disappeared, but unfortunately it had no effect on the lack of one of the channel’s tiles issue in CPA. And the same error fetching from the console continued.

I tried leaving only 2 colors in the properties file but it didn’t appear to have any effect.

After toying a litle bit with the properties file I think that I got part of the issue straight. It seems that the properties file isn’t properly written down with more than one object and/or channel. I tweaked the properties file as shown at the bottom, which helped to handle the channels.
Still I think there is something wrong with how CPA crosses objects from different channels as there are still some images appering blank.
I think that the issue comes from how CPA combines tiles from different channels. I may be wrong but it seems that when a tile only exists in one channel but there are more channels in use it fails to give a tile with only the pixel-info from the image where it is present. I don’t know if it simply shows a blank tile due to an error fetching of if it gives a MAX value to the pixels for the absent tile so that they obscure the whole tile. Example: I found an object in ch0 but not in ch1, it will look for the tile in both and when it finds there is no object in ch1 it will just use a completly black tile.
Can you guys take a look at this possible CPA issue? I hope it isn’t very hard to correct.

Original

Also specify the column names that contain X and Y coordinates for each

object within an image.

cell_x_loc = Presuntas_Positivas_MelanopsinaL_Location_Center_X
cell_y_loc = Presuntas_Positivas_MelanopsinaL_Location_Center_Y

==== Image Path and File Name Columns ====

Classifier needs to know where to find the images from your experiment.

Specify the column names from your per-image table that contain the image

paths and file names here.

Individual image files are expected to be monochromatic and represent a single

channel. However, any number of images may be combined by adding a new channel

path and filename column to the per-image table of your database and then

adding those column names here.

NOTE: These lists must have equal length!

image_channel_paths = Image_PathName_Alexa633
image_channel_files = Image_FileName_Alexa633

Give short names for each of the channels (respectively)…

image_channel_names = Alexa633,Alexa488

Specify a default color for each of the channels (respectively)

Valid colors are: [red, green, blue, magenta, cyan, yellow, gray, none]

image_channel_colors = red, green, blue, magenta, cyan, yellow, gray, none

Tweaked

Also specify the column names that contain X and Y coordinates for each

object within an image.

cell_x_loc = Presuntas_Positivas_MelanopsinaL_Location_Center_X
cell_y_loc = Presuntas_Positivas_MelanopsinaL_Location_Center_Y

cell_x_loc = Presuntas_Positivas_MelanopsinaS_Location_Center_X
cell_y_loc = Presuntas_Positivas_Melanopsinas_Location_Center_Y

==== Image Path and File Name Columns ====

Classifier needs to know where to find the images from your experiment.

Specify the column names from your per-image table that contain the image

paths and file names here.

Individual image files are expected to be monochromatic and represent a single

channel. However, any number of images may be combined by adding a new channel

path and filename column to the per-image table of your database and then

adding those column names here.

NOTE: These lists must have equal length!

image_channel_paths = Image_PathName_Alexa633,Image_PathName_Alexa488
image_channel_files = Image_FileName_Alexa633,Image_FileName_Alexa488

Give short names for each of the channels (respectively)…

image_channel_names = Alexa633,Alexa488

Specify a default color for each of the channels (respectively)

Valid colors are: [red, green, blue, magenta, cyan, yellow, gray, none]

image_channel_colors = green,red

Hi,

CPA can only use one object at a time. So including two sets of “Location_Center” in the properties is not supported. I’m not sure what you want to do with these two distinct objects, but if you really need to classify them separately, you could get creative and do two totally distinct classifications (with two properties files pointing to the different object tables and their respective Location_Centers) and try and relate the scoring table results at the end.

I’m not sure what you mean by

Hopefully the above comment will help, but CPA can certainly handle multiple channels. Have you tried the CPA Example from our downloads page? cellprofiler.org/examples.shtml#cpa_examples
In your data, do you see both Alexa633 and Alexa488 in the menu bar? Have you tried changing the colors within these menus? It is possible that the default color is set to “none” for some reason.

Best,
David

Yep, you’re right I was probably messing it to much by meassuring 2 objects simultaneously.
I think the cleaner will be to find the objects on each channel and then combine them as if they were a mask to meassure the values from both channels. I guess I’ll have to do some of the work at the database level.

Besides, I already posted it in CP forum but it’s also related to CPA, and now that I get the chance…is it possible to apply the log contrast stretch that I see in CPA to to CP?

Thanks a lot for you help.

Re: Log transform, see Log transform contrast stretch like CPA

Regarding the combining two objects for measurement, another idea is to do this in CP before you get to CPA:
(1) use ImageMath to add the two input channels
(2) use a single IdentifyPrimary segmentation to label all the objects
(3) Make measurements on these objects in all channels
(4) In addition, you can always keep your existing separate IDPrimObjs modules, and add a Relate module to relate these objects to the aggregate objects

Also, I missed this comment in an earlier post

Note that this method of using CPA rules in a CP FilterObjects module requires the second CP pipeline (that you paste the rules into) must have exactly the same ID and measure modules, in addition to the same settings, as the original pipeline. There is no software checking of this capability yet (except for error generation!) though it is in our long-term plans to more seamlessly integrate CP and CPA bidirectionally.

Best,
David

Hi!
Yep, what you did was pretty much what I did as a first step. Thanks.

Besides, as I wanted to identify the objects in each channel and combine them I used imagemath to sume up the individual identified objects.

After that in a different run of CP I used that image as mask to use a single identify module so that CPA woudn’t have issues.

Thanks again for all the help :smile:

Sounds like a workable solution.

Cheers,
David