cell by cell local thickness

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

cell by cell local thickness

Eric BADEL-2
Hi all,
I need to evaluate the cell wall thickness in a cellular material. I already
use "distance map" and other very useful "Local thickness" plugin and I get
the map of local thickness.
Now I need to split the information and to evaluate the local thickness of
the wall of each cell. This mean I need to get all the values on the
skeleton that is linked to one cell (and do it for each cell).
I had the idea to use the skeleton image, to dilate the cell then make the
difference with the initial image in order to get the values on the
boundaries of the cell. But I do not know how to operate cell by cell.
Any other idea ?
Eric
Reply | Threaded
Open this post in threaded view
|

Re: cell by cell local thickness

David Webster
Eric,

I'm assuming that you want to get to each cell's image and then run your
process on that cell alone. A way to do this 1)  is to thresholded a
multicell image to get an image of cell silhouettes, 2) use Landini's
BinaryLabel8 plugin (see plugins documentatiuon) to assign a unique label to
each cell silhouette, 3) use setThreshold() and run("Convert to Mask") to
pull out each cell's silhouette in turn, and 4) run your process on each of
these silhouettes.

Does this help, or am I missing the point?

David Webster
On Fri, Mar 13, 2009 at 6:39 AM, Eric BADEL <[hidden email]>wrote:

> Hi all,
> I need to evaluate the cell wall thickness in a cellular material. I
> already
> use "distance map" and other very useful "Local thickness" plugin and I get
> the map of local thickness.
> Now I need to split the information and to evaluate the local thickness of
> the wall of each cell. This mean I need to get all the values on the
> skeleton that is linked to one cell (and do it for each cell).
> I had the idea to use the skeleton image, to dilate the cell then make the
> difference with the initial image in order to get the values on the
> boundaries of the cell. But I do not know how to operate cell by cell.
> Any other idea ?
> Eric
>
Reply | Threaded
Open this post in threaded view
|

GenericDialog element focus

Joachim Wesner
Hi list,

I already noticed some time ago, that the GenericDialog seemingly always
puts the initial input focus on th first "Numeric field", not on the "top
element" in the dialog. This happens
even if this input field is "disabled" via a DialogListener due to another
checkbox option. This causes some confusion for the user of my plugin.

What is the easiest way to change this or could this even be considered a
"bug"?

I put a simple example on

http://joachim-wesner.net/tmp/WrongFocus.jpg

the initial focus after showDialog() is on the value "6.2832...", even if
it´s diabled, because the user has not selected "User value" in the Choices
above on an earlier run (saved in preferences)!

Thanks for any hint

Mit freundlichen Grüßen / Best regards

Joachim Wesner
Projektleiter Optik Technologiesysteme

Ernst Leitz Strasse 17-37 | 35578 Wetzlar (Germany)
Tel.  +49 6441 29 2611 | Fax +49 6441 29 2700

____________________________________________

Leica Microsystems CMS GmbH | GmbH mit Sitz in Wetzlar | Amtsgericht
Wetzlar  HRB 2432
Geschäftsführer:  Dr. Stefan Traeger | Dr. Wolf-Otto Reuter | Dr. David Roy
Martyr | Colin Davis


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
Reply | Threaded
Open this post in threaded view
|

Re: GenericDialog element focus

Wayne Rasband
> Hi list,
>
> I already noticed some time ago, that the GenericDialog seemingly  
> always
> puts the initial input focus on th first "Numeric field", not on  
> the "top
> element" in the dialog. This happens
> even if this input field is "disabled" via a DialogListener due to  
> another
> checkbox option. This causes some confusion for the user of my plugin.
>
> What is the easiest way to change this or could this even be  
> considered a
> "bug"?
>
> I put a simple example on
>
> http://joachim-wesner.net/tmp/WrongFocus.jpg
>
> the initial focus after showDialog() is on the value "6.2832...",  
> even if
> it´s diabled, because the user has not selected "User value" in the  
> Choices
> above on an earlier run (saved in preferences)!
>
> Thanks for any hint.

This is a bug that is fixed in the 1.42l daily build. You can upgrade  
by using the Help>Update ImageJ command and selecting "daily build"  
from the drop down menu.

-wayne
Reply | Threaded
Open this post in threaded view
|

Antwort: Re: GenericDialog element focus

Joachim Wesner
Hi Wayne,

Extremely fast and on the point asl ALWAYS, yes it´s fixed now, thanks!

Cheers

Joachim

Leica Microsystems CMS GmbH | GmbH mit Sitz in Wetzlar | Amtsgericht
Wetzlar  HRB 2432
Geschäftsführer:  Dr. Stefan Traeger | Dr. Wolf-Otto Reuter | Dr. David Roy
Martyr | Colin Davis

ImageJ Interest Group <[hidden email]> schrieb am 15.03.2009 04:46:18:

> >
> > I put a simple example on
> >
> > http://joachim-wesner.net/tmp/WrongFocus.jpg
> >
> > the initial focus after showDialog() is on the value "6.2832...",
> > even if
> > it´s diabled, because the user has not selected "User value" in the
> > Choices
> > above on an earlier run (saved in preferences)!
> >
> > Thanks for any hint.
>
> This is a bug that is fixed in the 1.42l daily build. You can upgrade
> by using the Help>Update ImageJ command and selecting "daily build"
> from the drop down menu.
>
> -wayne


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
Reply | Threaded
Open this post in threaded view
|

Re: cell by cell local thickness

Eric BADEL-2
In reply to this post by David Webster
Hi,
Thank you for this idea. It works. Actually, I worked on an another idea
and I still meet an issue.
I generated an image that represents only the boundaries of the cell.
The grey level values on this boundary represent the corresponding local
thickness. Nox, I need to get these values, cell by cell. That means
that the boundary line should be one ROI. Nevertheless, if I try to get
values of this ROI, ImageJ thinks that the ROI is the surface of the shape.
How, could I define only the boundary as an ROI (and get all the
corresponding grey level value) ?
Thank you
Eric


David Webster a écrit :

> Eric,
>
> I'm assuming that you want to get to each cell's image and then run your
> process on that cell alone. A way to do this 1)  is to thresholded a
> multicell image to get an image of cell silhouettes, 2) use Landini's
> BinaryLabel8 plugin (see plugins documentatiuon) to assign a unique label to
> each cell silhouette, 3) use setThreshold() and run("Convert to Mask") to
> pull out each cell's silhouette in turn, and 4) run your process on each of
> these silhouettes.
>
> Does this help, or am I missing the point?
>
> David Webster
> On Fri, Mar 13, 2009 at 6:39 AM, Eric BADEL <[hidden email]>wrote:
>
>  
>> Hi all,
>> I need to evaluate the cell wall thickness in a cellular material. I
>> already
>> use "distance map" and other very useful "Local thickness" plugin and I get
>> the map of local thickness.
>> Now I need to split the information and to evaluate the local thickness of
>> the wall of each cell. This mean I need to get all the values on the
>> skeleton that is linked to one cell (and do it for each cell).
>> I had the idea to use the skeleton image, to dilate the cell then make the
>> difference with the initial image in order to get the values on the
>> boundaries of the cell. But I do not know how to operate cell by cell.
>> Any other idea ?
>> Eric
>>
>>    

--
Eric BADEL

Attention: new details !

******  [hidden email]  ***********
BADEL Eric
PIAF
INRA Site de Crouel
234, avenue du Brezet
63100 Clermont-Ferrand - France
tel: (33) 4 73 62 44 38

[hidden email]
************************************************
other e-mail addresses are not available any more
Reply | Threaded
Open this post in threaded view
|

Re: cell by cell local thickness

Gabriel Landini
On Monday 16 March 2009 08:50:00 Eric Badel wrote:
> I generated an image that represents only the boundaries of the cell.
> The grey level values on this boundary represent the corresponding local
> thickness. Nox, I need to get these values, cell by cell. That means
> that the boundary line should be one ROI. Nevertheless, if I try to get
> values of this ROI, ImageJ thinks that the ROI is the surface of the shape.
> How, could I define only the boundary as an ROI (and get all the
> corresponding grey level value) ?


What results do you want from those boundaries?

You could use the particles8 plugin on the binary boundaries images and
redirect to the distance transform image.
The mean, mode, max, min, sd, etc of those distance transform pixels
corresponding to the binary image will be collected in the Results window, one
row per cell.

I hope this helps.
G.
Reply | Threaded
Open this post in threaded view
|

Re: cell by cell local thickness

Eric BADEL-2
- When I apply these plugin to the boundaries images, it works as if the ROI is the total cell (and not only the boundary).
- I'd like to get the whole list of the grey level values of each cell boundary.

One idea could be a macro that uses BinaryLabel8. Something like this (that does not still fully work ...)
On the binary boundary image:

run("BinaryLabel8 ", "white"); // generate "Labelled"
//run("Clear Results");
for (i=1; i<nResults+1; i++) {
   selectWindow("Labelled");
   run("Duplicate...", "title=Labelled-1");
   setThreshold(i, i);
   run("Convert to Mask");
   run("Create Selection");  
   getSelectionCoordinates(x, y);
   n = x.length;
   imageCalculator("AND create 32-bit", "LocalThickness.tif","Labelled-1"); // grey values of one boundary  (here "LocalThickness" is the LT image)
   for (j=0; j<n; i++) {
              v = getPixel(x[j], y[j]);
              setResult(i, x[j], y[j] , v ); // this line brings an error message ("," missing !!)
    }
   selectWindow("Labelled-1");
   run("Close" );
}
updateResults();

Any idea to correct this ?
Thank you.
Eric

Gabriel Landini a écrit :

> On Monday 16 March 2009 08:50:00 Eric Badel wrote:
>  
>> I generated an image that represents only the boundaries of the cell.
>> The grey level values on this boundary represent the corresponding local
>> thickness. Nox, I need to get these values, cell by cell. That means
>> that the boundary line should be one ROI. Nevertheless, if I try to get
>> values of this ROI, ImageJ thinks that the ROI is the surface of the shape.
>> How, could I define only the boundary as an ROI (and get all the
>> corresponding grey level value) ?
>>    
>
>
> What results do you want from those boundaries?
>
> You could use the particles8 plugin on the binary boundaries images and
> redirect to the distance transform image.
> The mean, mode, max, min, sd, etc of those distance transform pixels
> corresponding to the binary image will be collected in the Results window, one
> row per cell.
>
> I hope this helps.
> G.
>  

--
Eric BADEL

******  [hidden email]  ***********
BADEL Eric
PIAF
INRA Site de Crouel
234, avenue du Brezet
63100 Clermont-Ferrand - France
tel: (33) 4 73 62 44 38

[hidden email]
************************************************
! other e-mail addresses are not available any more
Reply | Threaded
Open this post in threaded view
|

release memory using macros

picheral
>Dear Colleagues,

I am using macros to process large images (720
Mo). I would like to control the memory and empty
the garbage collector. Is there any Macro solution for that ?

Regards

Marc P.




----------------------------------------------------------------------------------
VISIT our WEB site !

http://www.obs-vlfr.fr/LOV/ZooPart/
----------------------------------------------------------------------------------

Marc PICHERAL, ingenieur
Laboratoire d'Océanologie de Villefranche sur mer
CNRS UPMC UMR7093
Observatoire Océanologique de Villefranche-sur-Mer
Station Zoologique
La Darse
BP 28
06234 Villefranche sur mer
Tel : 04 93 76 38 08
Fax: 04 93 76 38 34  
Reply | Threaded
Open this post in threaded view
|

Re: release memory using macros

Thomas Boudier
Hi,

You can call any java class you want :

call("java.lang.System.gc");

Thomas


Marc Picheral a écrit :

>> Dear Colleagues,
>
> I am using macros to process large images (720 Mo). I would like to
> control the memory and empty the garbage collector. Is there any Macro
> solution for that ?
>
> Regards
>
> Marc P.
>
>
>
>
> ----------------------------------------------------------------------------------
>
> VISIT our WEB site !
>
> http://www.obs-vlfr.fr/LOV/ZooPart/
> ----------------------------------------------------------------------------------
>
>
> Marc PICHERAL, ingenieur
> Laboratoire d'Océanologie de Villefranche sur mer
> CNRS UPMC UMR7093
> Observatoire Océanologique de Villefranche-sur-Mer
> Station Zoologique
> La Darse
> BP 28
> 06234 Villefranche sur mer
> Tel : 04 93 76 38 08
> Fax: 04 93 76 38 34
>

--
   /**********************************************************/
      Thomas Boudier, MCU Université Pierre et Marie Curie,
      IFR 83. Bat B 7ème étage, porte 709, Jussieu.
      Tel : 01 44 27 20 11  Fax : 01 44 27 22 91
/*******************************************************/
Reply | Threaded
Open this post in threaded view
|

Re: release memory using macros

jmutterer
In reply to this post by picheral
Marc,

You can call the garbage collector class one or multiple times if it helps.

call("java.lang.System.gc");


Jerome.





On Mon, Mar 16, 2009 at 5:52 PM, Marc Picheral <[hidden email]>
wrote:
>>
>> Dear Colleagues,
>
> I am using macros to process large images (720 Mo). I would like to
control the memory and empty the garbage collector. Is there any Macro
solution for that ?
>
> Regards
>
> Marc P.
>
>
>
>
>
----------------------------------------------------------------------------------
> VISIT our WEB site !
>
> http://www.obs-vlfr.fr/LOV/ZooPart/
>
----------------------------------------------------------------------------------

>
> Marc PICHERAL, ingenieur
> Laboratoire d'Océanologie de Villefranche sur mer
> CNRS UPMC UMR7093
> Observatoire Océanologique de Villefranche-sur-Mer
> Station Zoologique
> La Darse
> BP 28
> 06234 Villefranche sur mer
> Tel : 04 93 76 38 08
> Fax: 04 93 76 38 34