You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently input is either xml or using function arguments. Feature values are provided as a csv file or pandas DataFrame. However, the current output does not completely describe the input parameters used to process the data. For example, voxel spacing is provided as output, but not the algorithm and parameters used to resample the image.
Ideally, output should be constructed in a way that fully specifies the image processing and feature computation, in a machine-readable format. Moreover MIRP should be able to read this output and repeat the analysis.
What is already there
Image processing details are stored with image objects. This includes masks.
Feature processing details are stored with features. These are then later parsed into feature names for export.
Features and filtered images have associated IBSI identifiers.
What needs to be done
Each image should keep a ledger that copies the image processing settings as they are applied. This approach has the following advantages:
Image processing steps that do not apply are not listed. This prevents having to implement logic and checks in multiple places.
We can copy the names of settings attributes directly, which makes makes using the output as input easier.
We don't need to store image process settings in attributes, which are a bit more finicky to extend as new things are implemented.
Output needs to structured. An output file should be created per output image and mask. Currently I think each output should list the following main categories:
image-data, which references the input image data (i.e. filenames, file location, modality etc.)
mask-data, which references the input mask data (i.e. filenames, file location, modality etc.)
image-processing, containing details from the image processing ledger of the image.
mask-processing, containing details from the image processing ledger of the mask.
features, containing a list of features, which is again structured to contain not only the feature value but also feature extraction parameters.
version: to track the version of MIRP (and thus of the exported output).
Output should be exported to a file with image-name + mask-name + an UID. The user should be allowed to determine the format, e.g. JSON, TOML, XML, or YAML.
MIRP needs to support using an output file as input.
MIRP needs to support a feature engine (so that only specific features are computed). The rudiments are currently there, because MIRP already generates feature objects and then determines which ones should actually be computed (this used to prevent computing features that are not IBSI-compliant, for example). This will also help Specific function for getting dose-volume histogram features #107
Currently input is either
xmlor using function arguments. Feature values are provided as acsvfile orpandasDataFrame. However, the current output does not completely describe the input parameters used to process the data. For example, voxel spacing is provided as output, but not the algorithm and parameters used to resample the image.Ideally, output should be constructed in a way that fully specifies the image processing and feature computation, in a machine-readable format. Moreover MIRP should be able to read this output and repeat the analysis.
What is already there
What needs to be done
image-data, which references the input image data (i.e. filenames, file location, modality etc.)mask-data, which references the input mask data (i.e. filenames, file location, modality etc.)image-processing, containing details from the image processing ledger of the image.mask-processing, containing details from the image processing ledger of the mask.features, containing a list of features, which is again structured to contain not only the feature value but also feature extraction parameters.version: to track the version of MIRP (and thus of the exported output).