GLCM_TextureTool latest version

Hello,

I am trying to use the GLCM Texture Tool (https://imagej.nih.gov/ij/plugins/texture.html) to analyse the degree of organisation in a region of interest. However, as my region of interest has an irregular (non-rectangular) shape, I would need to use an updated version mentioned in the above plugin description.

Could someone advise how to get a version of GLCM Texture Tool working with irregular shapes?

Thank you!

2 Likes

Hi @mariesarazova,

Welcome to the forum.

As far as I know, there isn’t an update to that plugin with the feature you want.
I’d recommend working with the biggest rectangular ROI that fits inside your irregular ROI.
If the rectangle big enough, then the statistics of the smaller area will be close to those of your bigger irregular area.

I see that imagej-ops also has an implementation of texture features similar to what you pointed to. I’m not so familiar with it, but I’d expect it can do what you want.

John

1 Like

Hi,

to come back shortly to the topic, Toby Cornish, who worked on an updated Texture Analyzer, pointed our attention to github (https://github.com/cornish/GLCM-TextureToo) for a newer version v0.008. However, he does not guarantee correctness or functionality of the plugin, as it has long not been worked on.

In my experience, I have had problems making that version run on my ImageJ 1.51u, Java 1.8.0_66 (64bit). However, with the ImageJ 1.51j8, Java 1.8.0_112(64-bit) it works (as in - runs without crashing…).

Also, there is a reference to v0.009, an “in house-modification” of v0.008 in Sivchenko et al., 2006 - https://www.tandfonline.com/doi/full/10.1080/23311916.2016.1206679

Hope this helps!
Marie

2 Likes

Hi,

If you are looking for textural analysis, I’m also working on a ImageJ front end for pyRadiomics software see : pyRadiomics GUI in ImageJ

It will require to install a third party app in python but then you will be able to operate radiomics calculations (including GLCM 2D and 3D) with 200+ radiomics feature with a strong scintific validation (see http://www.radiomics.io)

Salim

2 Likes

Hi Salim

Thank you for making a nice radiomics software.

I downloaded the software (imageJ jar) from URL below.
https://github.com/salimkanoun/pyRadiomics_GUI/releases/download/0.22.1/py_Radiomics.jar

Next, I included “brain1_image.nrrd” and “brain1_label.nrrd” as a image file and a mask file, respectively (both are sample files of pyradiomics). Then, I pushed “Calculate”, but nothing happened.

Could you please teach me how to calculate radiomics features?

xackey2001

Yes, you have to put the roi number in the first window
you can select only one roi number (example 1) or a range 1-5

Of course the ROI number you are going to enter have to exist in the mask

Salim

Le mer. 19 juin 2019 à 04:26, Motohiko Yamazaki via Image.sc Forum imagej@discoursemail.com a écrit :

Thank you for your kind reply.
I entered the Roi number (=1), and pushed the “Calculate” buton.
After that, the message “Done” is seen.
Where can I see results?

xackey2001

When you clicked on the calculate you should have been asked to define a CSV file location, the program generate the CSV file at the location you have choosen and you will see the results with this file with any spreadsheet reader

Le mer. 19 juin 2019 à 09:51, Motohiko Yamazaki via Image.sc Forum imagej@discoursemail.com a écrit :

you should have been asked to define a CSV file location
Unfortunately, such message did not apeared even after I pushed the “Calculate”.

Is Fiji not supported? Please tell me the supported version of ImageJ.
My OS is windows 7. Should I use windows 10?

xackey2001

It should work but the version you got from the github is old.

Could you try by removing the jar you downloaded and add in Fiji the “Nuclear Medicine” update site, you will download a more recent version of this pyRadiomics plugin.

Le mer. 19 juin 2019 à 10:32, Motohiko Yamazaki via Image.sc Forum imagej@discoursemail.com a écrit :

1 Like

As per your advice, I downloaded a recent version from the “Nuclear Medicine”.
After I clicked “Calculate”, info window appeared as shown on the uploaded image below.
But I am not asked where to save the CSV file. Am I correct?

xackey2001

Well, I have to fix…
I will try to look at tommorow

@xackey2001

I sent an update, the problem was due to a change in the output of pyradiomics in the latest 2.2.0 version.

Please confirm if it is now fixed for you

Best regards,

Salim

The update version successfully worked.
Thank you very much!!

xackey2001

@Salim_Kanoun

Hi @Salim_Kanoun

Thank you for your good works.
I’m also having an issue. I’m extracting the radiomics feature from DICOM images and it’s a 3D MR image (just a single slice with 3 mm thickness). After inputing Mask & original file, it shows an error.
Here this is:
*E: radiomics.script: Feature extraction failed!
Traceback (most recent call last):
"File ““c:\python\python390\lib\site-packages\radiomics\scripts\segment.py””, line 70, in _extractFeatures feature_vector.update(extractor.execute(imageFilepath, maskFilepath, label, label_channel))"
"File ““c:\python\python390\lib\site-packages\radiomics\featureextractor.py””, line 272, in execute image, mask = self.loadlmage(imageFilepath, maskFilepath, generallnfo, -_settings)"
"File ““c:\python\python390\lib\site-packages\radiomics\featureextractor.py””, line 385, in loadlmage mask = imageoperations.getMask(mask, -kwargs)"
"File ““c:\python\python390\lib\site-packages\radiomics\imageoperations .py””, line 51, in getMask raise ValueError(‘Label (%g) not present in mask. Choose from %s’ % (label, labels[labels !:OJ))"
ValueError: Label (1) not present in mask. Choose from (255)
*
Would you give me any idea, what I need to do? I am new in this area.

Thanks

Well i think the solution is in your log

ValueError: Label (1) not present in mask. Choose from (255

You seems to call the results of a label that is not in your mask.

Thanks
Is there any way to change the Label value on ImageJ?

I created binary mask using ImageJ.

in the main view of the PyRadiomics GUI you have a “ROI number” in which you write your label number.

On you binary mask check the value of your pixel either 0/1 or 0/255 then your mask is 1 or 255

1 Like