Skip to content

Problem with LongiSeg_plan_and_preprocess #5

@BaptBat

Description

@BaptBat

Hi,

I'm trying to use LongiSeg with my dataset containing only 1 modality: T2w for multiples timepoints.
I have 2 questions / issues.

Firstly, does your implementation support non segmented data for context support ? Like, I have 1 timepoint, can I provide the previous timepoint without giving the corresponding previous segmentation ? I saw in a previous issue, you said you were supposed to do it ?

Secondly, here is my dataset structures:

-> dataset.json  patientsTr.json

-> imagesTr:
Borgne_ses07_bias_0000.nii.gz  Borgne_ses08_bias_0000.nii.gz

-> imagesTs:

-> labelsTr:
Borgne_ses07_bias.nii.gz  Borgne_ses08_bias.nii.gz

My dataset.json:

{
    "channel_names": {
        "0": "T2W"
    },
    "labels": {
        "background": 0,
        "CSF": 1,
        "WM": 2,
        "GM": 3,
        "Ventricle": 4
    },
    "numTraining": 2,
    "file_ending": ".nii.gz",
    "dataset_name": "Dataset001_Test"
}

And my patientsTr.json:

{
    "Borgne": [
        "Borgne_ses07_bias_0000.nii.gz",
        "Borgne_ses08_bias_0000.nii.gz"
    ]
}

When I run the command LongiSeg_plan_and_preprocess -d 1 --verify_dataset_integrity, I have the following error:

Fingerprint extraction...
Dataset001_Test
Using <class 'longiseg.imageio.simpleitk_reader_writer.SimpleITKIOWithReorient'> as reader/writer

####################
verify_dataset_integrity Done.
If you didn't see any error messages then your dataset is most likely OK!
####################

Using <class 'longiseg.imageio.simpleitk_reader_writer.SimpleITKIOWithReorient'> as reader/writer
100%|█████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:04<00:00,  4.21s/it]
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
  File "/home/lbaptiste/miniconda3/envs/longiseg/lib/python3.10/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/home/lbaptiste/miniconda3/envs/longiseg/lib/python3.10/multiprocessing/pool.py", line 51, in starmapstar
    return list(itertools.starmap(args[0], args[1]))
  File "/scratch/lbaptiste/Babofet_T2w/LongiSeg/longiseg/experiment_planning/dataset_fingerprint/fingerprint_extractor_longi.py", line 30, in analyze_patient
    image_files = dataset[s]['images']
KeyError: 'Borgne_ses07_bias_0000.nii.gz'
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/lbaptiste/miniconda3/envs/longiseg/bin/LongiSeg_plan_and_preprocess", line 8, in <module>
    sys.exit(plan_and_preprocess_longi_entry())
  File "/scratch/lbaptiste/Babofet_T2w/LongiSeg/longiseg/experiment_planning/plan_and_preprocess_longi_entrypoints.py", line 180, in plan_and_preprocess_longi_entry
    extract_fingerprints(args.d, args.fpe, args.npfp, args.verify_dataset_integrity, args.clean, args.verbose)
  File "/scratch/lbaptiste/Babofet_T2w/LongiSeg/longiseg/experiment_planning/plan_and_preprocess_api.py", line 47, in extract_fingerprints
    extract_fingerprint_dataset(d, fingerprint_extractor_class, num_processes, check_dataset_integrity, clean,
  File "/scratch/lbaptiste/Babofet_T2w/LongiSeg/longiseg/experiment_planning/plan_and_preprocess_api.py", line 33, in extract_fingerprint_dataset
    return fpe.run(overwrite_existing=clean)
  File "/scratch/lbaptiste/Babofet_T2w/LongiSeg/longiseg/experiment_planning/dataset_fingerprint/fingerprint_extractor_longi.py", line 125, in run
    results = [i.get()[0] for i in r]
  File "/scratch/lbaptiste/Babofet_T2w/LongiSeg/longiseg/experiment_planning/dataset_fingerprint/fingerprint_extractor_longi.py", line 125, in <listcomp>
    results = [i.get()[0] for i in r]
  File "/home/lbaptiste/miniconda3/envs/longiseg/lib/python3.10/multiprocessing/pool.py", line 774, in get
    raise self._value
KeyError: 'Borgne_ses07_bias_0000.nii.gz'

I tried with "Borgne_ses07" (and also Borgne_ses08) in the patientsTr.json file, but got the same error.
My dataformat is well working with the basic UNet implementation: same filename as shown here for imagesTr and labelsTr, same dataset.json....

Thank you for your reply :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions