katielink commited on
Commit
39c57ff
1 Parent(s): 21f2808

Formatting and examples

Browse files
README.md CHANGED
@@ -1,8 +1,8 @@
1
  ---
2
  title: Spleen Segmentation
3
- emoji: 👀
4
- colorFrom: indigo
5
- colorTo: red
6
  sdk: gradio
7
  sdk_version: 3.1.1
8
  app_file: app.py
 
1
  ---
2
  title: Spleen Segmentation
3
+ emoji: 🩸
4
+ colorFrom: blue
5
+ colorTo: indigo
6
  sdk: gradio
7
  sdk_version: 3.1.1
8
  app_file: app.py
app.py CHANGED
@@ -3,11 +3,17 @@ import gradio as gr
3
  import torch
4
  from monai import bundle
5
 
 
6
  BUNDLE_NAME = 'spleen_ct_segmentation_v0.1.0'
7
  BUNDLE_PATH = os.path.join(torch.hub.get_dir(), 'bundle', BUNDLE_NAME)
8
 
9
- #examples = ['examples/spleen_46.nii.gz']
 
 
 
 
10
 
 
11
  model, _, _ = bundle.load(
12
  name = BUNDLE_NAME,
13
  source = 'huggingface_hub',
@@ -15,12 +21,21 @@ model, _, _ = bundle.load(
15
  load_ts_module=True,
16
  )
17
 
 
18
  device = "cuda:0" if torch.cuda.is_available() else "cpu"
19
 
 
20
  parser = bundle.load_bundle_config(BUNDLE_PATH, 'inference.json')
21
- preproc_transforms = parser.get_parsed_content('preprocessing', lazy=True, eval_expr=True, instantiate=True)
22
- inferer = parser.get_parsed_content('inferer', lazy=True, eval_expr=True, instantiate=True)
 
 
 
 
 
 
23
 
 
24
  def predict(input_file, z_axis, model=model, device=device):
25
  data = {'image': [input_file.name]}
26
  data = preproc_transforms(data)
@@ -36,15 +51,26 @@ def predict(input_file, z_axis, model=model, device=device):
36
 
37
  return input_image[0, :, :, z_axis], pred_image[0, :, :, z_axis]*255
38
 
 
39
  iface = gr.Interface(
40
  fn=predict,
41
  inputs=[
42
- gr.File(label='Nifti file'),
43
  gr.Slider(0, 200, label='z-axis', value=50)
44
  ],
45
  outputs=['image', 'image'],
46
- title='Segment the Spleen from a CT Scan using MONAI',
47
- ##examples=examples,
 
 
 
 
 
 
 
 
 
48
  )
49
 
 
50
  iface.launch()
 
3
  import torch
4
  from monai import bundle
5
 
6
+ # Set the bundle name and download path
7
  BUNDLE_NAME = 'spleen_ct_segmentation_v0.1.0'
8
  BUNDLE_PATH = os.path.join(torch.hub.get_dir(), 'bundle', BUNDLE_NAME)
9
 
10
+ # Set up some examples from the test set for better user experience
11
+ examples = [
12
+ ['examples/spleen_1.nii.gz', 50],
13
+ ['examples/spleen_11.nii.gz', 50],
14
+ ]
15
 
16
+ # Load the pretrained model from Hugging Face Hub
17
  model, _, _ = bundle.load(
18
  name = BUNDLE_NAME,
19
  source = 'huggingface_hub',
 
21
  load_ts_module=True,
22
  )
23
 
24
+ # Use GPU if available
25
  device = "cuda:0" if torch.cuda.is_available() else "cpu"
26
 
27
+ # Load transforms and inferer directly from the bundle
28
  parser = bundle.load_bundle_config(BUNDLE_PATH, 'inference.json')
29
+ preproc_transforms = parser.get_parsed_content(
30
+ 'preprocessing',
31
+ lazy=True, eval_expr=True,instantiate=True
32
+ )
33
+ inferer = parser.get_parsed_content(
34
+ 'inferer',
35
+ lazy=True, eval_expr=True, instantiate=True
36
+ )
37
 
38
+ # Define the prediction function
39
  def predict(input_file, z_axis, model=model, device=device):
40
  data = {'image': [input_file.name]}
41
  data = preproc_transforms(data)
 
51
 
52
  return input_image[0, :, :, z_axis], pred_image[0, :, :, z_axis]*255
53
 
54
+ # Set up the demo interface
55
  iface = gr.Interface(
56
  fn=predict,
57
  inputs=[
58
+ gr.File(label='input file'),
59
  gr.Slider(0, 200, label='z-axis', value=50)
60
  ],
61
  outputs=['image', 'image'],
62
+ title='Segment the Spleen using MONAI!',
63
+ description="""
64
+ ## 🚀 To run
65
+ Upload a abdominal CT scan, or try one of the examples below!
66
+
67
+ More details on the model can be found [here!](https://huggingface.co/katielink/spleen_ct_segmentation_v0.1.0)
68
+
69
+ ## ⚠️ Disclaimer
70
+ Not to be used for diagnostic purposes.
71
+ """,
72
+ examples=examples,
73
  )
74
 
75
+ # Launch the demo
76
  iface.launch()
examples/{spleen_46.nii.gz → spleen_1.nii.gz} RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:1dc87026596e782c25de81ab171cd2b456a8e2c76e304949e9318451406c8edf
3
- size 28610147
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a502f7e81d6b3742f5100e501b4e80180264d00e9aa04dfee43d821b1c6b07e7
3
+ size 9862639
examples/spleen_11.nii.gz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:14d3edfadaa761d52a468ec06423fd4a48a2028d60c053629d0b6d378917f87f
3
+ size 47834678