cerr / CERR

Matlab/Octave based platform for Radiological Research.
https://cerr.github.io/CERR/
GNU Lesser General Public License v2.1
188 stars 101 forks source link

Refactor the Radiomics test suite #167

Open adityaapte opened 6 years ago

adityaapte commented 6 years ago

Use wrapper for pre-processing filters, etc.

kundan1974 commented 6 years ago

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

adityaapte commented 6 years ago

Take a look at https://github.com/cerr/CERR/wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/wiki/Global-radiomics-feature-calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 notifications@github.com wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403076014, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzUh_imV4_G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

kundan1974 commented 6 years ago

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte notifications@github.com wrote:

Take a look at https://github.com/cerr/CERR/wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 notifications@github.com wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403076014, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403100930, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4_CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India

adityaapte commented 6 years ago

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 notifications@github.com wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte notifications@github.com wrote:

Take a look at https://github.com/cerr/CERR/wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 notifications@github.com wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403076014, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403100930, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4_CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

kundan1974 commented 6 years ago

thanks i got your point but now after correcting for the scan number, i am still getting this error

featS = calcGlobalRadiomicsFeatures(1, 1, paramS, planC); Error using < Matrix dimensions must agree. Error in getShapeParams (line 69) rcsV(rcsV < siz) = siz(rcsV < siz); Error in calcGlobalRadiomicsFeatures (line 65) [featureS.shapeS] = getShapeParams(maskBoundingBox3M, ...

On Sat, Jul 7, 2018 at 1:28 PM, Aditya P. Apte notifications@github.com wrote:

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 notifications@github.com wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte < notifications@github.com> wrote:

Take a look at https://github.com/cerr/CERR/wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 notifications@github.com wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403076014, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403100930, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4_ CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403197170, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4xEZeTfBtcFe3jrjBWq1dlv4-SN_ks5uEGokgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India

adityaapte commented 6 years ago

Can you please pull the latest CERR and try again.

On Jul 7, 2018, at 6:30 AM, kundan1974 notifications@github.com wrote:

thanks i got your point but now after correcting for the scan number, i am still getting this error

featS = calcGlobalRadiomicsFeatures(1, 1, paramS, planC); Error using < Matrix dimensions must agree. Error in getShapeParams (line 69) rcsV(rcsV < siz) = siz(rcsV < siz); Error in calcGlobalRadiomicsFeatures (line 65) [featureS.shapeS] = getShapeParams(maskBoundingBox3M, ...

On Sat, Jul 7, 2018 at 1:28 PM, Aditya P. Apte notifications@github.com wrote:

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 notifications@github.com wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte < notifications@github.com> wrote:

Take a look at https://github.com/cerr/CERR/wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 notifications@github.com wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403076014, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403100930, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4_ CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403197170, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4xEZeTfBtcFe3jrjBWq1dlv4-SN_ks5uEGokgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

kundan1974 commented 6 years ago

This is what i am getting with the latest version of CERR

CERR>> Loaded Lung_Bachu.mat.bz2. Ready.

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'paramS'. radiomics featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'planC'. global planC featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

On Sat, Jul 7, 2018 at 7:55 PM, Aditya P. Apte notifications@github.com wrote:

Can you please pull the latest CERR and try again.

On Jul 7, 2018, at 6:30 AM, kundan1974 notifications@github.com wrote:

thanks i got your point but now after correcting for the scan number, i am still getting this error

featS = calcGlobalRadiomicsFeatures(1, 1, paramS, planC); Error using < Matrix dimensions must agree. Error in getShapeParams (line 69) rcsV(rcsV < siz) = siz(rcsV < siz); Error in calcGlobalRadiomicsFeatures (line 65) [featureS.shapeS] = getShapeParams(maskBoundingBox3M, ...

On Sat, Jul 7, 2018 at 1:28 PM, Aditya P. Apte <notifications@github.com

wrote:

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 notifications@github.com wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte < notifications@github.com> wrote:

Take a look at https://github.com/cerr/CERR/wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 < notifications@github.com> wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403076014, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403100930, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4_ CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403197170, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o4xEZeTfBtcFe3jrjBWq1dlv4-SN_ks5uEGokgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403219294, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4w_rmSej1zwF_AzRdeWLs_2T_7uXks5uEMTWgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India

adityaapte commented 6 years ago

Looks like the parameter settings for min/max intensity cutoffs might be too stringent. This might result in no discretization of the input image and hence the error in texture calculation. Relaxing or removing these cutoffs might help. Can you please share the parameters?

On Jul 8, 2018, at 12:07 AM, kundan1974 notifications@github.com wrote:

This is what i am getting with the latest version of CERR

CERR>> Loaded Lung_Bachu.mat.bz2. Ready.

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'paramS'. radiomics featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'planC'. global planC featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

On Sat, Jul 7, 2018 at 7:55 PM, Aditya P. Apte notifications@github.com wrote:

Can you please pull the latest CERR and try again.

On Jul 7, 2018, at 6:30 AM, kundan1974 notifications@github.com wrote:

thanks i got your point but now after correcting for the scan number, i am still getting this error

featS = calcGlobalRadiomicsFeatures(1, 1, paramS, planC); Error using < Matrix dimensions must agree. Error in getShapeParams (line 69) rcsV(rcsV < siz) = siz(rcsV < siz); Error in calcGlobalRadiomicsFeatures (line 65) [featureS.shapeS] = getShapeParams(maskBoundingBox3M, ...

On Sat, Jul 7, 2018 at 1:28 PM, Aditya P. Apte <notifications@github.com

wrote:

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 notifications@github.com wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte < notifications@github.com> wrote:

Take a look at https://github.com/cerr/CERR/wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 < notifications@github.com> wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403076014, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403100930, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4_ CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403197170, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o4xEZeTfBtcFe3jrjBWq1dlv4-SN_ks5uEGokgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403219294, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4w_rmSej1zwF_AzRdeWLs_2T_7uXks5uEMTWgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

kundan1974 commented 6 years ago

initially i kept the cutoff to -50 and 200 then I left them blank, still i am getting this error

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

sharing the parameters

firstOrderParamsS = struct; higherOrderParamS = struct; shapeParamS = struct; peakValleyParamS = struct; ivhParamS = struct; whichFeatS = struct; paramS.firstOrderParamS.offsetForEnergy = 1000; % 0 for PET SUVs. firstOrderParamS.binWidthEntropy = 5; % binwidth to calculate entropy. Typically, the same value is used for discretizing image for higher order (texture) calculation. higherOrderParamS.minIntensity = []; % minimum clipping intensity. Values less than this are clipped to this value. higherOrderParamS.maxIntensity = []; % maximum clipping intensity. Values greater than this are clipped to this value. higherOrderParamS.minIntensityCutoff = []; % voxels with intensity lower than this value are ignored. higherOrderParamS.maxIntensityCutoff = []; % voxels with intensity greater than this value are ignored. higherOrderParamS.numGrLevels = []; % number of gray levels to use. Leave empty to use a fixed binwidth. higherOrderParamS.binwidth = 5; % binwidth to discretize an image. higherOrderParamS.neighborVoxelOffset = 5; % voxel neighbor distance for Haralick texture calculation. higherOrderParamS.patchRadius2dV = [2 2 0]; % patch radius for NGTDM and NGLDM features. higherOrderParamS.imgDiffThresh = 0; % difference threshold for NGTDM and NGLDM features. higherOrderParamS.patchRadius3dV = [1 1 1]; % patch radius for NGTDM and NGLDM features. paramS.higherOrderParamS = higherOrderParamS; shapeParamS.rcsV = []; % [numRows, numCols, numSlics] to resample scan for shape calculation.. This should be chosen to create a fine enough mesh without too much computational overload. Leave empty to use the resolution same as that of the image. paramS.shapeParamS = shapeParamS; peakValleyParamS.peakRadius = [2 2 0]; % neighborhood patch radius for averaging intensities. paramS.peakValleyParamS = peakValleyParamS; ivhParamS.xAbsForVxV = -140:10:100; % CT, 0:2:28; % PET. Vector of absolute intensities. ivhParamS.xForIxV = 10:10:90; % Vector of percentage volumes ivhParamS.xAbsForIxV = 10:20:200; % Vector of absolute volumes [cc] ivhParamS.xForVxV = 10:10:90; % Vector of percent intensity cutoff paramS.ivhParamS = ivhParamS; whichFeatS.shape = 1; whichFeatS.harFeat2Ddir = 1; whichFeatS.harFeat2Dcomb = 0; whichFeatS.harFeat3Ddir = 0; whichFeatS.harFeat3Dcomb = 0; whichFeatS.rlmFeat2Ddir = 1; whichFeatS.rlmFeat2Dcomb = 0; whichFeatS.rlmFeat3Ddir = 0; whichFeatS.rlmFeat3Dcomb = 0; whichFeatS.ngtdmFeatures2d = 1; whichFeatS.ngtdmFeatures3d = 0; whichFeatS.ngldmFeatures2d = 1; whichFeatS.ngldmFeatures3d = 0; whichFeatS.szmFeature2d = 1; whichFeatS.szmFeature3d = 0; whichFeatS.firstOrder = 1; whichFeatS.ivh = 0; whichFeatS.peakValley = 1; paramS.whichFeatS = whichFeatS; paramS.toQuantizeFlag = 0; % 1: yes quantize, 0: don't quantize, the input scan is already quantized. % Access the planC object global planC % Structure index scanNum = 1; structNum = 1;

On Sun, Jul 8, 2018 at 10:08 AM, Aditya P. Apte notifications@github.com wrote:

Looks like the parameter settings for min/max intensity cutoffs might be too stringent. This might result in no discretization of the input image and hence the error in texture calculation. Relaxing or removing these cutoffs might help. Can you please share the parameters?

On Jul 8, 2018, at 12:07 AM, kundan1974 notifications@github.com wrote:

This is what i am getting with the latest version of CERR

CERR>> Loaded Lung_Bachu.mat.bz2. Ready.

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'paramS'. radiomics featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'planC'. global planC featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

On Sat, Jul 7, 2018 at 7:55 PM, Aditya P. Apte <notifications@github.com

wrote:

Can you please pull the latest CERR and try again.

On Jul 7, 2018, at 6:30 AM, kundan1974 notifications@github.com wrote:

thanks i got your point but now after correcting for the scan number, i am still getting this error

featS = calcGlobalRadiomicsFeatures(1, 1, paramS, planC); Error using < Matrix dimensions must agree. Error in getShapeParams (line 69) rcsV(rcsV < siz) = siz(rcsV < siz); Error in calcGlobalRadiomicsFeatures (line 65) [featureS.shapeS] = getShapeParams(maskBoundingBox3M, ...

On Sat, Jul 7, 2018 at 1:28 PM, Aditya P. Apte < notifications@github.com

wrote:

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 <notifications@github.com

wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte < notifications@github.com> wrote:

Take a look at https://github.com/cerr/CERR/wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 < notifications@github.com> wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403076014, or mute the thread https://github.com/notifications/unsubscribe- auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403100930, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4_ CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403197170, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o4xEZeTfBtcFe3jrjBWq1dlv4-SN_ks5uEGokgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403219294, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4w_rmSej1zwF_ AzRdeWLs_2T_7uXks5uEMTWgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403261799, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o42bbuYLG9NovwbOGdN1ETI05YEMGks5uEYy9gaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India

adityaapte commented 6 years ago

paramS.toQuantizeFlag should be set to 1. This flag tells the engine to discretize the scan.

On Jul 8, 2018, at 2:52 AM, kundan1974 notifications@github.com wrote:

initially i kept the cutoff to -50 and 200 then I left them blank, still i am getting this error

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

sharing the parameters

firstOrderParamsS = struct; higherOrderParamS = struct; shapeParamS = struct; peakValleyParamS = struct; ivhParamS = struct; whichFeatS = struct; paramS.firstOrderParamS.offsetForEnergy = 1000; % 0 for PET SUVs. firstOrderParamS.binWidthEntropy = 5; % binwidth to calculate entropy. Typically, the same value is used for discretizing image for higher order (texture) calculation. higherOrderParamS.minIntensity = []; % minimum clipping intensity. Values less than this are clipped to this value. higherOrderParamS.maxIntensity = []; % maximum clipping intensity. Values greater than this are clipped to this value. higherOrderParamS.minIntensityCutoff = []; % voxels with intensity lower than this value are ignored. higherOrderParamS.maxIntensityCutoff = []; % voxels with intensity greater than this value are ignored. higherOrderParamS.numGrLevels = []; % number of gray levels to use. Leave empty to use a fixed binwidth. higherOrderParamS.binwidth = 5; % binwidth to discretize an image. higherOrderParamS.neighborVoxelOffset = 5; % voxel neighbor distance for Haralick texture calculation. higherOrderParamS.patchRadius2dV = [2 2 0]; % patch radius for NGTDM and NGLDM features. higherOrderParamS.imgDiffThresh = 0; % difference threshold for NGTDM and NGLDM features. higherOrderParamS.patchRadius3dV = [1 1 1]; % patch radius for NGTDM and NGLDM features. paramS.higherOrderParamS = higherOrderParamS; shapeParamS.rcsV = []; % [numRows, numCols, numSlics] to resample scan for shape calculation.. This should be chosen to create a fine enough mesh without too much computational overload. Leave empty to use the resolution same as that of the image. paramS.shapeParamS = shapeParamS; peakValleyParamS.peakRadius = [2 2 0]; % neighborhood patch radius for averaging intensities. paramS.peakValleyParamS = peakValleyParamS; ivhParamS.xAbsForVxV = -140:10:100; % CT, 0:2:28; % PET. Vector of absolute intensities. ivhParamS.xForIxV = 10:10:90; % Vector of percentage volumes ivhParamS.xAbsForIxV = 10:20:200; % Vector of absolute volumes [cc] ivhParamS.xForVxV = 10:10:90; % Vector of percent intensity cutoff paramS.ivhParamS = ivhParamS; whichFeatS.shape = 1; whichFeatS.harFeat2Ddir = 1; whichFeatS.harFeat2Dcomb = 0; whichFeatS.harFeat3Ddir = 0; whichFeatS.harFeat3Dcomb = 0; whichFeatS.rlmFeat2Ddir = 1; whichFeatS.rlmFeat2Dcomb = 0; whichFeatS.rlmFeat3Ddir = 0; whichFeatS.rlmFeat3Dcomb = 0; whichFeatS.ngtdmFeatures2d = 1; whichFeatS.ngtdmFeatures3d = 0; whichFeatS.ngldmFeatures2d = 1; whichFeatS.ngldmFeatures3d = 0; whichFeatS.szmFeature2d = 1; whichFeatS.szmFeature3d = 0; whichFeatS.firstOrder = 1; whichFeatS.ivh = 0; whichFeatS.peakValley = 1; paramS.whichFeatS = whichFeatS; paramS.toQuantizeFlag = 0; % 1: yes quantize, 0: don't quantize, the input scan is already quantized. % Access the planC object global planC % Structure index scanNum = 1; structNum = 1;

On Sun, Jul 8, 2018 at 10:08 AM, Aditya P. Apte notifications@github.com wrote:

Looks like the parameter settings for min/max intensity cutoffs might be too stringent. This might result in no discretization of the input image and hence the error in texture calculation. Relaxing or removing these cutoffs might help. Can you please share the parameters?

On Jul 8, 2018, at 12:07 AM, kundan1974 notifications@github.com wrote:

This is what i am getting with the latest version of CERR

CERR>> Loaded Lung_Bachu.mat.bz2. Ready.

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'paramS'. radiomics featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'planC'. global planC featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

On Sat, Jul 7, 2018 at 7:55 PM, Aditya P. Apte <notifications@github.com

wrote:

Can you please pull the latest CERR and try again.

On Jul 7, 2018, at 6:30 AM, kundan1974 notifications@github.com wrote:

thanks i got your point but now after correcting for the scan number, i am still getting this error

featS = calcGlobalRadiomicsFeatures(1, 1, paramS, planC); Error using < Matrix dimensions must agree. Error in getShapeParams (line 69) rcsV(rcsV < siz) = siz(rcsV < siz); Error in calcGlobalRadiomicsFeatures (line 65) [featureS.shapeS] = getShapeParams(maskBoundingBox3M, ...

On Sat, Jul 7, 2018 at 1:28 PM, Aditya P. Apte < notifications@github.com

wrote:

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 <notifications@github.com

wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte < notifications@github.com> wrote:

Take a look at https://github.com/cerr/CERR/wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 < notifications@github.com> wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403076014, or mute the thread https://github.com/notifications/unsubscribe- auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403100930, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4_ CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403197170, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o4xEZeTfBtcFe3jrjBWq1dlv4-SN_ks5uEGokgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403219294, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4w_rmSej1zwF_ AzRdeWLs_2T_7uXks5uEMTWgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403261799, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o42bbuYLG9NovwbOGdN1ETI05YEMGks5uEYy9gaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

kundan1974 commented 6 years ago

I changed and set the flag to 1. it did some initial calculation but then there was this error

featS = calcGlobalRadiomicsFeatures(1, 22, paramS, planC); --- NGTDM Calculation for Slice # 1 ---- --- NGTDM Calculation for Slice # 2 ---- --- NGTDM Calculation for Slice # 3 ---- --- NGTDM Calculation for Slice # 4 ---- --- NGTDM Calculation for Slice # 5 ---- --- NGTDM Calculation for Slice # 6 ---- --- NGTDM Calculation for Slice # 7 ---- --- NGTDM Calculation for Slice # 8 ---- --- NGTDM Calculation for Slice # 9 ---- --- NGTDM Calculation for Slice # 10 ---- --- NGTDM Calculation for Slice # 11 ---- --- NGTDM Calculation for Slice # 12 ---- --- NGTDM Calculation for Slice # 13 ---- --- NGTDM Calculation for Slice # 14 ---- --- NGTDM Calculation for Slice # 15 ---- --- NGTDM Calculation for Slice # 16 ---- --- NGTDM Calculation for Slice # 17 ---- --- NGTDM Calculation for Slice # 18 ---- --- NGTDM Calculation for Slice # 19 ---- --- NGTDM Calculation for Slice # 20 ---- --- NGTDM Calculation for Slice # 21 ---- --- NGTDM Calculation for Slice # 22 ---- --- NGTDM Calculation for Slice # 23 ---- --- NGTDM Calculation for Slice # 24 ---- --- NGTDM Calculation for Slice # 25 ---- --- NGTDM Calculation for Slice # 26 ---- --- NGTDM Calculation for Slice # 27 ---- --- NGTDM Calculation for Slice # 28 ---- --- NGTDM Calculation for Slice # 29 ---- --- NGTDM Calculation for Slice # 30 ---- --- NGTDM Calculation for Slice # 31 ---- --- NGTDM Calculation for Slice # 32 ---- --- NGTDM Calculation for Slice # 33 ---- --- NGTDM Calculation for Slice # 34 ---- --- NGTDM Calculation for Slice # 35 ---- --- NGTDM Calculation for Slice # 36 ---- --- NGTDM Calculation for Slice # 37 ---- --- NGTDM Calculation for Slice # 38 ---- --- NGTDM Calculation for Slice # 39 ---- --- NGTDM Calculation for Slice # 40 ---- --- NGTDM Calculation for Slice # 41 ---- --- NGTDM Calculation for Slice # 42 ---- --- NGTDM Calculation for Slice # 43 ---- --- NGTDM Calculation for Slice # 44 ---- --- NGTDM Calculation for Slice # 45 ---- --- NGTDM Calculation for Slice # 46 ---- --- NGTDM Calculation for Slice # 47 ---- Elapsed time is 0.896154 seconds. --- NGTDM Calculation for Slice # 1 ---- --- NGTDM Calculation for Slice # 2 ---- --- NGTDM Calculation for Slice # 3 ---- --- NGTDM Calculation for Slice # 4 ---- --- NGTDM Calculation for Slice # 5 ---- --- NGTDM Calculation for Slice # 6 ---- --- NGTDM Calculation for Slice # 7 ---- --- NGTDM Calculation for Slice # 8 ---- --- NGTDM Calculation for Slice # 9 ---- --- NGTDM Calculation for Slice # 10 ---- --- NGTDM Calculation for Slice # 11 ---- --- NGTDM Calculation for Slice # 12 ---- --- NGTDM Calculation for Slice # 13 ---- --- NGTDM Calculation for Slice # 14 ---- --- NGTDM Calculation for Slice # 15 ---- --- NGTDM Calculation for Slice # 16 ---- --- NGTDM Calculation for Slice # 17 ---- --- NGTDM Calculation for Slice # 18 ---- --- NGTDM Calculation for Slice # 19 ---- --- NGTDM Calculation for Slice # 20 ---- --- NGTDM Calculation for Slice # 21 ---- --- NGTDM Calculation for Slice # 22 ---- --- NGTDM Calculation for Slice # 23 ---- --- NGTDM Calculation for Slice # 24 ---- --- NGTDM Calculation for Slice # 25 ---- --- NGTDM Calculation for Slice # 26 ---- --- NGTDM Calculation for Slice # 27 ---- --- NGTDM Calculation for Slice # 28 ---- --- NGTDM Calculation for Slice # 29 ---- --- NGTDM Calculation for Slice # 30 ---- --- NGTDM Calculation for Slice # 31 ---- --- NGTDM Calculation for Slice # 32 ---- --- NGTDM Calculation for Slice # 33 ---- --- NGTDM Calculation for Slice # 34 ---- --- NGTDM Calculation for Slice # 35 ---- --- NGTDM Calculation for Slice # 36 ---- --- NGTDM Calculation for Slice # 37 ---- --- NGTDM Calculation for Slice # 38 ---- --- NGTDM Calculation for Slice # 39 ---- --- NGTDM Calculation for Slice # 40 ---- --- NGTDM Calculation for Slice # 41 ---- --- NGTDM Calculation for Slice # 42 ---- --- NGTDM Calculation for Slice # 43 ---- --- NGTDM Calculation for Slice # 44 ---- --- NGTDM Calculation for Slice # 45 ---- --- NGTDM Calculation for Slice # 46 ---- --- NGTDM Calculation for Slice # 47 ---- Elapsed time is 0.647689 seconds. Reference to non-existent field 'binWidthEntropy'. Error in calcGlobalRadiomicsFeatures (line 272)

paramS.firstOrderParamS.offsetForEnergy,paramS.firstOrderParamS.binWidthEntropy);

On Sun, Jul 8, 2018 at 5:00 PM, Aditya P. Apte notifications@github.com wrote:

paramS.toQuantizeFlag should be set to 1. This flag tells the engine to discretize the scan.

On Jul 8, 2018, at 2:52 AM, kundan1974 notifications@github.com wrote:

initially i kept the cutoff to -50 and 200 then I left them blank, still i am getting this error

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

sharing the parameters

firstOrderParamsS = struct; higherOrderParamS = struct; shapeParamS = struct; peakValleyParamS = struct; ivhParamS = struct; whichFeatS = struct; paramS.firstOrderParamS.offsetForEnergy = 1000; % 0 for PET SUVs. firstOrderParamS.binWidthEntropy = 5; % binwidth to calculate entropy. Typically, the same value is used for discretizing image for higher order (texture) calculation. higherOrderParamS.minIntensity = []; % minimum clipping intensity. Values less than this are clipped to this value. higherOrderParamS.maxIntensity = []; % maximum clipping intensity. Values greater than this are clipped to this value. higherOrderParamS.minIntensityCutoff = []; % voxels with intensity lower than this value are ignored. higherOrderParamS.maxIntensityCutoff = []; % voxels with intensity greater than this value are ignored. higherOrderParamS.numGrLevels = []; % number of gray levels to use. Leave empty to use a fixed binwidth. higherOrderParamS.binwidth = 5; % binwidth to discretize an image. higherOrderParamS.neighborVoxelOffset = 5; % voxel neighbor distance for Haralick texture calculation. higherOrderParamS.patchRadius2dV = [2 2 0]; % patch radius for NGTDM and NGLDM features. higherOrderParamS.imgDiffThresh = 0; % difference threshold for NGTDM and NGLDM features. higherOrderParamS.patchRadius3dV = [1 1 1]; % patch radius for NGTDM and NGLDM features. paramS.higherOrderParamS = higherOrderParamS; shapeParamS.rcsV = []; % [numRows, numCols, numSlics] to resample scan for shape calculation.. This should be chosen to create a fine enough mesh without too much computational overload. Leave empty to use the resolution same as that of the image. paramS.shapeParamS = shapeParamS; peakValleyParamS.peakRadius = [2 2 0]; % neighborhood patch radius for averaging intensities. paramS.peakValleyParamS = peakValleyParamS; ivhParamS.xAbsForVxV = -140:10:100; % CT, 0:2:28; % PET. Vector of absolute intensities. ivhParamS.xForIxV = 10:10:90; % Vector of percentage volumes ivhParamS.xAbsForIxV = 10:20:200; % Vector of absolute volumes [cc] ivhParamS.xForVxV = 10:10:90; % Vector of percent intensity cutoff paramS.ivhParamS = ivhParamS; whichFeatS.shape = 1; whichFeatS.harFeat2Ddir = 1; whichFeatS.harFeat2Dcomb = 0; whichFeatS.harFeat3Ddir = 0; whichFeatS.harFeat3Dcomb = 0; whichFeatS.rlmFeat2Ddir = 1; whichFeatS.rlmFeat2Dcomb = 0; whichFeatS.rlmFeat3Ddir = 0; whichFeatS.rlmFeat3Dcomb = 0; whichFeatS.ngtdmFeatures2d = 1; whichFeatS.ngtdmFeatures3d = 0; whichFeatS.ngldmFeatures2d = 1; whichFeatS.ngldmFeatures3d = 0; whichFeatS.szmFeature2d = 1; whichFeatS.szmFeature3d = 0; whichFeatS.firstOrder = 1; whichFeatS.ivh = 0; whichFeatS.peakValley = 1; paramS.whichFeatS = whichFeatS; paramS.toQuantizeFlag = 0; % 1: yes quantize, 0: don't quantize, the input scan is already quantized. % Access the planC object global planC % Structure index scanNum = 1; structNum = 1;

On Sun, Jul 8, 2018 at 10:08 AM, Aditya P. Apte < notifications@github.com> wrote:

Looks like the parameter settings for min/max intensity cutoffs might be too stringent. This might result in no discretization of the input image and hence the error in texture calculation. Relaxing or removing these cutoffs might help. Can you please share the parameters?

On Jul 8, 2018, at 12:07 AM, kundan1974 notifications@github.com wrote:

This is what i am getting with the latest version of CERR

CERR>> Loaded Lung_Bachu.mat.bz2. Ready.

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'paramS'. radiomics featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'planC'. global planC featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

On Sat, Jul 7, 2018 at 7:55 PM, Aditya P. Apte < notifications@github.com

wrote:

Can you please pull the latest CERR and try again.

On Jul 7, 2018, at 6:30 AM, kundan1974 <notifications@github.com

wrote:

thanks i got your point but now after correcting for the scan number, i am still getting this error

featS = calcGlobalRadiomicsFeatures(1, 1, paramS, planC); Error using < Matrix dimensions must agree. Error in getShapeParams (line 69) rcsV(rcsV < siz) = siz(rcsV < siz); Error in calcGlobalRadiomicsFeatures (line 65) [featureS.shapeS] = getShapeParams(maskBoundingBox3M, ...

On Sat, Jul 7, 2018 at 1:28 PM, Aditya P. Apte < notifications@github.com

wrote:

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 < notifications@github.com

wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte < notifications@github.com> wrote:

Take a look at https://github.com/cerr/CERR/wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/ wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 < notifications@github.com> wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403076014, or mute the thread https://github.com/notifications/unsubscribe- auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403100930, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o4_ CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403197170, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o4xEZeTfBtcFe3jrjBWq1dlv4-SN_ks5uEGokgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403219294, or mute the thread https://github.com/notifications/unsubscribe- auth/Ah6o4w_rmSej1zwF_ AzRdeWLs_2T_7uXks5uEMTWgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403261799, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o42bbuYLG9NovwbOGdN1ETI05YEMGks5uEYy9gaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403281134, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah6o42yHgnwAu1ZzU3GYJ6yrR8aQamVBks5uEe1CgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India

adityaapte commented 6 years ago

There was a typo on the Wiki page for parameter definition. Please use the following:

paramS.firstOrderParamS.binWidthEntropy = 5;

On Sun, Jul 8, 2018 at 8:54 AM, kundan1974 notifications@github.com wrote:

I changed and set the flag to 1. it did some initial calculation but then there was this error

featS = calcGlobalRadiomicsFeatures(1, 22, paramS, planC); --- NGTDM Calculation for Slice # 1 ---- --- NGTDM Calculation for Slice # 2 ---- --- NGTDM Calculation for Slice # 3 ---- --- NGTDM Calculation for Slice # 4 ---- --- NGTDM Calculation for Slice # 5 ---- --- NGTDM Calculation for Slice # 6 ---- --- NGTDM Calculation for Slice # 7 ---- --- NGTDM Calculation for Slice # 8 ---- --- NGTDM Calculation for Slice # 9 ---- --- NGTDM Calculation for Slice # 10 ---- --- NGTDM Calculation for Slice # 11 ---- --- NGTDM Calculation for Slice # 12 ---- --- NGTDM Calculation for Slice # 13 ---- --- NGTDM Calculation for Slice # 14 ---- --- NGTDM Calculation for Slice # 15 ---- --- NGTDM Calculation for Slice # 16 ---- --- NGTDM Calculation for Slice # 17 ---- --- NGTDM Calculation for Slice # 18 ---- --- NGTDM Calculation for Slice # 19 ---- --- NGTDM Calculation for Slice # 20 ---- --- NGTDM Calculation for Slice # 21 ---- --- NGTDM Calculation for Slice # 22 ---- --- NGTDM Calculation for Slice # 23 ---- --- NGTDM Calculation for Slice # 24 ---- --- NGTDM Calculation for Slice # 25 ---- --- NGTDM Calculation for Slice # 26 ---- --- NGTDM Calculation for Slice # 27 ---- --- NGTDM Calculation for Slice # 28 ---- --- NGTDM Calculation for Slice # 29 ---- --- NGTDM Calculation for Slice # 30 ---- --- NGTDM Calculation for Slice # 31 ---- --- NGTDM Calculation for Slice # 32 ---- --- NGTDM Calculation for Slice # 33 ---- --- NGTDM Calculation for Slice # 34 ---- --- NGTDM Calculation for Slice # 35 ---- --- NGTDM Calculation for Slice # 36 ---- --- NGTDM Calculation for Slice # 37 ---- --- NGTDM Calculation for Slice # 38 ---- --- NGTDM Calculation for Slice # 39 ---- --- NGTDM Calculation for Slice # 40 ---- --- NGTDM Calculation for Slice # 41 ---- --- NGTDM Calculation for Slice # 42 ---- --- NGTDM Calculation for Slice # 43 ---- --- NGTDM Calculation for Slice # 44 ---- --- NGTDM Calculation for Slice # 45 ---- --- NGTDM Calculation for Slice # 46 ---- --- NGTDM Calculation for Slice # 47 ---- Elapsed time is 0.896154 seconds. --- NGTDM Calculation for Slice # 1 ---- --- NGTDM Calculation for Slice # 2 ---- --- NGTDM Calculation for Slice # 3 ---- --- NGTDM Calculation for Slice # 4 ---- --- NGTDM Calculation for Slice # 5 ---- --- NGTDM Calculation for Slice # 6 ---- --- NGTDM Calculation for Slice # 7 ---- --- NGTDM Calculation for Slice # 8 ---- --- NGTDM Calculation for Slice # 9 ---- --- NGTDM Calculation for Slice # 10 ---- --- NGTDM Calculation for Slice # 11 ---- --- NGTDM Calculation for Slice # 12 ---- --- NGTDM Calculation for Slice # 13 ---- --- NGTDM Calculation for Slice # 14 ---- --- NGTDM Calculation for Slice # 15 ---- --- NGTDM Calculation for Slice # 16 ---- --- NGTDM Calculation for Slice # 17 ---- --- NGTDM Calculation for Slice # 18 ---- --- NGTDM Calculation for Slice # 19 ---- --- NGTDM Calculation for Slice # 20 ---- --- NGTDM Calculation for Slice # 21 ---- --- NGTDM Calculation for Slice # 22 ---- --- NGTDM Calculation for Slice # 23 ---- --- NGTDM Calculation for Slice # 24 ---- --- NGTDM Calculation for Slice # 25 ---- --- NGTDM Calculation for Slice # 26 ---- --- NGTDM Calculation for Slice # 27 ---- --- NGTDM Calculation for Slice # 28 ---- --- NGTDM Calculation for Slice # 29 ---- --- NGTDM Calculation for Slice # 30 ---- --- NGTDM Calculation for Slice # 31 ---- --- NGTDM Calculation for Slice # 32 ---- --- NGTDM Calculation for Slice # 33 ---- --- NGTDM Calculation for Slice # 34 ---- --- NGTDM Calculation for Slice # 35 ---- --- NGTDM Calculation for Slice # 36 ---- --- NGTDM Calculation for Slice # 37 ---- --- NGTDM Calculation for Slice # 38 ---- --- NGTDM Calculation for Slice # 39 ---- --- NGTDM Calculation for Slice # 40 ---- --- NGTDM Calculation for Slice # 41 ---- --- NGTDM Calculation for Slice # 42 ---- --- NGTDM Calculation for Slice # 43 ---- --- NGTDM Calculation for Slice # 44 ---- --- NGTDM Calculation for Slice # 45 ---- --- NGTDM Calculation for Slice # 46 ---- --- NGTDM Calculation for Slice # 47 ---- Elapsed time is 0.647689 seconds. Reference to non-existent field 'binWidthEntropy'. Error in calcGlobalRadiomicsFeatures (line 272)

paramS.firstOrderParamS.offsetForEnergy,paramS.firstOrderParamS. binWidthEntropy);

On Sun, Jul 8, 2018 at 5:00 PM, Aditya P. Apte notifications@github.com

wrote:

paramS.toQuantizeFlag should be set to 1. This flag tells the engine to discretize the scan.

On Jul 8, 2018, at 2:52 AM, kundan1974 notifications@github.com wrote:

initially i kept the cutoff to -50 and 200 then I left them blank, still i am getting this error

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

sharing the parameters

firstOrderParamsS = struct; higherOrderParamS = struct; shapeParamS = struct; peakValleyParamS = struct; ivhParamS = struct; whichFeatS = struct; paramS.firstOrderParamS.offsetForEnergy = 1000; % 0 for PET SUVs. firstOrderParamS.binWidthEntropy = 5; % binwidth to calculate entropy. Typically, the same value is used for discretizing image for higher order (texture) calculation. higherOrderParamS.minIntensity = []; % minimum clipping intensity. Values less than this are clipped to this value. higherOrderParamS.maxIntensity = []; % maximum clipping intensity. Values greater than this are clipped to this value. higherOrderParamS.minIntensityCutoff = []; % voxels with intensity lower than this value are ignored. higherOrderParamS.maxIntensityCutoff = []; % voxels with intensity greater than this value are ignored. higherOrderParamS.numGrLevels = []; % number of gray levels to use. Leave empty to use a fixed binwidth. higherOrderParamS.binwidth = 5; % binwidth to discretize an image. higherOrderParamS.neighborVoxelOffset = 5; % voxel neighbor distance for Haralick texture calculation. higherOrderParamS.patchRadius2dV = [2 2 0]; % patch radius for NGTDM and NGLDM features. higherOrderParamS.imgDiffThresh = 0; % difference threshold for NGTDM and NGLDM features. higherOrderParamS.patchRadius3dV = [1 1 1]; % patch radius for NGTDM and NGLDM features. paramS.higherOrderParamS = higherOrderParamS; shapeParamS.rcsV = []; % [numRows, numCols, numSlics] to resample scan for shape calculation.. This should be chosen to create a fine enough mesh without too much computational overload. Leave empty to use the resolution same as that of the image. paramS.shapeParamS = shapeParamS; peakValleyParamS.peakRadius = [2 2 0]; % neighborhood patch radius for averaging intensities. paramS.peakValleyParamS = peakValleyParamS; ivhParamS.xAbsForVxV = -140:10:100; % CT, 0:2:28; % PET. Vector of absolute intensities. ivhParamS.xForIxV = 10:10:90; % Vector of percentage volumes ivhParamS.xAbsForIxV = 10:20:200; % Vector of absolute volumes [cc] ivhParamS.xForVxV = 10:10:90; % Vector of percent intensity cutoff paramS.ivhParamS = ivhParamS; whichFeatS.shape = 1; whichFeatS.harFeat2Ddir = 1; whichFeatS.harFeat2Dcomb = 0; whichFeatS.harFeat3Ddir = 0; whichFeatS.harFeat3Dcomb = 0; whichFeatS.rlmFeat2Ddir = 1; whichFeatS.rlmFeat2Dcomb = 0; whichFeatS.rlmFeat3Ddir = 0; whichFeatS.rlmFeat3Dcomb = 0; whichFeatS.ngtdmFeatures2d = 1; whichFeatS.ngtdmFeatures3d = 0; whichFeatS.ngldmFeatures2d = 1; whichFeatS.ngldmFeatures3d = 0; whichFeatS.szmFeature2d = 1; whichFeatS.szmFeature3d = 0; whichFeatS.firstOrder = 1; whichFeatS.ivh = 0; whichFeatS.peakValley = 1; paramS.whichFeatS = whichFeatS; paramS.toQuantizeFlag = 0; % 1: yes quantize, 0: don't quantize, the input scan is already quantized. % Access the planC object global planC % Structure index scanNum = 1; structNum = 1;

On Sun, Jul 8, 2018 at 10:08 AM, Aditya P. Apte < notifications@github.com> wrote:

Looks like the parameter settings for min/max intensity cutoffs might be too stringent. This might result in no discretization of the input image and hence the error in texture calculation. Relaxing or removing these cutoffs might help. Can you please share the parameters?

On Jul 8, 2018, at 12:07 AM, kundan1974 notifications@github.com wrote:

This is what i am getting with the latest version of CERR

CERR>> Loaded Lung_Bachu.mat.bz2. Ready.

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'paramS'. radiomics featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'planC'. global planC featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

On Sat, Jul 7, 2018 at 7:55 PM, Aditya P. Apte < notifications@github.com

wrote:

Can you please pull the latest CERR and try again.

On Jul 7, 2018, at 6:30 AM, kundan1974 < notifications@github.com

wrote:

thanks i got your point but now after correcting for the scan number, i am still getting this error

featS = calcGlobalRadiomicsFeatures(1, 1, paramS, planC); Error using < Matrix dimensions must agree. Error in getShapeParams (line 69) rcsV(rcsV < siz) = siz(rcsV < siz); Error in calcGlobalRadiomicsFeatures (line 65) [featureS.shapeS] = getShapeParams(maskBoundingBox3M, ...

On Sat, Jul 7, 2018 at 1:28 PM, Aditya P. Apte < notifications@github.com

wrote:

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 < notifications@github.com

wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte < notifications@github.com> wrote:

Take a look at https://github.com/cerr/CERR/ wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/ wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 < notifications@github.com> wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403076014, or mute the thread https://github.com/notifications/unsubscribe- auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403100930, or mute the thread https://github.com/notifications/unsubscribe- auth/Ah6o4_ CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403197170, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o4xEZeTfBtcFe3jrjBWq1dlv4-SN_ks5uEGokgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub <https://github.com/cerr/CERR/issues/167#issuecomment-403219294 , or mute the thread https://github.com/notifications/unsubscribe- auth/Ah6o4w_rmSej1zwF_ AzRdeWLs_2T_7uXks5uEMTWgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403261799, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o42bbuYLG9NovwbOGdN1ETI05YEMGks5uEYy9gaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403281134, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o42yHgnwAu1ZzU3GYJ6yrR8aQamVBks5uEe1CgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403285881, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzUh2pRE64FSFJ51aEo8xA2Kt-R_ubYks5uEgEAgaJpZM4Uk2_P .

kundan1974 commented 6 years ago

Thanks for you support .... now it’s calculating without any error. But there is no output displaying the results. I checked the variable featS, it has various values with regard to radiomics. Is this the result which program has calculated. Is there a way if I can extract these findings to a word or excel document.

Thanks for your kind support

Sent from my iPhone

On 08-Jul-2018, at 9:03 PM, Aditya P. Apte notifications@github.com wrote:

There was a typo on the Wiki page for parameter definition. Please use the following:

paramS.firstOrderParamS.binWidthEntropy = 5;

On Sun, Jul 8, 2018 at 8:54 AM, kundan1974 notifications@github.com wrote:

I changed and set the flag to 1. it did some initial calculation but then there was this error

featS = calcGlobalRadiomicsFeatures(1, 22, paramS, planC); --- NGTDM Calculation for Slice # 1 ---- --- NGTDM Calculation for Slice # 2 ---- --- NGTDM Calculation for Slice # 3 ---- --- NGTDM Calculation for Slice # 4 ---- --- NGTDM Calculation for Slice # 5 ---- --- NGTDM Calculation for Slice # 6 ---- --- NGTDM Calculation for Slice # 7 ---- --- NGTDM Calculation for Slice # 8 ---- --- NGTDM Calculation for Slice # 9 ---- --- NGTDM Calculation for Slice # 10 ---- --- NGTDM Calculation for Slice # 11 ---- --- NGTDM Calculation for Slice # 12 ---- --- NGTDM Calculation for Slice # 13 ---- --- NGTDM Calculation for Slice # 14 ---- --- NGTDM Calculation for Slice # 15 ---- --- NGTDM Calculation for Slice # 16 ---- --- NGTDM Calculation for Slice # 17 ---- --- NGTDM Calculation for Slice # 18 ---- --- NGTDM Calculation for Slice # 19 ---- --- NGTDM Calculation for Slice # 20 ---- --- NGTDM Calculation for Slice # 21 ---- --- NGTDM Calculation for Slice # 22 ---- --- NGTDM Calculation for Slice # 23 ---- --- NGTDM Calculation for Slice # 24 ---- --- NGTDM Calculation for Slice # 25 ---- --- NGTDM Calculation for Slice # 26 ---- --- NGTDM Calculation for Slice # 27 ---- --- NGTDM Calculation for Slice # 28 ---- --- NGTDM Calculation for Slice # 29 ---- --- NGTDM Calculation for Slice # 30 ---- --- NGTDM Calculation for Slice # 31 ---- --- NGTDM Calculation for Slice # 32 ---- --- NGTDM Calculation for Slice # 33 ---- --- NGTDM Calculation for Slice # 34 ---- --- NGTDM Calculation for Slice # 35 ---- --- NGTDM Calculation for Slice # 36 ---- --- NGTDM Calculation for Slice # 37 ---- --- NGTDM Calculation for Slice # 38 ---- --- NGTDM Calculation for Slice # 39 ---- --- NGTDM Calculation for Slice # 40 ---- --- NGTDM Calculation for Slice # 41 ---- --- NGTDM Calculation for Slice # 42 ---- --- NGTDM Calculation for Slice # 43 ---- --- NGTDM Calculation for Slice # 44 ---- --- NGTDM Calculation for Slice # 45 ---- --- NGTDM Calculation for Slice # 46 ---- --- NGTDM Calculation for Slice # 47 ---- Elapsed time is 0.896154 seconds. --- NGTDM Calculation for Slice # 1 ---- --- NGTDM Calculation for Slice # 2 ---- --- NGTDM Calculation for Slice # 3 ---- --- NGTDM Calculation for Slice # 4 ---- --- NGTDM Calculation for Slice # 5 ---- --- NGTDM Calculation for Slice # 6 ---- --- NGTDM Calculation for Slice # 7 ---- --- NGTDM Calculation for Slice # 8 ---- --- NGTDM Calculation for Slice # 9 ---- --- NGTDM Calculation for Slice # 10 ---- --- NGTDM Calculation for Slice # 11 ---- --- NGTDM Calculation for Slice # 12 ---- --- NGTDM Calculation for Slice # 13 ---- --- NGTDM Calculation for Slice # 14 ---- --- NGTDM Calculation for Slice # 15 ---- --- NGTDM Calculation for Slice # 16 ---- --- NGTDM Calculation for Slice # 17 ---- --- NGTDM Calculation for Slice # 18 ---- --- NGTDM Calculation for Slice # 19 ---- --- NGTDM Calculation for Slice # 20 ---- --- NGTDM Calculation for Slice # 21 ---- --- NGTDM Calculation for Slice # 22 ---- --- NGTDM Calculation for Slice # 23 ---- --- NGTDM Calculation for Slice # 24 ---- --- NGTDM Calculation for Slice # 25 ---- --- NGTDM Calculation for Slice # 26 ---- --- NGTDM Calculation for Slice # 27 ---- --- NGTDM Calculation for Slice # 28 ---- --- NGTDM Calculation for Slice # 29 ---- --- NGTDM Calculation for Slice # 30 ---- --- NGTDM Calculation for Slice # 31 ---- --- NGTDM Calculation for Slice # 32 ---- --- NGTDM Calculation for Slice # 33 ---- --- NGTDM Calculation for Slice # 34 ---- --- NGTDM Calculation for Slice # 35 ---- --- NGTDM Calculation for Slice # 36 ---- --- NGTDM Calculation for Slice # 37 ---- --- NGTDM Calculation for Slice # 38 ---- --- NGTDM Calculation for Slice # 39 ---- --- NGTDM Calculation for Slice # 40 ---- --- NGTDM Calculation for Slice # 41 ---- --- NGTDM Calculation for Slice # 42 ---- --- NGTDM Calculation for Slice # 43 ---- --- NGTDM Calculation for Slice # 44 ---- --- NGTDM Calculation for Slice # 45 ---- --- NGTDM Calculation for Slice # 46 ---- --- NGTDM Calculation for Slice # 47 ---- Elapsed time is 0.647689 seconds. Reference to non-existent field 'binWidthEntropy'. Error in calcGlobalRadiomicsFeatures (line 272)

paramS.firstOrderParamS.offsetForEnergy,paramS.firstOrderParamS. binWidthEntropy);

On Sun, Jul 8, 2018 at 5:00 PM, Aditya P. Apte notifications@github.com

wrote:

paramS.toQuantizeFlag should be set to 1. This flag tells the engine to discretize the scan.

On Jul 8, 2018, at 2:52 AM, kundan1974 notifications@github.com wrote:

initially i kept the cutoff to -50 and 200 then I left them blank, still i am getting this error

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

sharing the parameters

firstOrderParamsS = struct; higherOrderParamS = struct; shapeParamS = struct; peakValleyParamS = struct; ivhParamS = struct; whichFeatS = struct; paramS.firstOrderParamS.offsetForEnergy = 1000; % 0 for PET SUVs. firstOrderParamS.binWidthEntropy = 5; % binwidth to calculate entropy. Typically, the same value is used for discretizing image for higher order (texture) calculation. higherOrderParamS.minIntensity = []; % minimum clipping intensity. Values less than this are clipped to this value. higherOrderParamS.maxIntensity = []; % maximum clipping intensity. Values greater than this are clipped to this value. higherOrderParamS.minIntensityCutoff = []; % voxels with intensity lower than this value are ignored. higherOrderParamS.maxIntensityCutoff = []; % voxels with intensity greater than this value are ignored. higherOrderParamS.numGrLevels = []; % number of gray levels to use. Leave empty to use a fixed binwidth. higherOrderParamS.binwidth = 5; % binwidth to discretize an image. higherOrderParamS.neighborVoxelOffset = 5; % voxel neighbor distance for Haralick texture calculation. higherOrderParamS.patchRadius2dV = [2 2 0]; % patch radius for NGTDM and NGLDM features. higherOrderParamS.imgDiffThresh = 0; % difference threshold for NGTDM and NGLDM features. higherOrderParamS.patchRadius3dV = [1 1 1]; % patch radius for NGTDM and NGLDM features. paramS.higherOrderParamS = higherOrderParamS; shapeParamS.rcsV = []; % [numRows, numCols, numSlics] to resample scan for shape calculation.. This should be chosen to create a fine enough mesh without too much computational overload. Leave empty to use the resolution same as that of the image. paramS.shapeParamS = shapeParamS; peakValleyParamS.peakRadius = [2 2 0]; % neighborhood patch radius for averaging intensities. paramS.peakValleyParamS = peakValleyParamS; ivhParamS.xAbsForVxV = -140:10:100; % CT, 0:2:28; % PET. Vector of absolute intensities. ivhParamS.xForIxV = 10:10:90; % Vector of percentage volumes ivhParamS.xAbsForIxV = 10:20:200; % Vector of absolute volumes [cc] ivhParamS.xForVxV = 10:10:90; % Vector of percent intensity cutoff paramS.ivhParamS = ivhParamS; whichFeatS.shape = 1; whichFeatS.harFeat2Ddir = 1; whichFeatS.harFeat2Dcomb = 0; whichFeatS.harFeat3Ddir = 0; whichFeatS.harFeat3Dcomb = 0; whichFeatS.rlmFeat2Ddir = 1; whichFeatS.rlmFeat2Dcomb = 0; whichFeatS.rlmFeat3Ddir = 0; whichFeatS.rlmFeat3Dcomb = 0; whichFeatS.ngtdmFeatures2d = 1; whichFeatS.ngtdmFeatures3d = 0; whichFeatS.ngldmFeatures2d = 1; whichFeatS.ngldmFeatures3d = 0; whichFeatS.szmFeature2d = 1; whichFeatS.szmFeature3d = 0; whichFeatS.firstOrder = 1; whichFeatS.ivh = 0; whichFeatS.peakValley = 1; paramS.whichFeatS = whichFeatS; paramS.toQuantizeFlag = 0; % 1: yes quantize, 0: don't quantize, the input scan is already quantized. % Access the planC object global planC % Structure index scanNum = 1; structNum = 1;

On Sun, Jul 8, 2018 at 10:08 AM, Aditya P. Apte < notifications@github.com> wrote:

Looks like the parameter settings for min/max intensity cutoffs might be too stringent. This might result in no discretization of the input image and hence the error in texture calculation. Relaxing or removing these cutoffs might help. Can you please share the parameters?

On Jul 8, 2018, at 12:07 AM, kundan1974 notifications@github.com wrote:

This is what i am getting with the latest version of CERR

CERR>> Loaded Lung_Bachu.mat.bz2. Ready.

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'paramS'. radiomics featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'planC'. global planC featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

On Sat, Jul 7, 2018 at 7:55 PM, Aditya P. Apte < notifications@github.com

wrote:

Can you please pull the latest CERR and try again.

On Jul 7, 2018, at 6:30 AM, kundan1974 < notifications@github.com

wrote:

thanks i got your point but now after correcting for the scan number, i am still getting this error

featS = calcGlobalRadiomicsFeatures(1, 1, paramS, planC); Error using < Matrix dimensions must agree. Error in getShapeParams (line 69) rcsV(rcsV < siz) = siz(rcsV < siz); Error in calcGlobalRadiomicsFeatures (line 65) [featureS.shapeS] = getShapeParams(maskBoundingBox3M, ...

On Sat, Jul 7, 2018 at 1:28 PM, Aditya P. Apte < notifications@github.com

wrote:

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 < notifications@github.com

wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte < notifications@github.com> wrote:

Take a look at https://github.com/cerr/CERR/ wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/ wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 < notifications@github.com> wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403076014, or mute the thread https://github.com/notifications/unsubscribe- auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403100930, or mute the thread https://github.com/notifications/unsubscribe- auth/Ah6o4_ CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403197170, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o4xEZeTfBtcFe3jrjBWq1dlv4-SN_ks5uEGokgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub <https://github.com/cerr/CERR/issues/167#issuecomment-403219294 , or mute the thread https://github.com/notifications/unsubscribe- auth/Ah6o4w_rmSej1zwF_ AzRdeWLs_2T_7uXks5uEMTWgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403261799, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o42bbuYLG9NovwbOGdN1ETI05YEMGks5uEYy9gaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403281134, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o42yHgnwAu1ZzU3GYJ6yrR8aQamVBks5uEe1CgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403285881, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzUh2pRE64FSFJ51aEo8xA2Kt-R_ubYks5uEgEAgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

adityaapte commented 6 years ago

Great! Can you please post questions to cerr-forum google group?

On Jul 9, 2018, at 7:32 AM, Kundan Singh Chufal notifications@github.com wrote:

Thanks for you support .... now it’s calculating without any error. But there is no output displaying the results. I checked the variable featS, it has various values with regard to radiomics. Is this the result which program has calculated. Is there a way if I can extract these findings to a word or excel document.

Thanks for your kind support

Sent from my iPhone

On 08-Jul-2018, at 9:03 PM, Aditya P. Apte notifications@github.com wrote:

There was a typo on the Wiki page for parameter definition. Please use the following:

paramS.firstOrderParamS.binWidthEntropy = 5;

On Sun, Jul 8, 2018 at 8:54 AM, kundan1974 notifications@github.com wrote:

I changed and set the flag to 1. it did some initial calculation but then there was this error

featS = calcGlobalRadiomicsFeatures(1, 22, paramS, planC); --- NGTDM Calculation for Slice # 1 ---- --- NGTDM Calculation for Slice # 2 ---- --- NGTDM Calculation for Slice # 3 ---- --- NGTDM Calculation for Slice # 4 ---- --- NGTDM Calculation for Slice # 5 ---- --- NGTDM Calculation for Slice # 6 ---- --- NGTDM Calculation for Slice # 7 ---- --- NGTDM Calculation for Slice # 8 ---- --- NGTDM Calculation for Slice # 9 ---- --- NGTDM Calculation for Slice # 10 ---- --- NGTDM Calculation for Slice # 11 ---- --- NGTDM Calculation for Slice # 12 ---- --- NGTDM Calculation for Slice # 13 ---- --- NGTDM Calculation for Slice # 14 ---- --- NGTDM Calculation for Slice # 15 ---- --- NGTDM Calculation for Slice # 16 ---- --- NGTDM Calculation for Slice # 17 ---- --- NGTDM Calculation for Slice # 18 ---- --- NGTDM Calculation for Slice # 19 ---- --- NGTDM Calculation for Slice # 20 ---- --- NGTDM Calculation for Slice # 21 ---- --- NGTDM Calculation for Slice # 22 ---- --- NGTDM Calculation for Slice # 23 ---- --- NGTDM Calculation for Slice # 24 ---- --- NGTDM Calculation for Slice # 25 ---- --- NGTDM Calculation for Slice # 26 ---- --- NGTDM Calculation for Slice # 27 ---- --- NGTDM Calculation for Slice # 28 ---- --- NGTDM Calculation for Slice # 29 ---- --- NGTDM Calculation for Slice # 30 ---- --- NGTDM Calculation for Slice # 31 ---- --- NGTDM Calculation for Slice # 32 ---- --- NGTDM Calculation for Slice # 33 ---- --- NGTDM Calculation for Slice # 34 ---- --- NGTDM Calculation for Slice # 35 ---- --- NGTDM Calculation for Slice # 36 ---- --- NGTDM Calculation for Slice # 37 ---- --- NGTDM Calculation for Slice # 38 ---- --- NGTDM Calculation for Slice # 39 ---- --- NGTDM Calculation for Slice # 40 ---- --- NGTDM Calculation for Slice # 41 ---- --- NGTDM Calculation for Slice # 42 ---- --- NGTDM Calculation for Slice # 43 ---- --- NGTDM Calculation for Slice # 44 ---- --- NGTDM Calculation for Slice # 45 ---- --- NGTDM Calculation for Slice # 46 ---- --- NGTDM Calculation for Slice # 47 ---- Elapsed time is 0.896154 seconds. --- NGTDM Calculation for Slice # 1 ---- --- NGTDM Calculation for Slice # 2 ---- --- NGTDM Calculation for Slice # 3 ---- --- NGTDM Calculation for Slice # 4 ---- --- NGTDM Calculation for Slice # 5 ---- --- NGTDM Calculation for Slice # 6 ---- --- NGTDM Calculation for Slice # 7 ---- --- NGTDM Calculation for Slice # 8 ---- --- NGTDM Calculation for Slice # 9 ---- --- NGTDM Calculation for Slice # 10 ---- --- NGTDM Calculation for Slice # 11 ---- --- NGTDM Calculation for Slice # 12 ---- --- NGTDM Calculation for Slice # 13 ---- --- NGTDM Calculation for Slice # 14 ---- --- NGTDM Calculation for Slice # 15 ---- --- NGTDM Calculation for Slice # 16 ---- --- NGTDM Calculation for Slice # 17 ---- --- NGTDM Calculation for Slice # 18 ---- --- NGTDM Calculation for Slice # 19 ---- --- NGTDM Calculation for Slice # 20 ---- --- NGTDM Calculation for Slice # 21 ---- --- NGTDM Calculation for Slice # 22 ---- --- NGTDM Calculation for Slice # 23 ---- --- NGTDM Calculation for Slice # 24 ---- --- NGTDM Calculation for Slice # 25 ---- --- NGTDM Calculation for Slice # 26 ---- --- NGTDM Calculation for Slice # 27 ---- --- NGTDM Calculation for Slice # 28 ---- --- NGTDM Calculation for Slice # 29 ---- --- NGTDM Calculation for Slice # 30 ---- --- NGTDM Calculation for Slice # 31 ---- --- NGTDM Calculation for Slice # 32 ---- --- NGTDM Calculation for Slice # 33 ---- --- NGTDM Calculation for Slice # 34 ---- --- NGTDM Calculation for Slice # 35 ---- --- NGTDM Calculation for Slice # 36 ---- --- NGTDM Calculation for Slice # 37 ---- --- NGTDM Calculation for Slice # 38 ---- --- NGTDM Calculation for Slice # 39 ---- --- NGTDM Calculation for Slice # 40 ---- --- NGTDM Calculation for Slice # 41 ---- --- NGTDM Calculation for Slice # 42 ---- --- NGTDM Calculation for Slice # 43 ---- --- NGTDM Calculation for Slice # 44 ---- --- NGTDM Calculation for Slice # 45 ---- --- NGTDM Calculation for Slice # 46 ---- --- NGTDM Calculation for Slice # 47 ---- Elapsed time is 0.647689 seconds. Reference to non-existent field 'binWidthEntropy'. Error in calcGlobalRadiomicsFeatures (line 272)

paramS.firstOrderParamS.offsetForEnergy,paramS.firstOrderParamS. binWidthEntropy);

On Sun, Jul 8, 2018 at 5:00 PM, Aditya P. Apte notifications@github.com

wrote:

paramS.toQuantizeFlag should be set to 1. This flag tells the engine to discretize the scan.

On Jul 8, 2018, at 2:52 AM, kundan1974 notifications@github.com wrote:

initially i kept the cutoff to -50 and 200 then I left them blank, still i am getting this error

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

sharing the parameters

firstOrderParamsS = struct; higherOrderParamS = struct; shapeParamS = struct; peakValleyParamS = struct; ivhParamS = struct; whichFeatS = struct; paramS.firstOrderParamS.offsetForEnergy = 1000; % 0 for PET SUVs. firstOrderParamS.binWidthEntropy = 5; % binwidth to calculate entropy. Typically, the same value is used for discretizing image for higher order (texture) calculation. higherOrderParamS.minIntensity = []; % minimum clipping intensity. Values less than this are clipped to this value. higherOrderParamS.maxIntensity = []; % maximum clipping intensity. Values greater than this are clipped to this value. higherOrderParamS.minIntensityCutoff = []; % voxels with intensity lower than this value are ignored. higherOrderParamS.maxIntensityCutoff = []; % voxels with intensity greater than this value are ignored. higherOrderParamS.numGrLevels = []; % number of gray levels to use. Leave empty to use a fixed binwidth. higherOrderParamS.binwidth = 5; % binwidth to discretize an image. higherOrderParamS.neighborVoxelOffset = 5; % voxel neighbor distance for Haralick texture calculation. higherOrderParamS.patchRadius2dV = [2 2 0]; % patch radius for NGTDM and NGLDM features. higherOrderParamS.imgDiffThresh = 0; % difference threshold for NGTDM and NGLDM features. higherOrderParamS.patchRadius3dV = [1 1 1]; % patch radius for NGTDM and NGLDM features. paramS.higherOrderParamS = higherOrderParamS; shapeParamS.rcsV = []; % [numRows, numCols, numSlics] to resample scan for shape calculation.. This should be chosen to create a fine enough mesh without too much computational overload. Leave empty to use the resolution same as that of the image. paramS.shapeParamS = shapeParamS; peakValleyParamS.peakRadius = [2 2 0]; % neighborhood patch radius for averaging intensities. paramS.peakValleyParamS = peakValleyParamS; ivhParamS.xAbsForVxV = -140:10:100; % CT, 0:2:28; % PET. Vector of absolute intensities. ivhParamS.xForIxV = 10:10:90; % Vector of percentage volumes ivhParamS.xAbsForIxV = 10:20:200; % Vector of absolute volumes [cc] ivhParamS.xForVxV = 10:10:90; % Vector of percent intensity cutoff paramS.ivhParamS = ivhParamS; whichFeatS.shape = 1; whichFeatS.harFeat2Ddir = 1; whichFeatS.harFeat2Dcomb = 0; whichFeatS.harFeat3Ddir = 0; whichFeatS.harFeat3Dcomb = 0; whichFeatS.rlmFeat2Ddir = 1; whichFeatS.rlmFeat2Dcomb = 0; whichFeatS.rlmFeat3Ddir = 0; whichFeatS.rlmFeat3Dcomb = 0; whichFeatS.ngtdmFeatures2d = 1; whichFeatS.ngtdmFeatures3d = 0; whichFeatS.ngldmFeatures2d = 1; whichFeatS.ngldmFeatures3d = 0; whichFeatS.szmFeature2d = 1; whichFeatS.szmFeature3d = 0; whichFeatS.firstOrder = 1; whichFeatS.ivh = 0; whichFeatS.peakValley = 1; paramS.whichFeatS = whichFeatS; paramS.toQuantizeFlag = 0; % 1: yes quantize, 0: don't quantize, the input scan is already quantized. % Access the planC object global planC % Structure index scanNum = 1; structNum = 1;

On Sun, Jul 8, 2018 at 10:08 AM, Aditya P. Apte < notifications@github.com> wrote:

Looks like the parameter settings for min/max intensity cutoffs might be too stringent. This might result in no discretization of the input image and hence the error in texture calculation. Relaxing or removing these cutoffs might help. Can you please share the parameters?

On Jul 8, 2018, at 12:07 AM, kundan1974 notifications@github.com wrote:

This is what i am getting with the latest version of CERR

CERR>> Loaded Lung_Bachu.mat.bz2. Ready.

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'paramS'. radiomics featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'planC'. global planC featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

On Sat, Jul 7, 2018 at 7:55 PM, Aditya P. Apte < notifications@github.com

wrote:

Can you please pull the latest CERR and try again.

On Jul 7, 2018, at 6:30 AM, kundan1974 < notifications@github.com

wrote:

thanks i got your point but now after correcting for the scan number, i am still getting this error

featS = calcGlobalRadiomicsFeatures(1, 1, paramS, planC); Error using < Matrix dimensions must agree. Error in getShapeParams (line 69) rcsV(rcsV < siz) = siz(rcsV < siz); Error in calcGlobalRadiomicsFeatures (line 65) [featureS.shapeS] = getShapeParams(maskBoundingBox3M, ...

On Sat, Jul 7, 2018 at 1:28 PM, Aditya P. Apte < notifications@github.com

wrote:

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 < notifications@github.com

wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte < notifications@github.com> wrote:

Take a look at https://github.com/cerr/CERR/ wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/ wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 < notifications@github.com> wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403076014, or mute the thread https://github.com/notifications/unsubscribe- auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403100930, or mute the thread https://github.com/notifications/unsubscribe- auth/Ah6o4_ CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403197170, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o4xEZeTfBtcFe3jrjBWq1dlv4-SN_ks5uEGokgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub <https://github.com/cerr/CERR/issues/167#issuecomment-403219294 , or mute the thread https://github.com/notifications/unsubscribe- auth/Ah6o4w_rmSej1zwF_ AzRdeWLs_2T_7uXks5uEMTWgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403261799, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o42bbuYLG9NovwbOGdN1ETI05YEMGks5uEYy9gaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403281134, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o42yHgnwAu1ZzU3GYJ6yrR8aQamVBks5uEe1CgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403285881, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzUh2pRE64FSFJ51aEo8xA2Kt-R_ubYks5uEgEAgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

adityaapte commented 6 years ago

Join https://groups.google.com/forum/m/#!forum/cerr-forum

On Jul 9, 2018, at 7:32 AM, Kundan Singh Chufal notifications@github.com wrote:

Thanks for you support .... now it’s calculating without any error. But there is no output displaying the results. I checked the variable featS, it has various values with regard to radiomics. Is this the result which program has calculated. Is there a way if I can extract these findings to a word or excel document.

Thanks for your kind support

Sent from my iPhone

On 08-Jul-2018, at 9:03 PM, Aditya P. Apte notifications@github.com wrote:

There was a typo on the Wiki page for parameter definition. Please use the following:

paramS.firstOrderParamS.binWidthEntropy = 5;

On Sun, Jul 8, 2018 at 8:54 AM, kundan1974 notifications@github.com wrote:

I changed and set the flag to 1. it did some initial calculation but then there was this error

featS = calcGlobalRadiomicsFeatures(1, 22, paramS, planC); --- NGTDM Calculation for Slice # 1 ---- --- NGTDM Calculation for Slice # 2 ---- --- NGTDM Calculation for Slice # 3 ---- --- NGTDM Calculation for Slice # 4 ---- --- NGTDM Calculation for Slice # 5 ---- --- NGTDM Calculation for Slice # 6 ---- --- NGTDM Calculation for Slice # 7 ---- --- NGTDM Calculation for Slice # 8 ---- --- NGTDM Calculation for Slice # 9 ---- --- NGTDM Calculation for Slice # 10 ---- --- NGTDM Calculation for Slice # 11 ---- --- NGTDM Calculation for Slice # 12 ---- --- NGTDM Calculation for Slice # 13 ---- --- NGTDM Calculation for Slice # 14 ---- --- NGTDM Calculation for Slice # 15 ---- --- NGTDM Calculation for Slice # 16 ---- --- NGTDM Calculation for Slice # 17 ---- --- NGTDM Calculation for Slice # 18 ---- --- NGTDM Calculation for Slice # 19 ---- --- NGTDM Calculation for Slice # 20 ---- --- NGTDM Calculation for Slice # 21 ---- --- NGTDM Calculation for Slice # 22 ---- --- NGTDM Calculation for Slice # 23 ---- --- NGTDM Calculation for Slice # 24 ---- --- NGTDM Calculation for Slice # 25 ---- --- NGTDM Calculation for Slice # 26 ---- --- NGTDM Calculation for Slice # 27 ---- --- NGTDM Calculation for Slice # 28 ---- --- NGTDM Calculation for Slice # 29 ---- --- NGTDM Calculation for Slice # 30 ---- --- NGTDM Calculation for Slice # 31 ---- --- NGTDM Calculation for Slice # 32 ---- --- NGTDM Calculation for Slice # 33 ---- --- NGTDM Calculation for Slice # 34 ---- --- NGTDM Calculation for Slice # 35 ---- --- NGTDM Calculation for Slice # 36 ---- --- NGTDM Calculation for Slice # 37 ---- --- NGTDM Calculation for Slice # 38 ---- --- NGTDM Calculation for Slice # 39 ---- --- NGTDM Calculation for Slice # 40 ---- --- NGTDM Calculation for Slice # 41 ---- --- NGTDM Calculation for Slice # 42 ---- --- NGTDM Calculation for Slice # 43 ---- --- NGTDM Calculation for Slice # 44 ---- --- NGTDM Calculation for Slice # 45 ---- --- NGTDM Calculation for Slice # 46 ---- --- NGTDM Calculation for Slice # 47 ---- Elapsed time is 0.896154 seconds. --- NGTDM Calculation for Slice # 1 ---- --- NGTDM Calculation for Slice # 2 ---- --- NGTDM Calculation for Slice # 3 ---- --- NGTDM Calculation for Slice # 4 ---- --- NGTDM Calculation for Slice # 5 ---- --- NGTDM Calculation for Slice # 6 ---- --- NGTDM Calculation for Slice # 7 ---- --- NGTDM Calculation for Slice # 8 ---- --- NGTDM Calculation for Slice # 9 ---- --- NGTDM Calculation for Slice # 10 ---- --- NGTDM Calculation for Slice # 11 ---- --- NGTDM Calculation for Slice # 12 ---- --- NGTDM Calculation for Slice # 13 ---- --- NGTDM Calculation for Slice # 14 ---- --- NGTDM Calculation for Slice # 15 ---- --- NGTDM Calculation for Slice # 16 ---- --- NGTDM Calculation for Slice # 17 ---- --- NGTDM Calculation for Slice # 18 ---- --- NGTDM Calculation for Slice # 19 ---- --- NGTDM Calculation for Slice # 20 ---- --- NGTDM Calculation for Slice # 21 ---- --- NGTDM Calculation for Slice # 22 ---- --- NGTDM Calculation for Slice # 23 ---- --- NGTDM Calculation for Slice # 24 ---- --- NGTDM Calculation for Slice # 25 ---- --- NGTDM Calculation for Slice # 26 ---- --- NGTDM Calculation for Slice # 27 ---- --- NGTDM Calculation for Slice # 28 ---- --- NGTDM Calculation for Slice # 29 ---- --- NGTDM Calculation for Slice # 30 ---- --- NGTDM Calculation for Slice # 31 ---- --- NGTDM Calculation for Slice # 32 ---- --- NGTDM Calculation for Slice # 33 ---- --- NGTDM Calculation for Slice # 34 ---- --- NGTDM Calculation for Slice # 35 ---- --- NGTDM Calculation for Slice # 36 ---- --- NGTDM Calculation for Slice # 37 ---- --- NGTDM Calculation for Slice # 38 ---- --- NGTDM Calculation for Slice # 39 ---- --- NGTDM Calculation for Slice # 40 ---- --- NGTDM Calculation for Slice # 41 ---- --- NGTDM Calculation for Slice # 42 ---- --- NGTDM Calculation for Slice # 43 ---- --- NGTDM Calculation for Slice # 44 ---- --- NGTDM Calculation for Slice # 45 ---- --- NGTDM Calculation for Slice # 46 ---- --- NGTDM Calculation for Slice # 47 ---- Elapsed time is 0.647689 seconds. Reference to non-existent field 'binWidthEntropy'. Error in calcGlobalRadiomicsFeatures (line 272)

paramS.firstOrderParamS.offsetForEnergy,paramS.firstOrderParamS. binWidthEntropy);

On Sun, Jul 8, 2018 at 5:00 PM, Aditya P. Apte notifications@github.com

wrote:

paramS.toQuantizeFlag should be set to 1. This flag tells the engine to discretize the scan.

On Jul 8, 2018, at 2:52 AM, kundan1974 notifications@github.com wrote:

initially i kept the cutoff to -50 and 200 then I left them blank, still i am getting this error

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

sharing the parameters

firstOrderParamsS = struct; higherOrderParamS = struct; shapeParamS = struct; peakValleyParamS = struct; ivhParamS = struct; whichFeatS = struct; paramS.firstOrderParamS.offsetForEnergy = 1000; % 0 for PET SUVs. firstOrderParamS.binWidthEntropy = 5; % binwidth to calculate entropy. Typically, the same value is used for discretizing image for higher order (texture) calculation. higherOrderParamS.minIntensity = []; % minimum clipping intensity. Values less than this are clipped to this value. higherOrderParamS.maxIntensity = []; % maximum clipping intensity. Values greater than this are clipped to this value. higherOrderParamS.minIntensityCutoff = []; % voxels with intensity lower than this value are ignored. higherOrderParamS.maxIntensityCutoff = []; % voxels with intensity greater than this value are ignored. higherOrderParamS.numGrLevels = []; % number of gray levels to use. Leave empty to use a fixed binwidth. higherOrderParamS.binwidth = 5; % binwidth to discretize an image. higherOrderParamS.neighborVoxelOffset = 5; % voxel neighbor distance for Haralick texture calculation. higherOrderParamS.patchRadius2dV = [2 2 0]; % patch radius for NGTDM and NGLDM features. higherOrderParamS.imgDiffThresh = 0; % difference threshold for NGTDM and NGLDM features. higherOrderParamS.patchRadius3dV = [1 1 1]; % patch radius for NGTDM and NGLDM features. paramS.higherOrderParamS = higherOrderParamS; shapeParamS.rcsV = []; % [numRows, numCols, numSlics] to resample scan for shape calculation.. This should be chosen to create a fine enough mesh without too much computational overload. Leave empty to use the resolution same as that of the image. paramS.shapeParamS = shapeParamS; peakValleyParamS.peakRadius = [2 2 0]; % neighborhood patch radius for averaging intensities. paramS.peakValleyParamS = peakValleyParamS; ivhParamS.xAbsForVxV = -140:10:100; % CT, 0:2:28; % PET. Vector of absolute intensities. ivhParamS.xForIxV = 10:10:90; % Vector of percentage volumes ivhParamS.xAbsForIxV = 10:20:200; % Vector of absolute volumes [cc] ivhParamS.xForVxV = 10:10:90; % Vector of percent intensity cutoff paramS.ivhParamS = ivhParamS; whichFeatS.shape = 1; whichFeatS.harFeat2Ddir = 1; whichFeatS.harFeat2Dcomb = 0; whichFeatS.harFeat3Ddir = 0; whichFeatS.harFeat3Dcomb = 0; whichFeatS.rlmFeat2Ddir = 1; whichFeatS.rlmFeat2Dcomb = 0; whichFeatS.rlmFeat3Ddir = 0; whichFeatS.rlmFeat3Dcomb = 0; whichFeatS.ngtdmFeatures2d = 1; whichFeatS.ngtdmFeatures3d = 0; whichFeatS.ngldmFeatures2d = 1; whichFeatS.ngldmFeatures3d = 0; whichFeatS.szmFeature2d = 1; whichFeatS.szmFeature3d = 0; whichFeatS.firstOrder = 1; whichFeatS.ivh = 0; whichFeatS.peakValley = 1; paramS.whichFeatS = whichFeatS; paramS.toQuantizeFlag = 0; % 1: yes quantize, 0: don't quantize, the input scan is already quantized. % Access the planC object global planC % Structure index scanNum = 1; structNum = 1;

On Sun, Jul 8, 2018 at 10:08 AM, Aditya P. Apte < notifications@github.com> wrote:

Looks like the parameter settings for min/max intensity cutoffs might be too stringent. This might result in no discretization of the input image and hence the error in texture calculation. Relaxing or removing these cutoffs might help. Can you please share the parameters?

On Jul 8, 2018, at 12:07 AM, kundan1974 notifications@github.com wrote:

This is what i am getting with the latest version of CERR

CERR>> Loaded Lung_Bachu.mat.bz2. Ready.

featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'paramS'. radiomics featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); Undefined function or variable 'planC'. global planC featS = calcGlobalRadiomicsFeatures(1, 8, paramS, planC); In an assignment A(:) = B, the number of elements in A and B must be the same. Error in calcCooccur (line 48) q(isnan(q)) = lq; Error in get_haralick (line 6) cooccurM = calcCooccur(quantizedM, offsetsM, numGrLevels, cooccurType); Error in calcGlobalRadiomicsFeatures (line 120) featureS.harFeat2DdirS = get_haralick(dirctn, voxelOfset, cooccurType, quantizedM, ...

On Sat, Jul 7, 2018 at 7:55 PM, Aditya P. Apte < notifications@github.com

wrote:

Can you please pull the latest CERR and try again.

On Jul 7, 2018, at 6:30 AM, kundan1974 < notifications@github.com

wrote:

thanks i got your point but now after correcting for the scan number, i am still getting this error

featS = calcGlobalRadiomicsFeatures(1, 1, paramS, planC); Error using < Matrix dimensions must agree. Error in getShapeParams (line 69) rcsV(rcsV < siz) = siz(rcsV < siz); Error in calcGlobalRadiomicsFeatures (line 65) [featureS.shapeS] = getShapeParams(maskBoundingBox3M, ...

On Sat, Jul 7, 2018 at 1:28 PM, Aditya P. Apte < notifications@github.com

wrote:

According to your inputs to the calcGlobalRadiomicsFeatures, it will compute features for the 39th scan and the 8th structure. Can you please double check whether the inputs are accurate. Note that the first input “scanNum” is the scan index for the volume and not the slice. For example, if you have a PET and a CT scan within your planC, then scanNum input can only be 1 or 2. If you want to compute features for ROIs on different slices then you will need to create separate ROIs on each slice and iteratively pass those as inputs to the feature calculator.

On Jul 7, 2018, at 1:17 AM, kundan1974 < notifications@github.com

wrote:

I am getting this error featS = calcGlobalRadiomicsFeatures(39, 8, paramS, planC); Index exceeds matrix dimensions. Error in rasterToMask (line 47) siz = size(getScanArray(planC{indexS.scan}(scanNum))); Error in calcGlobalRadiomicsFeatures (line 20) [mask3M, uniqueSlices] = rasterToMask(rasterSegments, scanNum, planC);

On Fri, Jul 6, 2018 at 11:08 PM, Aditya P. Apte < notifications@github.com> wrote:

Take a look at https://github.com/cerr/CERR/ wiki/Radiomics

Features can be calculated for the region of interest using

featS = calcGlobalRadiomicsFeatures(scanNum, structNum, paramS, planC);

The paramS data structure defines what kinds of features to compute. An example paramS is shown at https://github.com/cerr/CERR/ wiki/Global-radiomics-feature- calculation-parameters

On Fri, Jul 6, 2018 at 12:01 PM, kundan1974 < notifications@github.com> wrote:

How to get some kind of objective value for radiomics parameter. Presently it’s only displaying intensity of a particular parameter in each slice. I need some sort of objective value for each slice or average of all the slice. So that I can compare different images and find the difference

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403076014, or mute the thread https://github.com/notifications/unsubscribe- auth/AAzUh_imV4_ G4xB01VwrUkXOUJqvxjpnks5uD4nSgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403100930, or mute the thread https://github.com/notifications/unsubscribe- auth/Ah6o4_ CXdFUDMDnIA1IU79Frat7hTe95ks5uD6CZgaJpZM4Uk2_P .

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment- 403197170, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o4xEZeTfBtcFe3jrjBWq1dlv4-SN_ks5uEGokgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub <https://github.com/cerr/CERR/issues/167#issuecomment-403219294 , or mute the thread https://github.com/notifications/unsubscribe- auth/Ah6o4w_rmSej1zwF_ AzRdeWLs_2T_7uXks5uEMTWgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403261799, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o42bbuYLG9NovwbOGdN1ETI05YEMGks5uEYy9gaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403281134, or mute the thread https://github.com/notifications/unsubscribe-auth/ Ah6o42yHgnwAu1ZzU3GYJ6yrR8aQamVBks5uEe1CgaJpZM4Uk2_P

.

-- Dr Kundan Singh Chufal Sr Consultant Radiation Oncology Chief Breast and Thorax Radiation Services Rajiv Gandhi Cancer Institute and Research Centre Sector-5, Rohini 110085, Delhi, India

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cerr/CERR/issues/167#issuecomment-403285881, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzUh2pRE64FSFJ51aEo8xA2Kt-R_ubYks5uEgEAgaJpZM4Uk2_P .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.