AIM-Harvard / pyradiomics

Open-source python package for the extraction of Radiomics features from 2D and 3D images and binary masks. Support: https://discourse.slicer.org/c/community/radiomics
http://pyradiomics.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
1.15k stars 499 forks source link

Establish mapping between Matlab features and pyradiomics features #15

Closed fedorov closed 8 years ago

fedorov commented 8 years ago

Also revise the names to make them as readable as possible

fedorov commented 8 years ago

@vnarayan13 please review this and I think you are the best person to contribute the text files establishing the mapping, given the files with the feature names I generated in #23.

Note we are completely missing feature class 'glszm' in pyradiomics (I have no idea what it is), so it is not included.

I will also add comments for the individual feature names where clarifications are needed. For now, I am assigning this issue to you, since I think the next step is on your side. Let me know if I need to clarify further than in https://github.com/fedorov/pyradiomics/blob/matlab-names-matcher/bin/namesMatcher.py#L1-L14.

fedorov commented 8 years ago

Also, forgot to mention, after filtering out preprocessing, the total number of features is around 100, so I think establishing correspondence manually is the optimal way to go.

naucoin commented 8 years ago

GLSZM hasn't been ported over from the radiomics-platform repo: https://github.com/Radiomics/radiomics-platform/tree/master/RadiomicsPlatform/RadiomicsPlatform/RadiomicsFeaturesLib/Radiomics_GLSZM

vnarayan13 commented 8 years ago

Sure, GLSZM is not completed yet so the port will have to wait. See new pull request for Matlab Feature Mappings.

fedorov commented 8 years ago

@vnarayan13 please take a look, the remaining issues (outside the preprocessing steps) are:

vnarayan13 commented 8 years ago

Ok, I will have a PR to update pyradiomics feature names to match the new pyradiomics/Data/MatlabFeatures.csv to keep things consistent.

fedorov commented 8 years ago

@naucoin I think at this point we have all the pieces in place to establish testing for the majority of features (those that are matched between pyradiomics and matlab). What do you think?

naucoin commented 8 years ago

We need the LoG functionality before we can do comparisons for a couple of the feature classes, but I can work on updating the tests while that's getting resolved.

fedorov commented 8 years ago

We need the LoG functionality before we can do comparisons for a couple of the feature classes

From what I see, the Matlab file contains features calculated without LoG functionality as well, so we can proceed to test those.

naucoin commented 8 years ago

Okay, will verify and proceed.

fedorov commented 8 years ago

@vnarayan13 just a reminder that we need your attention to resolve this issue. As mentioned above:

@vnarayan13 please take a look, the remaining issues (outside the preprocessing steps) are:

  • not all features from matlab are available in pyradiomics
  • mapping between some features (relatively few) needs to be established manually (some of those issues can be resolved by fixing the feature names in pyradiomics proper, which should be done anyways, for features like 'Idn1' etc)
naucoin commented 8 years ago

For reference, I renamed my topic branch that was updating some of the mappings and fixing up tests for the circleci so it can be integrated now while I go on to the larger reorder/cleanup: https://github.com/Radiomics/pyradiomics/pull/36