konfai 1.1.6__py3-none-any.whl → 1.1.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of konfai might be problematic. Click here for more details.
- konfai/data/augmentation.py +0 -1
- konfai/data/data_manager.py +25 -39
- konfai/data/patching.py +7 -19
- konfai/data/transform.py +2 -1
- konfai/metric/measure.py +85 -12
- konfai/metric/schedulers.py +2 -16
- konfai/models/classification/convNeXt.py +1 -2
- konfai/models/classification/resnet.py +1 -2
- konfai/models/generation/cStyleGan.py +1 -2
- konfai/models/generation/ddpm.py +1 -2
- konfai/models/generation/diffusionGan.py +10 -23
- konfai/models/generation/gan.py +3 -6
- konfai/models/generation/vae.py +0 -2
- konfai/models/registration/registration.py +1 -2
- konfai/models/representation/representation.py +1 -2
- konfai/models/segmentation/NestedUNet.py +10 -9
- konfai/models/segmentation/UNet.py +1 -1
- konfai/network/blocks.py +8 -6
- konfai/network/network.py +35 -49
- konfai/predictor.py +39 -58
- konfai/utils/utils.py +40 -2
- {konfai-1.1.6.dist-info → konfai-1.1.7.dist-info}/METADATA +1 -1
- konfai-1.1.7.dist-info/RECORD +39 -0
- konfai-1.1.6.dist-info/RECORD +0 -39
- {konfai-1.1.6.dist-info → konfai-1.1.7.dist-info}/WHEEL +0 -0
- {konfai-1.1.6.dist-info → konfai-1.1.7.dist-info}/entry_points.txt +0 -0
- {konfai-1.1.6.dist-info → konfai-1.1.7.dist-info}/licenses/LICENSE +0 -0
- {konfai-1.1.6.dist-info → konfai-1.1.7.dist-info}/top_level.txt +0 -0
konfai/predictor.py
CHANGED
|
@@ -27,17 +27,19 @@ from collections import defaultdict
|
|
|
27
27
|
|
|
28
28
|
class OutDataset(Dataset, NeedDevice, ABC):
|
|
29
29
|
|
|
30
|
-
def __init__(self, filename: str, group: str,
|
|
30
|
+
def __init__(self, filename: str, group: str, before_reduction_transforms : dict[str, TransformLoader], after_reduction_transforms : dict[str, TransformLoader], final_transforms : dict[str, TransformLoader], patchCombine: Union[str, None], reduction: str) -> None:
|
|
31
31
|
filename, format = filename.split(":")
|
|
32
32
|
super().__init__(filename, format)
|
|
33
33
|
self.group = group
|
|
34
|
-
self.
|
|
35
|
-
self.
|
|
34
|
+
self._before_reduction_transforms = before_reduction_transforms
|
|
35
|
+
self._after_reduction_transforms = after_reduction_transforms
|
|
36
36
|
self._final_transforms = final_transforms
|
|
37
37
|
self._patchCombine = patchCombine
|
|
38
|
+
self.reduction_classpath = reduction
|
|
39
|
+
self.reduction = None
|
|
38
40
|
|
|
39
|
-
self.
|
|
40
|
-
self.
|
|
41
|
+
self.before_reduction_transforms : list[Transform] = []
|
|
42
|
+
self.after_reduction_transforms : list[Transform] = []
|
|
41
43
|
self.final_transforms : list[Transform] = []
|
|
42
44
|
self.patchCombine: PathCombine = None
|
|
43
45
|
|
|
@@ -47,7 +49,7 @@ class OutDataset(Dataset, NeedDevice, ABC):
|
|
|
47
49
|
self.nb_data_augmentation = 0
|
|
48
50
|
|
|
49
51
|
def load(self, name_layer: str, datasets: list[Dataset], groups: dict[str, str]):
|
|
50
|
-
transforms_type = ["
|
|
52
|
+
transforms_type = ["before_reduction_transforms", "after_reduction_transforms", "final_transforms"]
|
|
51
53
|
for name, _transform_type, transform_type in [(k, getattr(self, "_{}".format(k)), getattr(self, k)) for k in transforms_type]:
|
|
52
54
|
|
|
53
55
|
if _transform_type is not None:
|
|
@@ -57,8 +59,15 @@ class OutDataset(Dataset, NeedDevice, ABC):
|
|
|
57
59
|
transform_type.append(transform)
|
|
58
60
|
|
|
59
61
|
if self._patchCombine is not None:
|
|
60
|
-
module, name = _getModule(self._patchCombine, "konfai.data.patching")
|
|
61
|
-
self.patchCombine =
|
|
62
|
+
module, name = _getModule(self._patchCombine, "konfai.data.patching")
|
|
63
|
+
self.patchCombine = config("{}.outsDataset.{}.OutDataset".format(KONFAI_ROOT(), name_layer))(getattr(importlib.import_module(module), name))(config = None)
|
|
64
|
+
|
|
65
|
+
module, name = _getModule(self.reduction_classpath, "konfai.predictor")
|
|
66
|
+
if module == "konfai.predictor":
|
|
67
|
+
self.reduction = getattr(importlib.import_module(module), name)
|
|
68
|
+
else:
|
|
69
|
+
self.reduction = config("{}.outsDataset.{}.OutDataset.{}".format(KONFAI_ROOT(), name_layer, self.reduction_classpath))(getattr(importlib.import_module(module), name))(config = None)
|
|
70
|
+
|
|
62
71
|
|
|
63
72
|
def setPatchConfig(self, patchSize: Union[list[int], None], overlap: Union[int, None], nb_data_augmentation: int) -> None:
|
|
64
73
|
if patchSize is not None and overlap is not None:
|
|
@@ -70,14 +79,14 @@ class OutDataset(Dataset, NeedDevice, ABC):
|
|
|
70
79
|
|
|
71
80
|
def setDevice(self, device: torch.device):
|
|
72
81
|
super().setDevice(device)
|
|
73
|
-
transforms_type = ["
|
|
82
|
+
transforms_type = ["before_reduction_transforms", "after_reduction_transforms", "final_transforms"]
|
|
74
83
|
for transform_type in [(getattr(self, k)) for k in transforms_type]:
|
|
75
84
|
if transform_type is not None:
|
|
76
85
|
for transform in transform_type:
|
|
77
86
|
transform.setDevice(device)
|
|
78
87
|
|
|
79
88
|
@abstractmethod
|
|
80
|
-
def addLayer(self,
|
|
89
|
+
def addLayer(self, index_dataset: int, index_augmentation: int, index_patch: int, layer: torch.Tensor, dataset: DatasetIter):
|
|
81
90
|
pass
|
|
82
91
|
|
|
83
92
|
def isDone(self, index: int) -> bool:
|
|
@@ -115,10 +124,9 @@ class Median(Reduction):
|
|
|
115
124
|
class OutSameAsGroupDataset(OutDataset):
|
|
116
125
|
|
|
117
126
|
@config("OutDataset")
|
|
118
|
-
def __init__(self,
|
|
119
|
-
super().__init__(dataset_filename, group,
|
|
127
|
+
def __init__(self, sameAsGroup: str = "default", dataset_filename: str = "default:./Dataset:mha", group: str = "default", before_reduction_transforms : dict[str, TransformLoader] = {"default:Normalize": TransformLoader()}, after_reduction_transforms : dict[str, TransformLoader] = {"default:Normalize": TransformLoader()}, final_transforms : dict[str, TransformLoader] = {"default:Normalize": TransformLoader()}, patchCombine: Union[str, None] = None, reduction: str = "mean", inverse_transform: bool = True) -> None:
|
|
128
|
+
super().__init__(dataset_filename, group, before_reduction_transforms, after_reduction_transforms, final_transforms, patchCombine, reduction)
|
|
120
129
|
self.group_src, self.group_dest = sameAsGroup.split(":")
|
|
121
|
-
self.reduction_classpath = reduction
|
|
122
130
|
self.inverse_transform = inverse_transform
|
|
123
131
|
|
|
124
132
|
def addLayer(self, index_dataset: int, index_augmentation: int, index_patch: int, layer: torch.Tensor, dataset: DatasetIter):
|
|
@@ -135,9 +143,6 @@ class OutSameAsGroupDataset(OutDataset):
|
|
|
135
143
|
for i in range(len(input_dataset.patch.getPatch_slices(index_augmentation))):
|
|
136
144
|
self.attributes[index_dataset][index_augmentation][i] = Attribute(input_dataset.cache_attributes[0])
|
|
137
145
|
|
|
138
|
-
for transform in self.pre_transforms:
|
|
139
|
-
layer = transform(self.names[index_dataset], layer, self.attributes[index_dataset][index_augmentation][index_patch])
|
|
140
|
-
|
|
141
146
|
if self.inverse_transform:
|
|
142
147
|
for transform in reversed(dataset.groups_src[self.group_src][self.group_dest].post_transforms):
|
|
143
148
|
layer = transform.inverse(self.names[index_dataset], layer, self.attributes[index_dataset][index_augmentation][index_patch])
|
|
@@ -146,9 +151,7 @@ class OutSameAsGroupDataset(OutDataset):
|
|
|
146
151
|
|
|
147
152
|
def load(self, name_layer: str, datasets: list[Dataset], groups: dict[str, str]):
|
|
148
153
|
super().load(name_layer, datasets, groups)
|
|
149
|
-
|
|
150
|
-
self.reduction = config("{}.outsDataset.{}.OutDataset.{}".format(KONFAI_ROOT(), name_layer, self.reduction_classpath))(getattr(importlib.import_module(module), name))(config = None)
|
|
151
|
-
|
|
154
|
+
|
|
152
155
|
if self.group_src not in groups.keys():
|
|
153
156
|
raise PredictorError(
|
|
154
157
|
f"Source group '{self.group_src}' not found. Available groups: {list(groups.keys())}."
|
|
@@ -161,7 +164,6 @@ class OutSameAsGroupDataset(OutDataset):
|
|
|
161
164
|
|
|
162
165
|
def _getOutput(self, index: int, index_augmentation: int, dataset: DatasetIter) -> torch.Tensor:
|
|
163
166
|
layer = self.output_layer_accumulator[index][index_augmentation].assemble()
|
|
164
|
-
name = self.names[index]
|
|
165
167
|
if index_augmentation > 0:
|
|
166
168
|
|
|
167
169
|
i = 0
|
|
@@ -173,53 +175,27 @@ class OutSameAsGroupDataset(OutDataset):
|
|
|
173
175
|
break
|
|
174
176
|
i += dataAugmentations.nb
|
|
175
177
|
|
|
176
|
-
for transform in self.
|
|
177
|
-
layer = transform(
|
|
178
|
-
|
|
179
|
-
if self.inverse_transform:
|
|
180
|
-
for transform in reversed(dataset.groups_src[self.group_src][self.group_dest].pre_transforms):
|
|
181
|
-
layer = transform.inverse(name, layer, self.attributes[index][index_augmentation][0])
|
|
178
|
+
for transform in self.before_reduction_transforms:
|
|
179
|
+
layer = transform(self.names[index], layer, self.attributes[index][index_augmentation][0])
|
|
180
|
+
|
|
182
181
|
return layer
|
|
183
182
|
|
|
184
183
|
def getOutput(self, index: int, dataset: DatasetIter) -> torch.Tensor:
|
|
185
184
|
result = torch.cat([self._getOutput(index, index_augmentation, dataset).unsqueeze(0) for index_augmentation in self.output_layer_accumulator[index].keys()], dim=0)
|
|
186
|
-
name = self.names[index]
|
|
187
185
|
self.output_layer_accumulator.pop(index)
|
|
188
186
|
result = self.reduction(result.float()).to(result.dtype)
|
|
187
|
+
|
|
188
|
+
for transform in self.after_reduction_transforms:
|
|
189
|
+
result = transform(self.names[index], result, self.attributes[index][0][0])
|
|
189
190
|
|
|
191
|
+
if self.inverse_transform:
|
|
192
|
+
for transform in reversed(dataset.groups_src[self.group_src][self.group_dest].pre_transforms):
|
|
193
|
+
result = transform.inverse(self.names[index], result, self.attributes[index][0][0])
|
|
194
|
+
|
|
190
195
|
for transform in self.final_transforms:
|
|
191
|
-
result = transform(
|
|
196
|
+
result = transform(self.names[index], result, self.attributes[index][0][0])
|
|
192
197
|
return result
|
|
193
198
|
|
|
194
|
-
class OutLayerDataset(OutDataset):
|
|
195
|
-
|
|
196
|
-
@config("OutDataset")
|
|
197
|
-
def __init__(self, dataset_filename: str = "Dataset.h5", group: str = "default", overlap : Union[list[int], None] = None, pre_transforms : dict[str, TransformLoader] = {"default:Normalize": TransformLoader()}, post_transforms : dict[str, TransformLoader] = {"default:Normalize": TransformLoader()}, final_transforms : dict[str, TransformLoader] = {"default:Normalize": TransformLoader()}, patchCombine: Union[str, None] = None) -> None:
|
|
198
|
-
super().__init__(dataset_filename, group, pre_transforms, post_transforms, final_transforms, patchCombine)
|
|
199
|
-
self.overlap = overlap
|
|
200
|
-
|
|
201
|
-
def addLayer(self, index: int, index_patch: int, layer: torch.Tensor, dataset: DatasetIter):
|
|
202
|
-
if index not in self.output_layer_accumulator:
|
|
203
|
-
group = list(dataset.groups.keys())[0]
|
|
204
|
-
patch_slices = get_patch_slices_from_nb_patch_per_dim(list(layer.shape[2:]), dataset.getDatasetFromIndex(group, index).patch.nb_patch_per_dim, self.overlap)
|
|
205
|
-
self.output_layer_accumulator[index] = Accumulator(patch_slices, self.patchCombine, batch=False)
|
|
206
|
-
self.attributes[index] = Attribute()
|
|
207
|
-
self.names[index] = dataset.getDatasetFromIndex(group, index).name
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
for transform in self.pre_transforms:
|
|
211
|
-
layer = transform(layer, self.attributes[index])
|
|
212
|
-
self.output_layer_accumulator[index].addLayer(index_patch, layer)
|
|
213
|
-
|
|
214
|
-
def getOutput(self, index: int, dataset: DatasetIter) -> torch.Tensor:
|
|
215
|
-
layer = self.output_layer_accumulator[index].assemble()
|
|
216
|
-
name = self.names[index]
|
|
217
|
-
for transform in self.post_transforms:
|
|
218
|
-
layer = transform(name, layer, self.attributes[index])
|
|
219
|
-
|
|
220
|
-
self.output_layer_accumulator.pop(index)
|
|
221
|
-
return layer
|
|
222
|
-
|
|
223
199
|
class OutDatasetLoader():
|
|
224
200
|
|
|
225
201
|
@config("OutDataset")
|
|
@@ -425,9 +401,14 @@ class Predictor(DistributedObject):
|
|
|
425
401
|
"Available modules: {}".format(modules),
|
|
426
402
|
"Please check that the name matches exactly a submodule or output of your model architecture."
|
|
427
403
|
)
|
|
404
|
+
|
|
428
405
|
module, name = _getModule(self.combine_classpath, "konfai.predictor")
|
|
429
|
-
|
|
406
|
+
if module == "konfai.predictor":
|
|
407
|
+
combine = getattr(importlib.import_module(module), name)
|
|
408
|
+
else:
|
|
409
|
+
combine = config("{}.{}".format(KONFAI_ROOT(), self.combine_classpath))(getattr(importlib.import_module(module), name))(config = None)
|
|
430
410
|
|
|
411
|
+
|
|
431
412
|
self.modelComposite = ModelComposite(self.model, len(MODEL().split(":")), combine)
|
|
432
413
|
self.modelComposite.load(self._load())
|
|
433
414
|
|
konfai/utils/utils.py
CHANGED
|
@@ -20,6 +20,11 @@ import torch.nn.functional as F
|
|
|
20
20
|
import sys
|
|
21
21
|
import re
|
|
22
22
|
|
|
23
|
+
import requests
|
|
24
|
+
from tqdm import tqdm
|
|
25
|
+
import importlib
|
|
26
|
+
from pathlib import Path
|
|
27
|
+
import shutil
|
|
23
28
|
|
|
24
29
|
def description(model, modelEMA = None, showMemory: bool = True, train: bool = True) -> str:
|
|
25
30
|
values_desc = lambda weights, values: " ".join(["{}({:.2f}) : {:.6f}".format(name.split(":")[-1], weight, value) for (name, value), weight in zip(values.items(), weights.values())])
|
|
@@ -35,11 +40,11 @@ def description(model, modelEMA = None, showMemory: bool = True, train: bool = T
|
|
|
35
40
|
def _getModule(classpath : str, type : str) -> tuple[str, str]:
|
|
36
41
|
if len(classpath.split(":")) > 1:
|
|
37
42
|
module = ".".join(classpath.split(":")[:-1])
|
|
38
|
-
name = classpath.split(":")[-1]
|
|
43
|
+
name = classpath.split(":")[-1]
|
|
39
44
|
else:
|
|
40
45
|
module = type+("." if len(classpath.split(".")) > 2 else "")+".".join(classpath.split(".")[:-1])
|
|
41
46
|
name = classpath.split(".")[-1]
|
|
42
|
-
return module, name
|
|
47
|
+
return module, name.split("/")[0]
|
|
43
48
|
|
|
44
49
|
def cpuInfo() -> str:
|
|
45
50
|
return "CPU ({:.2f} %)".format(psutil.cpu_percent(interval=0.5))
|
|
@@ -420,6 +425,8 @@ def setup(parser: argparse.ArgumentParser) -> DistributedObject:
|
|
|
420
425
|
|
|
421
426
|
os.environ["CUDA_VISIBLE_DEVICES"] = config["gpu"]
|
|
422
427
|
os.environ["KONFAI_NB_CORES"] = config["cpu"]
|
|
428
|
+
|
|
429
|
+
os.environ["KONFAI_WORKERS"] = str(config["num_workers"])
|
|
423
430
|
os.environ["KONFAI_MODELS_DIRECTORY"] = config["MODELS_DIRECTORY"]
|
|
424
431
|
os.environ["KONFAI_CHECKPOINTS_DIRECTORY"] = config["CHECKPOINTS_DIRECTORY"]
|
|
425
432
|
os.environ["KONFAI_PREDICTIONS_DIRECTORY"] = config["PREDICTIONS_DIRECTORY"]
|
|
@@ -536,6 +543,37 @@ def _resample_affine(data: torch.Tensor, matrix: torch.Tensor):
|
|
|
536
543
|
return F.grid_sample(data.unsqueeze(0).type(torch.float32), F.affine_grid(matrix[:, :-1,...].type(torch.float32), [1]+list(data.shape), align_corners=True), align_corners=True, mode=mode, padding_mode="reflection").squeeze(0).type(data.dtype)
|
|
537
544
|
|
|
538
545
|
|
|
546
|
+
|
|
547
|
+
def download_url(model_name: str, url: str) -> str:
|
|
548
|
+
spec = importlib.util.find_spec("konfai")
|
|
549
|
+
base_path = Path(spec.submodule_search_locations[0]) / "metric" / "models"
|
|
550
|
+
subdirs = Path(model_name).parent
|
|
551
|
+
model_dir = base_path / subdirs
|
|
552
|
+
model_dir.mkdir(exist_ok=True)
|
|
553
|
+
filetmp = model_dir / ("tmp_"+str(Path(model_name).name))
|
|
554
|
+
file = model_dir / Path(model_name).name
|
|
555
|
+
if file.exists():
|
|
556
|
+
return str(file)
|
|
557
|
+
|
|
558
|
+
try:
|
|
559
|
+
print(f"[FOCUS] Downloading {model_name} to {file}")
|
|
560
|
+
with requests.get(url+model_name, stream=True) as r:
|
|
561
|
+
r.raise_for_status()
|
|
562
|
+
total = int(r.headers.get('content-length', 0))
|
|
563
|
+
with open(filetmp, 'wb') as f:
|
|
564
|
+
with tqdm(total=total, unit='B', unit_scale=True, desc=f"Downloading {model_name}") as pbar:
|
|
565
|
+
for chunk in r.iter_content(chunk_size=8192):
|
|
566
|
+
f.write(chunk)
|
|
567
|
+
pbar.update(len(chunk))
|
|
568
|
+
shutil.copy2(filetmp, file)
|
|
569
|
+
print("Download finished.")
|
|
570
|
+
except Exception as e:
|
|
571
|
+
raise e
|
|
572
|
+
finally:
|
|
573
|
+
if filetmp.exists():
|
|
574
|
+
os.remove(filetmp)
|
|
575
|
+
return str(file)
|
|
576
|
+
|
|
539
577
|
SUPPORTED_EXTENSIONS = [
|
|
540
578
|
"mha", "mhd", # MetaImage
|
|
541
579
|
"nii", "nii.gz", # NIfTI
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
konfai/__init__.py,sha256=YXG-wpSEXWs6Jt3BDI77V4r89gEUNX-6lxW9btj5VYI,851
|
|
2
|
+
konfai/evaluator.py,sha256=WM78NGydV0iqKElahr-WpOCZLEJXHjjPq-LS-gi23rk,8401
|
|
3
|
+
konfai/main.py,sha256=kr7Iie_f67NF6G3dAAj9G6Z9dhn9RzbdLYpzy2WvIh8,2573
|
|
4
|
+
konfai/predictor.py,sha256=6zFGjQhG5-3hF10pvCn58UDLB6ZQ_UhMlxkOCzpM4tM,23053
|
|
5
|
+
konfai/trainer.py,sha256=Edi8l8OOfCewYM-Cd5C5rCqCaprvlfxzohd4iLkK5u0,20632
|
|
6
|
+
konfai/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
+
konfai/data/augmentation.py,sha256=mFVMpbJ8WBKGbMILdmTZYBA8k7kRDQVPOEy1A9t5QP4,32281
|
|
8
|
+
konfai/data/data_manager.py,sha256=yphkTjk4_gyr_vOGodfhu9ImDHplRe2KR6dL2ORXzCw,29000
|
|
9
|
+
konfai/data/patching.py,sha256=zAm6jjUW--lsqTBlDFICVlj7O_QOlSxStFAHS9S9H8I,14753
|
|
10
|
+
konfai/data/transform.py,sha256=yZ6aALtVEqTYghREPH8Z1deglU7M4t4OiQqMY6gpjjA,26559
|
|
11
|
+
konfai/metric/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
+
konfai/metric/measure.py,sha256=S65WGBRYMoalkwI_Le3C6K0tQmT4Qft82nUTBwhpvFU,26907
|
|
13
|
+
konfai/metric/schedulers.py,sha256=VPp7zEwD0AtQz51XG0TlutD_NrsTZs4fstC5h8A8f8U,1309
|
|
14
|
+
konfai/models/classification/convNeXt.py,sha256=hZQ_9I1lJW7DX8QnoeZ9L1br-98apV9VXGrsTAN25ds,9261
|
|
15
|
+
konfai/models/classification/resnet.py,sha256=eBoS_zNczfa1EnECKKLr0Ow26ekR_4W5eji6p9cPfHk,7978
|
|
16
|
+
konfai/models/generation/cStyleGan.py,sha256=7D8zZveDEZapFeaaDTe3wVhuDCCHLqq6cpXtl2-QaJA,8059
|
|
17
|
+
konfai/models/generation/ddpm.py,sha256=jXb0eOU3i_gMHvj9pawVAWQDjMGl6SPfCc5m2Jzdrik,13175
|
|
18
|
+
konfai/models/generation/diffusionGan.py,sha256=ZFKdRHvlajEPyw9_HCLo0Q92iChCtZd2dvi2nEF_tBI,33218
|
|
19
|
+
konfai/models/generation/gan.py,sha256=RzpGNu8BlBVDCxFR5CCmEFYUzVBs2YrDl7trIos3ssw,7861
|
|
20
|
+
konfai/models/generation/vae.py,sha256=zH8qk04z2lXDhXAVxTHiRIVMfRi3brB61lHGmEsE3kM,4675
|
|
21
|
+
konfai/models/registration/registration.py,sha256=EAE3w8aic2fPWiJz0ilqrs2kCGUQD6NWvysVfHXxA_g,6329
|
|
22
|
+
konfai/models/representation/representation.py,sha256=TiYcBBqZYySpwsRlnnBQh0QVW29Rcvb9GUjsqnCKKLM,2689
|
|
23
|
+
konfai/models/segmentation/NestedUNet.py,sha256=hDSE7BJ17IqaiHWAD5zlVG7G_KvQzuQmVnAVsiYVE6E,10248
|
|
24
|
+
konfai/models/segmentation/UNet.py,sha256=BktCRfAcCDtvGCw8wGfyZvBtT4G0Oy8teIcVgDFOurk,4078
|
|
25
|
+
konfai/network/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
+
konfai/network/blocks.py,sha256=C_dOLmXovxANWCx7P439FzR_95Zisy2I1F7FEwwz7AE,14412
|
|
27
|
+
konfai/network/network.py,sha256=LHeA7HtsVYO7BJu2_kqh23q2GIANn5ZSa4LhKMt7dJg,48642
|
|
28
|
+
konfai/utils/ITK.py,sha256=OxTieDNNYHGkn7zxJsAG-6ecRG1VYMvn1dlBbBe1DOs,13955
|
|
29
|
+
konfai/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
+
konfai/utils/config.py,sha256=f7o83ix5_oNbr2pki-Czqr-yHi-8n92ZL64nlo0XGwA,12514
|
|
31
|
+
konfai/utils/dataset.py,sha256=6ZzevdhJ7e5zlXATAVwSh9O6acKXM7gYNxkMAa5DrmM,36351
|
|
32
|
+
konfai/utils/registration.py,sha256=v1srEBOcgDnHrx0YtsK6bcj0yCMH7wNeaQ3wC7gEvOw,8898
|
|
33
|
+
konfai/utils/utils.py,sha256=mQQ6FB0Jw7Odg5GxYeTApR6lvFhXn_iz-GVGZRngGQA,24934
|
|
34
|
+
konfai-1.1.7.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
35
|
+
konfai-1.1.7.dist-info/METADATA,sha256=DJ2n6Rc9NF018KsJPQxFHpQmlDazUnrrP4zHtgE4_Ew,2515
|
|
36
|
+
konfai-1.1.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
37
|
+
konfai-1.1.7.dist-info/entry_points.txt,sha256=fG82HRN5-g39ACSOCtij_I3N6EHxfYnMR0D7TI_8pW8,81
|
|
38
|
+
konfai-1.1.7.dist-info/top_level.txt,sha256=xF470dkIlFoFqTZEOlRehKJr4WU_8OKGXrJqYm9vWKs,7
|
|
39
|
+
konfai-1.1.7.dist-info/RECORD,,
|
konfai-1.1.6.dist-info/RECORD
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
konfai/__init__.py,sha256=YXG-wpSEXWs6Jt3BDI77V4r89gEUNX-6lxW9btj5VYI,851
|
|
2
|
-
konfai/evaluator.py,sha256=WM78NGydV0iqKElahr-WpOCZLEJXHjjPq-LS-gi23rk,8401
|
|
3
|
-
konfai/main.py,sha256=kr7Iie_f67NF6G3dAAj9G6Z9dhn9RzbdLYpzy2WvIh8,2573
|
|
4
|
-
konfai/predictor.py,sha256=kqAF3P4BAOZvjHtBAfv2M4-yonqAOcnIV7APgxdRsww,24283
|
|
5
|
-
konfai/trainer.py,sha256=Edi8l8OOfCewYM-Cd5C5rCqCaprvlfxzohd4iLkK5u0,20632
|
|
6
|
-
konfai/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
konfai/data/augmentation.py,sha256=SD8m0uLz5aQYtjAjns0H04WgrDWSN6nd7lWlNnT2fi8,32300
|
|
8
|
-
konfai/data/data_manager.py,sha256=eYgFJjHr9HEpRLTtLabUZLPH4c82OQCiGuYQ84ktWCE,30076
|
|
9
|
-
konfai/data/patching.py,sha256=zs3T4yTV8_iCFrqO21bo6GhwTywoTxIL31IAi-jiJDQ,15478
|
|
10
|
-
konfai/data/transform.py,sha256=LfdsNUE5_6mIGrVzI6B2N2WO-jaNzFmuMxhP1Y0Fbwk,26538
|
|
11
|
-
konfai/metric/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
konfai/metric/measure.py,sha256=j-rEsNgVMPjYFWtahYEaiMSDnyD5Dv8edx5KEt2Rj2U,22797
|
|
13
|
-
konfai/metric/schedulers.py,sha256=eZIlJMOQH8AV48F5hiRFbmONmoY4hHMujvS3qgFYXbw,1771
|
|
14
|
-
konfai/models/classification/convNeXt.py,sha256=Phj1hO8TCItVhBXoFXQcIkA85DZxurGLyHIPWBfXJ0Y,9243
|
|
15
|
-
konfai/models/classification/resnet.py,sha256=t8KJEgGudWBpGJM9YS1lH_5eX0-wGbK7ZW5uZW214eM,7958
|
|
16
|
-
konfai/models/generation/cStyleGan.py,sha256=PwaVQX9h5u_8YbbxA7sz7inzIEoMadinuo0kFFNqIn0,8042
|
|
17
|
-
konfai/models/generation/ddpm.py,sha256=awvuRo-vk8M80N93NWF4i0-WWfaycBxSOmdYJNJv2Ys,13153
|
|
18
|
-
konfai/models/generation/diffusionGan.py,sha256=KnJyV-tx4CiE_ag-5IXwiYLCuC2yFHX16k2CtASdecg,33199
|
|
19
|
-
konfai/models/generation/gan.py,sha256=-GoKxHm3W9NdD4U77UcJrG5TfOZ3NWFUZG663kt2XPo,7854
|
|
20
|
-
konfai/models/generation/vae.py,sha256=_3JYVT2ojZ0P98tYcD2ny7a-gWVUmnByLDhY7i-n_4g,4719
|
|
21
|
-
konfai/models/registration/registration.py,sha256=18EiWt4RJIXLyFtqU-kHjV1sMnQRm9mxAA6_-2B1YqI,6313
|
|
22
|
-
konfai/models/representation/representation.py,sha256=RwQYoxtdph440-t_ZLelykl0hkUAD1zdspQaLkgxb-0,2677
|
|
23
|
-
konfai/models/segmentation/NestedUNet.py,sha256=D2qChm5SSYqV7FayCe9eT260vxckxRfBOCS1US6xcnw,10184
|
|
24
|
-
konfai/models/segmentation/UNet.py,sha256=TKPmhHEnlOYfnUF2Qof3VSETl5nEIh9h0SkblBRdbbg,4036
|
|
25
|
-
konfai/network/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
-
konfai/network/blocks.py,sha256=P7mEuuE1B0HRSgXRCeLxZvzYGKLskHD33hskpdkjIPs,14370
|
|
27
|
-
konfai/network/network.py,sha256=zszV7z6tyZpZtWb9SHXqH1pJlvdy9YB4yrf7Muv_HiM,48936
|
|
28
|
-
konfai/utils/ITK.py,sha256=OxTieDNNYHGkn7zxJsAG-6ecRG1VYMvn1dlBbBe1DOs,13955
|
|
29
|
-
konfai/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
-
konfai/utils/config.py,sha256=f7o83ix5_oNbr2pki-Czqr-yHi-8n92ZL64nlo0XGwA,12514
|
|
31
|
-
konfai/utils/dataset.py,sha256=6ZzevdhJ7e5zlXATAVwSh9O6acKXM7gYNxkMAa5DrmM,36351
|
|
32
|
-
konfai/utils/registration.py,sha256=v1srEBOcgDnHrx0YtsK6bcj0yCMH7wNeaQ3wC7gEvOw,8898
|
|
33
|
-
konfai/utils/utils.py,sha256=1M46MYSZuPrbH5ihu8WZHaQNfqmvfeVsH-mAk0ED5TI,23575
|
|
34
|
-
konfai-1.1.6.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
35
|
-
konfai-1.1.6.dist-info/METADATA,sha256=wU8CbR5KO85P9dY3asD_ylG5rMCFIAQmNL0ifTDXA8g,2515
|
|
36
|
-
konfai-1.1.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
37
|
-
konfai-1.1.6.dist-info/entry_points.txt,sha256=fG82HRN5-g39ACSOCtij_I3N6EHxfYnMR0D7TI_8pW8,81
|
|
38
|
-
konfai-1.1.6.dist-info/top_level.txt,sha256=xF470dkIlFoFqTZEOlRehKJr4WU_8OKGXrJqYm9vWKs,7
|
|
39
|
-
konfai-1.1.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|