Analyze (training) data Args: datalist_json: original data list .json (required by most monai tutorials). data_dir: raw data directory.
(datalist_json: dict, data_dir: str)
| 36 | |
| 37 | |
| 38 | def analyze_data(datalist_json: dict, data_dir: str) -> tuple[int, int]: |
| 39 | """ |
| 40 | Analyze (training) data |
| 41 | |
| 42 | Args: |
| 43 | datalist_json: original data list .json (required by most monai tutorials). |
| 44 | data_dir: raw data directory. |
| 45 | """ |
| 46 | img = monai.transforms.LoadImage(image_only=True, ensure_channel_first=True, simple_keys=True)( |
| 47 | os.path.join(data_dir, datalist_json["training"][0]["image"]) |
| 48 | ) |
| 49 | num_input_channels = img.size()[0] if img.dim() == 4 else 1 |
| 50 | logger.info(f"num_input_channels: {num_input_channels}") |
| 51 | |
| 52 | num_foreground_classes = 0 |
| 53 | for _i in range(len(datalist_json["training"])): |
| 54 | seg = monai.transforms.LoadImage(image_only=True, ensure_channel_first=True, simple_keys=True)( |
| 55 | os.path.join(data_dir, datalist_json["training"][_i]["label"]) |
| 56 | ) |
| 57 | num_foreground_classes = max(num_foreground_classes, int(seg.max())) |
| 58 | logger.info(f"num_foreground_classes: {num_foreground_classes}") |
| 59 | |
| 60 | return num_input_channels, num_foreground_classes |
| 61 | |
| 62 | |
| 63 | def create_new_data_copy( |
no test coverage detected
searching dependent graphs…