deepliif 1.1.12__tar.gz → 1.1.13__tar.gz

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.
Files changed (51) hide show
  1. {deepliif-1.1.12/deepliif.egg-info → deepliif-1.1.13}/PKG-INFO +2 -2
  2. {deepliif-1.1.12 → deepliif-1.1.13}/README.md +1 -1
  3. deepliif-1.1.12/deepliif/models/__init__.py → deepliif-1.1.13/deepliif/models/__init__ - different weighted.py +33 -0
  4. deepliif-1.1.13/deepliif/models/__init__ - time gens.py +792 -0
  5. deepliif-1.1.13/deepliif/models/__init__.py +760 -0
  6. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/util/__init__.py +1 -1
  7. {deepliif-1.1.12 → deepliif-1.1.13/deepliif.egg-info}/PKG-INFO +2 -2
  8. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif.egg-info/SOURCES.txt +2 -0
  9. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif.egg-info/requires.txt +2 -3
  10. {deepliif-1.1.12 → deepliif-1.1.13}/setup.cfg +1 -1
  11. {deepliif-1.1.12 → deepliif-1.1.13}/setup.py +3 -4
  12. {deepliif-1.1.12 → deepliif-1.1.13}/LICENSE.md +0 -0
  13. {deepliif-1.1.12 → deepliif-1.1.13}/cli.py +0 -0
  14. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/__init__.py +0 -0
  15. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/data/__init__.py +0 -0
  16. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/data/aligned_dataset.py +0 -0
  17. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/data/base_dataset.py +0 -0
  18. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/data/colorization_dataset.py +0 -0
  19. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/data/image_folder.py +0 -0
  20. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/data/single_dataset.py +0 -0
  21. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/data/template_dataset.py +0 -0
  22. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/data/unaligned_dataset.py +0 -0
  23. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/models/CycleGAN_model.py +0 -0
  24. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/models/DeepLIIFExt_model.py +0 -0
  25. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/models/DeepLIIF_model.py +0 -0
  26. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/models/SDG_model.py +0 -0
  27. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/models/__init__ - run_dask_multi dev.py +0 -0
  28. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/models/__init__ - timings.py +0 -0
  29. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/models/att_unet.py +0 -0
  30. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/models/base_model.py +0 -0
  31. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/models/networks.py +0 -0
  32. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/options/__init__.py +0 -0
  33. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/options/base_options.py +0 -0
  34. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/options/processing_options.py +0 -0
  35. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/options/test_options.py +0 -0
  36. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/options/train_options.py +0 -0
  37. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/postprocessing.py +0 -0
  38. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/postprocessing__OLD__DELETE.py +0 -0
  39. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/util/get_data.py +0 -0
  40. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/util/html.py +0 -0
  41. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/util/image_pool.py +0 -0
  42. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/util/util.py +0 -0
  43. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif/util/visualizer.py +0 -0
  44. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif.egg-info/dependency_links.txt +0 -0
  45. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif.egg-info/entry_points.txt +0 -0
  46. {deepliif-1.1.12 → deepliif-1.1.13}/deepliif.egg-info/top_level.txt +0 -0
  47. {deepliif-1.1.12 → deepliif-1.1.13}/tests/test_args.py +0 -0
  48. {deepliif-1.1.12 → deepliif-1.1.13}/tests/test_cli_inference.py +0 -0
  49. {deepliif-1.1.12 → deepliif-1.1.13}/tests/test_cli_serialize.py +0 -0
  50. {deepliif-1.1.12 → deepliif-1.1.13}/tests/test_cli_train.py +0 -0
  51. {deepliif-1.1.12 → deepliif-1.1.13}/tests/test_cli_trainlaunch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: deepliif
3
- Version: 1.1.12
3
+ Version: 1.1.13
4
4
  Summary: DeepLIIF: Deep-Learning Inferred Multiplex Immunofluorescence for Immunohistochemical Image Quantification
5
5
  Home-page: https://github.com/nadeemlab/DeepLIIF
6
6
  Author: Parmida93
@@ -53,7 +53,7 @@ segmentation.*
53
53
 
54
54
  © This code is made available for non-commercial academic purposes.
55
55
 
56
- ![Version](https://img.shields.io/static/v1?label=latest&message=v1.1.12&color=darkgreen)
56
+ ![Version](https://img.shields.io/static/v1?label=latest&message=v1.1.13&color=darkgreen)
57
57
  [![Total Downloads](https://static.pepy.tech/personalized-badge/deepliif?period=total&units=international_system&left_color=grey&right_color=blue&left_text=total%20downloads)](https://pepy.tech/project/deepliif?&left_text=totalusers)
58
58
 
59
59
  ![overview_image](./images/overview.png)*Overview of DeepLIIF pipeline and sample input IHCs (different
@@ -42,7 +42,7 @@ segmentation.*
42
42
 
43
43
  © This code is made available for non-commercial academic purposes.
44
44
 
45
- ![Version](https://img.shields.io/static/v1?label=latest&message=v1.1.12&color=darkgreen)
45
+ ![Version](https://img.shields.io/static/v1?label=latest&message=v1.1.13&color=darkgreen)
46
46
  [![Total Downloads](https://static.pepy.tech/personalized-badge/deepliif?period=total&units=international_system&left_color=grey&right_color=blue&left_text=total%20downloads)](https://pepy.tech/project/deepliif?&left_text=totalusers)
47
47
 
48
48
  ![overview_image](./images/overview.png)*Overview of DeepLIIF pipeline and sample input IHCs (different
@@ -273,6 +273,27 @@ def run_dask(img, model_path, eager_mode=False, opt=None, seg_only=False):
273
273
  'G54': 0.00, # Lap2
274
274
  'G55': 0.25, # Marker
275
275
  }
276
+ weights1 = {
277
+ 'G51': 0.5, # IHC
278
+ 'G52': 0.0, # Hema
279
+ 'G53': 0.0, # DAPI
280
+ 'G54': 0.0, # Lap2
281
+ 'G55': 0.5, # Marker
282
+ }
283
+ weights2 = {
284
+ 'G51': 0.34, # IHC
285
+ 'G52': 0.00, # Hema
286
+ 'G53': 0.33, # DAPI
287
+ 'G54': 0.00, # Lap2
288
+ 'G55': 0.33, # Marker
289
+ }
290
+ weights3 = {
291
+ 'G51': 0.34, # IHC
292
+ 'G52': 0.33, # Hema
293
+ 'G53': 0.00, # DAPI
294
+ 'G54': 0.00, # Lap2
295
+ 'G55': 0.33, # Marker
296
+ }
276
297
 
277
298
  seg_map = {'G1': 'G52', 'G2': 'G53', 'G3': 'G54', 'G4': 'G55'}
278
299
  if seg_only:
@@ -289,6 +310,9 @@ def run_dask(img, model_path, eager_mode=False, opt=None, seg_only=False):
289
310
  segs = compute(lazy_segs)[0]
290
311
 
291
312
  seg = torch.stack([torch.mul(segs[k], weights[k]) for k in segs.keys()]).sum(dim=0)
313
+ seg1 = torch.stack([torch.mul(segs[k], weights1[k]) for k in segs.keys()]).sum(dim=0)
314
+ seg2 = torch.stack([torch.mul(segs[k], weights2[k]) for k in segs.keys()]).sum(dim=0)
315
+ seg3 = torch.stack([torch.mul(segs[k], weights3[k]) for k in segs.keys()]).sum(dim=0)
292
316
 
293
317
  if seg_only:
294
318
  res = {'G4': tensor_to_pil(gens['G4'])} if 'G4' in gens else {}
@@ -296,6 +320,9 @@ def run_dask(img, model_path, eager_mode=False, opt=None, seg_only=False):
296
320
  res = {k: tensor_to_pil(v) for k, v in gens.items()}
297
321
  res.update({k: tensor_to_pil(v) for k, v in segs.items()})
298
322
  res['G5'] = tensor_to_pil(seg)
323
+ res['G5a'] = tensor_to_pil(seg1)
324
+ res['G5b'] = tensor_to_pil(seg2)
325
+ res['G5c'] = tensor_to_pil(seg3)
299
326
 
300
327
  return res
301
328
  elif opt.model in ['DeepLIIFExt','SDG','CycleGAN']:
@@ -348,6 +375,9 @@ def run_wrapper(tile, run_fn, model_path, eager_mode=False, opt=None, seg_only=F
348
375
  'G3': Image.new(mode='RGB', size=(512, 512), color=(0, 0, 0)),
349
376
  'G4': Image.new(mode='RGB', size=(512, 512), color=(10, 10, 10)),
350
377
  'G5': Image.new(mode='RGB', size=(512, 512), color=(0, 0, 0)),
378
+ 'G5a': Image.new(mode='RGB', size=(512, 512), color=(0, 0, 0)),
379
+ 'G5b': Image.new(mode='RGB', size=(512, 512), color=(0, 0, 0)),
380
+ 'G5c': Image.new(mode='RGB', size=(512, 512), color=(0, 0, 0)),
351
381
  'G51': Image.new(mode='RGB', size=(512, 512), color=(0, 0, 0)),
352
382
  'G52': Image.new(mode='RGB', size=(512, 512), color=(0, 0, 0)),
353
383
  'G53': Image.new(mode='RGB', size=(512, 512), color=(0, 0, 0)),
@@ -409,6 +439,9 @@ def inference(img, tile_size, overlap_size, model_path, use_torchserve=False,
409
439
  'Lap2': results['G3'],
410
440
  'Marker': results['G4'],
411
441
  'Seg': results['G5'],
442
+ 'Seg1': results['G5a'],
443
+ 'Seg2': results['G5b'],
444
+ 'Seg3': results['G5c'],
412
445
  }
413
446
 
414
447
  if return_seg_intermediate and not seg_only: