melage 0.0.65__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.
Files changed (501) hide show
  1. melage/__init__.py +16 -0
  2. melage/cli.py +4 -0
  3. melage/graphics/GLGraphicsItem.py +286 -0
  4. melage/graphics/GLViewWidget.py +595 -0
  5. melage/graphics/Transform3D.py +55 -0
  6. melage/graphics/__init__.py +8 -0
  7. melage/graphics/functions.py +101 -0
  8. melage/graphics/items/GLAxisItem.py +149 -0
  9. melage/graphics/items/GLGridItem.py +178 -0
  10. melage/graphics/items/GLPolygonItem.py +77 -0
  11. melage/graphics/items/GLScatterPlotItem.py +135 -0
  12. melage/graphics/items/GLVolumeItem.py +280 -0
  13. melage/graphics/items/GLVolumeItem_b.py +237 -0
  14. melage/graphics/items/__init__.py +0 -0
  15. melage/graphics/shaders.py +202 -0
  16. melage/main.py +270 -0
  17. melage/requirements22.txt +25 -0
  18. melage/requirements_old.txt +28 -0
  19. melage/resource/0circle.png +0 -0
  20. melage/resource/0circle_faded.png +0 -0
  21. melage/resource/3d.png +0 -0
  22. melage/resource/3d.psd +0 -0
  23. melage/resource/3dFaded.png +0 -0
  24. melage/resource/Eraser.png +0 -0
  25. melage/resource/EraserFaded.png +0 -0
  26. melage/resource/EraserX.png +0 -0
  27. melage/resource/EraserXFaded.png +0 -0
  28. melage/resource/Eraser_icon.svg +79 -0
  29. melage/resource/Hand.png +0 -0
  30. melage/resource/HandIcons_0.png +0 -0
  31. melage/resource/Hand_IX.png +0 -0
  32. melage/resource/Hand_IXFaded.png +0 -0
  33. melage/resource/Handsqueezed.png +0 -0
  34. melage/resource/Handwriting (copy).png +0 -0
  35. melage/resource/Handwriting.png +0 -0
  36. melage/resource/HandwritingMinus.png +0 -0
  37. melage/resource/HandwritingMinusX.png +0 -0
  38. melage/resource/HandwritingPlus.png +0 -0
  39. melage/resource/HandwritingPlusX.png +0 -0
  40. melage/resource/Move_icon.svg +8 -0
  41. melage/resource/PngItem_2422924.png +0 -0
  42. melage/resource/about.png +0 -0
  43. melage/resource/about_logo.png +0 -0
  44. melage/resource/about_logo0.png +0 -0
  45. melage/resource/action_check.png +0 -0
  46. melage/resource/action_check_OFF.png +0 -0
  47. melage/resource/arrow).png +0 -0
  48. melage/resource/arrow.png +0 -0
  49. melage/resource/arrowFaded.png +0 -0
  50. melage/resource/arrow_org.png +0 -0
  51. melage/resource/arrow_org.png.png +0 -0
  52. melage/resource/arrows.png +0 -0
  53. melage/resource/authors.mp4 +0 -0
  54. melage/resource/box.png +0 -0
  55. melage/resource/check-image-icon-0.jpg +0 -0
  56. melage/resource/circle.png +0 -0
  57. melage/resource/circle_faded.png +0 -0
  58. melage/resource/circle_or.png +0 -0
  59. melage/resource/close.png +0 -0
  60. melage/resource/close_bg.png +0 -0
  61. melage/resource/color/Simple.txt +18 -0
  62. melage/resource/color/Tissue.txt +24 -0
  63. melage/resource/color/Tissue12.txt +27 -0
  64. melage/resource/color/albert_LUT.txt +102 -0
  65. melage/resource/color/mcrib_LUT.txt +102 -0
  66. melage/resource/color/pediatric1.txt +29 -0
  67. melage/resource/color/pediatric1_old.txt +27 -0
  68. melage/resource/color/pediatric2.txt +87 -0
  69. melage/resource/color/pediatric3.txt +29 -0
  70. melage/resource/color/pediatrics (copy).csv +103 -0
  71. melage/resource/color/tissue_seg.txt +4 -0
  72. melage/resource/contour.png +0 -0
  73. melage/resource/contour.svg +2 -0
  74. melage/resource/contourFaded.png +0 -0
  75. melage/resource/contourX.png +0 -0
  76. melage/resource/contourXFaded.png +0 -0
  77. melage/resource/dti.png +0 -0
  78. melage/resource/dti0.png +0 -0
  79. melage/resource/dti222.png +0 -0
  80. melage/resource/dti_or.png +0 -0
  81. melage/resource/eco.png +0 -0
  82. melage/resource/eco22.png +0 -0
  83. melage/resource/eco_old.png +0 -0
  84. melage/resource/eco_or.png +0 -0
  85. melage/resource/eco_or2.png +0 -0
  86. melage/resource/eco_seg.png +0 -0
  87. melage/resource/eco_seg_old.png +0 -0
  88. melage/resource/export.png +0 -0
  89. melage/resource/hand-grab-icon-10.jpg +0 -0
  90. melage/resource/hand-grab-icon-25.jpg +0 -0
  91. melage/resource/info.png +0 -0
  92. melage/resource/line.png +0 -0
  93. melage/resource/linefaded.png +0 -0
  94. melage/resource/load.png +0 -0
  95. melage/resource/main.ico +0 -0
  96. melage/resource/manual_images/3D_rightc.png +0 -0
  97. melage/resource/manual_images/3D_rightc_goto.png +0 -0
  98. melage/resource/manual_images/3D_rightc_paint.png +0 -0
  99. melage/resource/manual_images/3D_rightc_paint_draw1.png +0 -0
  100. melage/resource/manual_images/3D_rightc_paint_draw2.png +0 -0
  101. melage/resource/manual_images/3D_rightc_paint_render.png +0 -0
  102. melage/resource/manual_images/3D_rightc_paint_render2.png +0 -0
  103. melage/resource/manual_images/3D_rightc_paint_render3.png +0 -0
  104. melage/resource/manual_images/3D_rightc_paint_render4.png +0 -0
  105. melage/resource/manual_images/3D_rightc_paint_render5.png +0 -0
  106. melage/resource/manual_images/3D_rightc_paint_render6.png +0 -0
  107. melage/resource/manual_images/3D_rightc_seg.png +0 -0
  108. melage/resource/manual_images/exit_toolbar.png +0 -0
  109. melage/resource/manual_images/load_image_file.png +0 -0
  110. melage/resource/manual_images/load_image_file_openp.png +0 -0
  111. melage/resource/manual_images/main_page.png +0 -0
  112. melage/resource/manual_images/menu_file.png +0 -0
  113. melage/resource/manual_images/menu_file_export.png +0 -0
  114. melage/resource/manual_images/menu_file_import.png +0 -0
  115. melage/resource/manual_images/menu_file_settings.png +0 -0
  116. melage/resource/manual_images/menu_file_ss.png +0 -0
  117. melage/resource/manual_images/open_save_load.png +0 -0
  118. melage/resource/manual_images/panning_toolbar.png +0 -0
  119. melage/resource/manual_images/segmentation_toolbar.png +0 -0
  120. melage/resource/manual_images/tab_mri.png +0 -0
  121. melage/resource/manual_images/tab_us.png +0 -0
  122. melage/resource/manual_images/tabs.png +0 -0
  123. melage/resource/manual_images/toolbar_tools.png +0 -0
  124. melage/resource/manual_images/tools_basic.png +0 -0
  125. melage/resource/manual_images/tools_bet.png +0 -0
  126. melage/resource/manual_images/tools_cs.png +0 -0
  127. melage/resource/manual_images/tools_deepbet.png +0 -0
  128. melage/resource/manual_images/tools_imageinfo.png +0 -0
  129. melage/resource/manual_images/tools_maskO.png +0 -0
  130. melage/resource/manual_images/tools_masking.png +0 -0
  131. melage/resource/manual_images/tools_n4b.png +0 -0
  132. melage/resource/manual_images/tools_resize.png +0 -0
  133. melage/resource/manual_images/tools_ruler.png +0 -0
  134. melage/resource/manual_images/tools_seg.png +0 -0
  135. melage/resource/manual_images/tools_threshold.png +0 -0
  136. melage/resource/manual_images/tools_tools.png +0 -0
  137. melage/resource/manual_images/widget_color.png +0 -0
  138. melage/resource/manual_images/widget_color_add.png +0 -0
  139. melage/resource/manual_images/widget_color_add2.png +0 -0
  140. melage/resource/manual_images/widget_color_additional.png +0 -0
  141. melage/resource/manual_images/widget_images.png +0 -0
  142. melage/resource/manual_images/widget_images2.png +0 -0
  143. melage/resource/manual_images/widget_images3.png +0 -0
  144. melage/resource/manual_images/widget_marker.png +0 -0
  145. melage/resource/manual_images/widget_mri.png +0 -0
  146. melage/resource/manual_images/widget_mri2.png +0 -0
  147. melage/resource/manual_images/widget_segintensity.png +0 -0
  148. melage/resource/manual_images/widget_tab_mutualview.png +0 -0
  149. melage/resource/manual_images/widget_tab_mutualview2.png +0 -0
  150. melage/resource/manual_images/widget_table.png +0 -0
  151. melage/resource/manual_images/widget_table2.png +0 -0
  152. melage/resource/manual_images/widget_us.png +0 -0
  153. melage/resource/melage_top.ico +0 -0
  154. melage/resource/melage_top.png +0 -0
  155. melage/resource/melage_top0.png +0 -0
  156. melage/resource/melage_top1.png +0 -0
  157. melage/resource/melage_top4.png +0 -0
  158. melage/resource/mri (copy).png +0 -0
  159. melage/resource/mri.png +0 -0
  160. melage/resource/mri0.png +0 -0
  161. melage/resource/mri000.png +0 -0
  162. melage/resource/mri22.png +0 -0
  163. melage/resource/mri_big.png +0 -0
  164. melage/resource/mri_old.png +0 -0
  165. melage/resource/mri_seg.png +0 -0
  166. melage/resource/mri_seg_old.png +0 -0
  167. melage/resource/new.png +0 -0
  168. melage/resource/open.png +0 -0
  169. melage/resource/open2.png +0 -0
  170. melage/resource/pan.png +0 -0
  171. melage/resource/pencil.png +0 -0
  172. melage/resource/pencilFaded.png +0 -0
  173. melage/resource/points.png +0 -0
  174. melage/resource/pointsFaded.png +0 -0
  175. melage/resource/rotate.png +0 -0
  176. melage/resource/ruler.png +0 -0
  177. melage/resource/rulerFaded.png +0 -0
  178. melage/resource/s.png +0 -0
  179. melage/resource/s.psd +0 -0
  180. melage/resource/save.png +0 -0
  181. melage/resource/saveas.png +0 -0
  182. melage/resource/seg_mri.png +0 -0
  183. melage/resource/seg_mri2.png +0 -0
  184. melage/resource/settings.png +0 -0
  185. melage/resource/synch.png +0 -0
  186. melage/resource/synchFaded.png +0 -0
  187. melage/resource/theme/rc/.keep +1 -0
  188. melage/resource/theme/rc/arrow_down.png +0 -0
  189. melage/resource/theme/rc/arrow_down@2x.png +0 -0
  190. melage/resource/theme/rc/arrow_down_disabled.png +0 -0
  191. melage/resource/theme/rc/arrow_down_disabled@2x.png +0 -0
  192. melage/resource/theme/rc/arrow_down_focus.png +0 -0
  193. melage/resource/theme/rc/arrow_down_focus@2x.png +0 -0
  194. melage/resource/theme/rc/arrow_down_pressed.png +0 -0
  195. melage/resource/theme/rc/arrow_down_pressed@2x.png +0 -0
  196. melage/resource/theme/rc/arrow_left.png +0 -0
  197. melage/resource/theme/rc/arrow_left@2x.png +0 -0
  198. melage/resource/theme/rc/arrow_left_disabled.png +0 -0
  199. melage/resource/theme/rc/arrow_left_disabled@2x.png +0 -0
  200. melage/resource/theme/rc/arrow_left_focus.png +0 -0
  201. melage/resource/theme/rc/arrow_left_focus@2x.png +0 -0
  202. melage/resource/theme/rc/arrow_left_pressed.png +0 -0
  203. melage/resource/theme/rc/arrow_left_pressed@2x.png +0 -0
  204. melage/resource/theme/rc/arrow_right.png +0 -0
  205. melage/resource/theme/rc/arrow_right@2x.png +0 -0
  206. melage/resource/theme/rc/arrow_right_disabled.png +0 -0
  207. melage/resource/theme/rc/arrow_right_disabled@2x.png +0 -0
  208. melage/resource/theme/rc/arrow_right_focus.png +0 -0
  209. melage/resource/theme/rc/arrow_right_focus@2x.png +0 -0
  210. melage/resource/theme/rc/arrow_right_pressed.png +0 -0
  211. melage/resource/theme/rc/arrow_right_pressed@2x.png +0 -0
  212. melage/resource/theme/rc/arrow_up.png +0 -0
  213. melage/resource/theme/rc/arrow_up@2x.png +0 -0
  214. melage/resource/theme/rc/arrow_up_disabled.png +0 -0
  215. melage/resource/theme/rc/arrow_up_disabled@2x.png +0 -0
  216. melage/resource/theme/rc/arrow_up_focus.png +0 -0
  217. melage/resource/theme/rc/arrow_up_focus@2x.png +0 -0
  218. melage/resource/theme/rc/arrow_up_pressed.png +0 -0
  219. melage/resource/theme/rc/arrow_up_pressed@2x.png +0 -0
  220. melage/resource/theme/rc/base_icon.png +0 -0
  221. melage/resource/theme/rc/base_icon@2x.png +0 -0
  222. melage/resource/theme/rc/base_icon_disabled.png +0 -0
  223. melage/resource/theme/rc/base_icon_disabled@2x.png +0 -0
  224. melage/resource/theme/rc/base_icon_focus.png +0 -0
  225. melage/resource/theme/rc/base_icon_focus@2x.png +0 -0
  226. melage/resource/theme/rc/base_icon_pressed.png +0 -0
  227. melage/resource/theme/rc/base_icon_pressed@2x.png +0 -0
  228. melage/resource/theme/rc/branch_closed.png +0 -0
  229. melage/resource/theme/rc/branch_closed@2x.png +0 -0
  230. melage/resource/theme/rc/branch_closed_disabled.png +0 -0
  231. melage/resource/theme/rc/branch_closed_disabled@2x.png +0 -0
  232. melage/resource/theme/rc/branch_closed_focus.png +0 -0
  233. melage/resource/theme/rc/branch_closed_focus@2x.png +0 -0
  234. melage/resource/theme/rc/branch_closed_pressed.png +0 -0
  235. melage/resource/theme/rc/branch_closed_pressed@2x.png +0 -0
  236. melage/resource/theme/rc/branch_end.png +0 -0
  237. melage/resource/theme/rc/branch_end@2x.png +0 -0
  238. melage/resource/theme/rc/branch_end_disabled.png +0 -0
  239. melage/resource/theme/rc/branch_end_disabled@2x.png +0 -0
  240. melage/resource/theme/rc/branch_end_focus.png +0 -0
  241. melage/resource/theme/rc/branch_end_focus@2x.png +0 -0
  242. melage/resource/theme/rc/branch_end_pressed.png +0 -0
  243. melage/resource/theme/rc/branch_end_pressed@2x.png +0 -0
  244. melage/resource/theme/rc/branch_line.png +0 -0
  245. melage/resource/theme/rc/branch_line@2x.png +0 -0
  246. melage/resource/theme/rc/branch_line_disabled.png +0 -0
  247. melage/resource/theme/rc/branch_line_disabled@2x.png +0 -0
  248. melage/resource/theme/rc/branch_line_focus.png +0 -0
  249. melage/resource/theme/rc/branch_line_focus@2x.png +0 -0
  250. melage/resource/theme/rc/branch_line_pressed.png +0 -0
  251. melage/resource/theme/rc/branch_line_pressed@2x.png +0 -0
  252. melage/resource/theme/rc/branch_more.png +0 -0
  253. melage/resource/theme/rc/branch_more@2x.png +0 -0
  254. melage/resource/theme/rc/branch_more_disabled.png +0 -0
  255. melage/resource/theme/rc/branch_more_disabled@2x.png +0 -0
  256. melage/resource/theme/rc/branch_more_focus.png +0 -0
  257. melage/resource/theme/rc/branch_more_focus@2x.png +0 -0
  258. melage/resource/theme/rc/branch_more_pressed.png +0 -0
  259. melage/resource/theme/rc/branch_more_pressed@2x.png +0 -0
  260. melage/resource/theme/rc/branch_open.png +0 -0
  261. melage/resource/theme/rc/branch_open@2x.png +0 -0
  262. melage/resource/theme/rc/branch_open_disabled.png +0 -0
  263. melage/resource/theme/rc/branch_open_disabled@2x.png +0 -0
  264. melage/resource/theme/rc/branch_open_focus.png +0 -0
  265. melage/resource/theme/rc/branch_open_focus@2x.png +0 -0
  266. melage/resource/theme/rc/branch_open_pressed.png +0 -0
  267. melage/resource/theme/rc/branch_open_pressed@2x.png +0 -0
  268. melage/resource/theme/rc/checkbox_checked.png +0 -0
  269. melage/resource/theme/rc/checkbox_checked0.png +0 -0
  270. melage/resource/theme/rc/checkbox_checked@2x.png +0 -0
  271. melage/resource/theme/rc/checkbox_checked@2x0.png +0 -0
  272. melage/resource/theme/rc/checkbox_checked@2x000.png.png +0 -0
  273. melage/resource/theme/rc/checkbox_checked_disabled.png +0 -0
  274. melage/resource/theme/rc/checkbox_checked_disabled0.png +0 -0
  275. melage/resource/theme/rc/checkbox_checked_disabled@2x.png +0 -0
  276. melage/resource/theme/rc/checkbox_checked_disabled@2x0.png +0 -0
  277. melage/resource/theme/rc/checkbox_checked_focus.png +0 -0
  278. melage/resource/theme/rc/checkbox_checked_focus0.png +0 -0
  279. melage/resource/theme/rc/checkbox_checked_focus@2x.png +0 -0
  280. melage/resource/theme/rc/checkbox_checked_focus@2x0.png +0 -0
  281. melage/resource/theme/rc/checkbox_checked_pressed.png +0 -0
  282. melage/resource/theme/rc/checkbox_checked_pressed0.png +0 -0
  283. melage/resource/theme/rc/checkbox_checked_pressed@2x.png +0 -0
  284. melage/resource/theme/rc/checkbox_checked_pressed@2x0.png +0 -0
  285. melage/resource/theme/rc/checkbox_indeterminate.png +0 -0
  286. melage/resource/theme/rc/checkbox_indeterminate@2x.png +0 -0
  287. melage/resource/theme/rc/checkbox_indeterminate_disabled.png +0 -0
  288. melage/resource/theme/rc/checkbox_indeterminate_disabled@2x.png +0 -0
  289. melage/resource/theme/rc/checkbox_indeterminate_focus.png +0 -0
  290. melage/resource/theme/rc/checkbox_indeterminate_focus@2x.png +0 -0
  291. melage/resource/theme/rc/checkbox_indeterminate_pressed.png +0 -0
  292. melage/resource/theme/rc/checkbox_indeterminate_pressed@2x.png +0 -0
  293. melage/resource/theme/rc/checkbox_unchecked.png +0 -0
  294. melage/resource/theme/rc/checkbox_unchecked0.png +0 -0
  295. melage/resource/theme/rc/checkbox_unchecked00.png +0 -0
  296. melage/resource/theme/rc/checkbox_unchecked@2x.png +0 -0
  297. melage/resource/theme/rc/checkbox_unchecked@2x0.png +0 -0
  298. melage/resource/theme/rc/checkbox_unchecked@2x00.png +0 -0
  299. melage/resource/theme/rc/checkbox_unchecked_disabled.png +0 -0
  300. melage/resource/theme/rc/checkbox_unchecked_disabled0.png +0 -0
  301. melage/resource/theme/rc/checkbox_unchecked_disabled00.png +0 -0
  302. melage/resource/theme/rc/checkbox_unchecked_disabled@2x.png +0 -0
  303. melage/resource/theme/rc/checkbox_unchecked_disabled@2x0.png +0 -0
  304. melage/resource/theme/rc/checkbox_unchecked_disabled@2x00.png +0 -0
  305. melage/resource/theme/rc/checkbox_unchecked_focus.png +0 -0
  306. melage/resource/theme/rc/checkbox_unchecked_focus0.png +0 -0
  307. melage/resource/theme/rc/checkbox_unchecked_focus00.png +0 -0
  308. melage/resource/theme/rc/checkbox_unchecked_focus@2x.png +0 -0
  309. melage/resource/theme/rc/checkbox_unchecked_focus@2x0.png +0 -0
  310. melage/resource/theme/rc/checkbox_unchecked_focus@2x00.png +0 -0
  311. melage/resource/theme/rc/checkbox_unchecked_pressed.png +0 -0
  312. melage/resource/theme/rc/checkbox_unchecked_pressed0.png +0 -0
  313. melage/resource/theme/rc/checkbox_unchecked_pressed00.png +0 -0
  314. melage/resource/theme/rc/checkbox_unchecked_pressed@2x.png +0 -0
  315. melage/resource/theme/rc/checkbox_unchecked_pressed@2x0.png +0 -0
  316. melage/resource/theme/rc/checkbox_unchecked_pressed@2x00.png +0 -0
  317. melage/resource/theme/rc/line_horizontal.png +0 -0
  318. melage/resource/theme/rc/line_horizontal@2x.png +0 -0
  319. melage/resource/theme/rc/line_horizontal_disabled.png +0 -0
  320. melage/resource/theme/rc/line_horizontal_disabled@2x.png +0 -0
  321. melage/resource/theme/rc/line_horizontal_focus.png +0 -0
  322. melage/resource/theme/rc/line_horizontal_focus@2x.png +0 -0
  323. melage/resource/theme/rc/line_horizontal_pressed.png +0 -0
  324. melage/resource/theme/rc/line_horizontal_pressed@2x.png +0 -0
  325. melage/resource/theme/rc/line_vertical.png +0 -0
  326. melage/resource/theme/rc/line_vertical@2x.png +0 -0
  327. melage/resource/theme/rc/line_vertical_disabled.png +0 -0
  328. melage/resource/theme/rc/line_vertical_disabled@2x.png +0 -0
  329. melage/resource/theme/rc/line_vertical_focus.png +0 -0
  330. melage/resource/theme/rc/line_vertical_focus@2x.png +0 -0
  331. melage/resource/theme/rc/line_vertical_pressed.png +0 -0
  332. melage/resource/theme/rc/line_vertical_pressed@2x.png +0 -0
  333. melage/resource/theme/rc/radio_checked.png +0 -0
  334. melage/resource/theme/rc/radio_checked@2x.png +0 -0
  335. melage/resource/theme/rc/radio_checked_disabled.png +0 -0
  336. melage/resource/theme/rc/radio_checked_disabled@2x.png +0 -0
  337. melage/resource/theme/rc/radio_checked_focus.png +0 -0
  338. melage/resource/theme/rc/radio_checked_focus@2x.png +0 -0
  339. melage/resource/theme/rc/radio_checked_pressed.png +0 -0
  340. melage/resource/theme/rc/radio_checked_pressed@2x.png +0 -0
  341. melage/resource/theme/rc/radio_unchecked.png +0 -0
  342. melage/resource/theme/rc/radio_unchecked@2x.png +0 -0
  343. melage/resource/theme/rc/radio_unchecked_disabled.png +0 -0
  344. melage/resource/theme/rc/radio_unchecked_disabled@2x.png +0 -0
  345. melage/resource/theme/rc/radio_unchecked_focus.png +0 -0
  346. melage/resource/theme/rc/radio_unchecked_focus@2x.png +0 -0
  347. melage/resource/theme/rc/radio_unchecked_pressed.png +0 -0
  348. melage/resource/theme/rc/radio_unchecked_pressed@2x.png +0 -0
  349. melage/resource/theme/rc/toolbar_move_horizontal.png +0 -0
  350. melage/resource/theme/rc/toolbar_move_horizontal@2x.png +0 -0
  351. melage/resource/theme/rc/toolbar_move_horizontal_disabled.png +0 -0
  352. melage/resource/theme/rc/toolbar_move_horizontal_disabled@2x.png +0 -0
  353. melage/resource/theme/rc/toolbar_move_horizontal_focus.png +0 -0
  354. melage/resource/theme/rc/toolbar_move_horizontal_focus@2x.png +0 -0
  355. melage/resource/theme/rc/toolbar_move_horizontal_pressed.png +0 -0
  356. melage/resource/theme/rc/toolbar_move_horizontal_pressed@2x.png +0 -0
  357. melage/resource/theme/rc/toolbar_move_vertical.png +0 -0
  358. melage/resource/theme/rc/toolbar_move_vertical@2x.png +0 -0
  359. melage/resource/theme/rc/toolbar_move_vertical_disabled.png +0 -0
  360. melage/resource/theme/rc/toolbar_move_vertical_disabled@2x.png +0 -0
  361. melage/resource/theme/rc/toolbar_move_vertical_focus.png +0 -0
  362. melage/resource/theme/rc/toolbar_move_vertical_focus@2x.png +0 -0
  363. melage/resource/theme/rc/toolbar_move_vertical_pressed.png +0 -0
  364. melage/resource/theme/rc/toolbar_move_vertical_pressed@2x.png +0 -0
  365. melage/resource/theme/rc/toolbar_separator_horizontal.png +0 -0
  366. melage/resource/theme/rc/toolbar_separator_horizontal@2x.png +0 -0
  367. melage/resource/theme/rc/toolbar_separator_horizontal_disabled.png +0 -0
  368. melage/resource/theme/rc/toolbar_separator_horizontal_disabled@2x.png +0 -0
  369. melage/resource/theme/rc/toolbar_separator_horizontal_focus.png +0 -0
  370. melage/resource/theme/rc/toolbar_separator_horizontal_focus@2x.png +0 -0
  371. melage/resource/theme/rc/toolbar_separator_horizontal_pressed.png +0 -0
  372. melage/resource/theme/rc/toolbar_separator_horizontal_pressed@2x.png +0 -0
  373. melage/resource/theme/rc/toolbar_separator_vertical.png +0 -0
  374. melage/resource/theme/rc/toolbar_separator_vertical@2x.png +0 -0
  375. melage/resource/theme/rc/toolbar_separator_vertical_disabled.png +0 -0
  376. melage/resource/theme/rc/toolbar_separator_vertical_disabled@2x.png +0 -0
  377. melage/resource/theme/rc/toolbar_separator_vertical_focus.png +0 -0
  378. melage/resource/theme/rc/toolbar_separator_vertical_focus@2x.png +0 -0
  379. melage/resource/theme/rc/toolbar_separator_vertical_pressed.png +0 -0
  380. melage/resource/theme/rc/toolbar_separator_vertical_pressed@2x.png +0 -0
  381. melage/resource/theme/rc/transparent.png +0 -0
  382. melage/resource/theme/rc/transparent@2x.png +0 -0
  383. melage/resource/theme/rc/transparent_disabled.png +0 -0
  384. melage/resource/theme/rc/transparent_disabled@2x.png +0 -0
  385. melage/resource/theme/rc/transparent_focus.png +0 -0
  386. melage/resource/theme/rc/transparent_focus@2x.png +0 -0
  387. melage/resource/theme/rc/transparent_pressed.png +0 -0
  388. melage/resource/theme/rc/transparent_pressed@2x.png +0 -0
  389. melage/resource/theme/rc/window_close.png +0 -0
  390. melage/resource/theme/rc/window_close@2x.png +0 -0
  391. melage/resource/theme/rc/window_close_disabled.png +0 -0
  392. melage/resource/theme/rc/window_close_disabled@2x.png +0 -0
  393. melage/resource/theme/rc/window_close_focus.png +0 -0
  394. melage/resource/theme/rc/window_close_focus@2x.png +0 -0
  395. melage/resource/theme/rc/window_close_pressed.png +0 -0
  396. melage/resource/theme/rc/window_close_pressed@2x.png +0 -0
  397. melage/resource/theme/rc/window_grip.png +0 -0
  398. melage/resource/theme/rc/window_grip@2x.png +0 -0
  399. melage/resource/theme/rc/window_grip_disabled.png +0 -0
  400. melage/resource/theme/rc/window_grip_disabled@2x.png +0 -0
  401. melage/resource/theme/rc/window_grip_focus.png +0 -0
  402. melage/resource/theme/rc/window_grip_focus@2x.png +0 -0
  403. melage/resource/theme/rc/window_grip_pressed.png +0 -0
  404. melage/resource/theme/rc/window_grip_pressed@2x.png +0 -0
  405. melage/resource/theme/rc/window_minimize.png +0 -0
  406. melage/resource/theme/rc/window_minimize@2x.png +0 -0
  407. melage/resource/theme/rc/window_minimize_disabled.png +0 -0
  408. melage/resource/theme/rc/window_minimize_disabled@2x.png +0 -0
  409. melage/resource/theme/rc/window_minimize_focus.png +0 -0
  410. melage/resource/theme/rc/window_minimize_focus@2x.png +0 -0
  411. melage/resource/theme/rc/window_minimize_pressed.png +0 -0
  412. melage/resource/theme/rc/window_minimize_pressed@2x.png +0 -0
  413. melage/resource/theme/rc/window_undock.png +0 -0
  414. melage/resource/theme/rc/window_undock@2x.png +0 -0
  415. melage/resource/theme/rc/window_undock_disabled.png +0 -0
  416. melage/resource/theme/rc/window_undock_disabled@2x.png +0 -0
  417. melage/resource/theme/rc/window_undock_focus.png +0 -0
  418. melage/resource/theme/rc/window_undock_focus@2x.png +0 -0
  419. melage/resource/theme/rc/window_undock_pressed.png +0 -0
  420. melage/resource/theme/rc/window_undock_pressed@2x.png +0 -0
  421. melage/resource/theme/style.qss +2223 -0
  422. melage/resource/tract.png +0 -0
  423. melage/resource/view1.png +0 -0
  424. melage/resource/view1_eco.png +0 -0
  425. melage/resource/view1_mri.png +0 -0
  426. melage/resource/view1_seg.png +0 -0
  427. melage/resource/view2.png +0 -0
  428. melage/resource/view2_seg.png +0 -0
  429. melage/resource/w.png +0 -0
  430. melage/resource/zoom_in.png +0 -0
  431. melage/resource/zoom_inFaded.png +0 -0
  432. melage/resource/zoom_out.png +0 -0
  433. melage/resource/zoom_outFaded.png +0 -0
  434. melage/some_notes.txt +3 -0
  435. melage/utils/DispalyIm.py +2788 -0
  436. melage/utils/GMM.py +720 -0
  437. melage/utils/Shaders_120.py +257 -0
  438. melage/utils/Shaders_330.py +314 -0
  439. melage/utils/Shaders_bu.py +314 -0
  440. melage/utils/__init__0.py +7 -0
  441. melage/utils/brain_extraction_helper.py +234 -0
  442. melage/utils/custom_QScrollBar.py +61 -0
  443. melage/utils/glScientific.py +1554 -0
  444. melage/utils/glScientific_bc.py +1585 -0
  445. melage/utils/readData.py +1061 -0
  446. melage/utils/registration.py +512 -0
  447. melage/utils/source_folder.py +18 -0
  448. melage/utils/utils.py +3808 -0
  449. melage/version.txt +1 -0
  450. melage/widgets/ApplyMask.py +212 -0
  451. melage/widgets/ChangeSystem.py +152 -0
  452. melage/widgets/DeepLModels/InfantSegment/Unet.py +464 -0
  453. melage/widgets/DeepLModels/NPP/dataset/mri_dataset_affine.py +149 -0
  454. melage/widgets/DeepLModels/NPP/models/checkpoints/npp_v1.pth.py +0 -0
  455. melage/widgets/DeepLModels/NPP/models/losses.py +146 -0
  456. melage/widgets/DeepLModels/NPP/models/model.py +272 -0
  457. melage/widgets/DeepLModels/NPP/models/utils.py +303 -0
  458. melage/widgets/DeepLModels/NPP/npp.py +116 -0
  459. melage/widgets/DeepLModels/NPP/requirements.txt +8 -0
  460. melage/widgets/DeepLModels/NPP/train/train.py +116 -0
  461. melage/widgets/DeepLModels/Unet3DAtt.py +657 -0
  462. melage/widgets/DeepLModels/Unet3D_basic.py +648 -0
  463. melage/widgets/DeepLModels/new_unet.py +652 -0
  464. melage/widgets/DeepLModels/new_unet_old.py +639 -0
  465. melage/widgets/DeepLModels/new_unet_old2.py +658 -0
  466. melage/widgets/HistImage.py +153 -0
  467. melage/widgets/ImageThresholding.py +222 -0
  468. melage/widgets/MaskOperations.py +147 -0
  469. melage/widgets/N4Dialog.py +241 -0
  470. melage/widgets/Segmentation/FCM.py +1553 -0
  471. melage/widgets/Segmentation/__init__.py +588 -0
  472. melage/widgets/Segmentation/utils.py +417 -0
  473. melage/widgets/SemiAutoSeg.py +666 -0
  474. melage/widgets/Synthstrip.py +141 -0
  475. melage/widgets/__init__0.py +5 -0
  476. melage/widgets/about.py +246 -0
  477. melage/widgets/activation.py +437 -0
  478. melage/widgets/activator.py +147 -0
  479. melage/widgets/be_dl.py +409 -0
  480. melage/widgets/be_dl_unet3d.py +441 -0
  481. melage/widgets/brain_extraction.py +855 -0
  482. melage/widgets/brain_extraction_dl.py +887 -0
  483. melage/widgets/brain_extraction_dl_bu.py +869 -0
  484. melage/widgets/colorwidget.py +100 -0
  485. melage/widgets/dockWidgets.py +2005 -0
  486. melage/widgets/enhanceImWidget.py +109 -0
  487. melage/widgets/fileDialog_widget.py +275 -0
  488. melage/widgets/iminfo.py +346 -0
  489. melage/widgets/mainwindow_widget.py +6775 -0
  490. melage/widgets/melageAbout.py +123 -0
  491. melage/widgets/openglWidgets.py +556 -0
  492. melage/widgets/registrationWidget.py +342 -0
  493. melage/widgets/repeat_widget.py +74 -0
  494. melage/widgets/screenshot_widget.py +138 -0
  495. melage/widgets/settings_widget.py +77 -0
  496. melage/widgets/tranformationWidget.py +275 -0
  497. melage-0.0.65.dist-info/METADATA +742 -0
  498. melage-0.0.65.dist-info/RECORD +501 -0
  499. melage-0.0.65.dist-info/WHEEL +5 -0
  500. melage-0.0.65.dist-info/entry_points.txt +2 -0
  501. melage-0.0.65.dist-info/top_level.txt +1 -0
@@ -0,0 +1,742 @@
1
+ Metadata-Version: 2.4
2
+ Name: melage
3
+ Version: 0.0.65
4
+ Summary: MELAGE: An open-source Python toolkit for neonatal and adult neuroimaging (MRI & 3D ultrasound).
5
+ Author-email: Bahram Jafrasteh <jafrasteh.bahram@inibica.es>
6
+ Project-URL: Homepage, https://github.com/BahramJafrasteh/MELAGE
7
+ Project-URL: Repository, https://github.com/BahramJafrasteh/MELAGE
8
+ Project-URL: Issues, https://github.com/BahramJafrasteh/MELAGE/issues
9
+ Project-URL: Documentation, https://github.com/BahramJafrasteh/MELAGE#readme
10
+ Keywords: neuroimaging,MRI,ultrasound,segmentation,visualization,neonatal,medical-imaging
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: License :: OSI Approved :: Apache Software License
14
+ Classifier: Programming Language :: Python
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3 :: Only
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Operating System :: OS Independent
22
+ Classifier: Topic :: Scientific/Engineering
23
+ Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
24
+ Classifier: Topic :: Scientific/Engineering :: Image Processing
25
+ Requires-Python: >=3.9
26
+ Description-Content-Type: text/markdown
27
+ Requires-Dist: numpy
28
+ Requires-Dist: scipy
29
+ Requires-Dist: scikit-image
30
+ Requires-Dist: scikit-learn
31
+ Requires-Dist: matplotlib
32
+ Requires-Dist: Pillow
33
+ Requires-Dist: nibabel
34
+ Requires-Dist: pydicom
35
+ Requires-Dist: pynrrd
36
+ Requires-Dist: qtwidgets
37
+ Requires-Dist: SimpleITK
38
+ Requires-Dist: opencv-python-headless
39
+ Requires-Dist: PyQt5
40
+ Requires-Dist: PyOpenGL
41
+ Requires-Dist: vtk
42
+ Requires-Dist: pyfftw
43
+ Requires-Dist: shapely
44
+ Requires-Dist: cryptography
45
+ Requires-Dist: trimesh
46
+ Requires-Dist: numba
47
+ Requires-Dist: einops
48
+ Requires-Dist: pickle5
49
+ Requires-Dist: pickle-mixin
50
+ Requires-Dist: dominate
51
+ Requires-Dist: rdp
52
+ Requires-Dist: QtPy
53
+ Provides-Extra: dl
54
+ Requires-Dist: torch>=1.12; extra == "dl"
55
+ Provides-Extra: bids
56
+ Requires-Dist: pybids>=0.16; extra == "bids"
57
+ Requires-Dist: bids-validator>=1.14; python_version < "3.12" and extra == "bids"
58
+ Provides-Extra: dev
59
+ Requires-Dist: pytest>=8.0; extra == "dev"
60
+ Requires-Dist: pytest-cov>=5.0; extra == "dev"
61
+ Requires-Dist: ruff>=0.4; extra == "dev"
62
+ Requires-Dist: mypy>=1.8; extra == "dev"
63
+ Requires-Dist: build>=1.2; extra == "dev"
64
+ Requires-Dist: twine>=5.0; extra == "dev"
65
+
66
+ <style>
67
+ td, th {
68
+ border: none!important;
69
+ }
70
+ </style>
71
+
72
+ <p align="center">
73
+ <img src="melage/resource/main.ico" alt="MELAGE" style="border:1px solid black" object-fit="contain" width="400"/><br>
74
+ <font size="4"> MELAGE</font>
75
+ </p>
76
+
77
+ # Table of contents
78
+ - [Dependencies](#dependencies)
79
+ - [Installation](#installation)
80
+ - [How to use](#manual)
81
+ - [Toolbars](#toolbars)
82
+ - [Widgets](#widgets)
83
+ - [Tabs](#tabs)
84
+ - [Tools](#tools)
85
+ - [License](#license)
86
+ - [Releases](#releases)
87
+ - [Citation and acknowledgements](#citation-and-acknowledgements)
88
+
89
+ ## Dependencies
90
+ This software depends on the following libraries:
91
+ ```
92
+ matplotlib==3.6.1
93
+ nibabel==4.0.2
94
+ numba==0.56.4
95
+ numpy==1.23.3
96
+ opencv_python_headless==4.6.0.66
97
+ pickle5==0.0.11
98
+ Pillow==9.2.0
99
+ Pillow==10.0.0
100
+ pydicom==2.3.1
101
+ pyFFTW==0.13.0
102
+ PyOpenGL==3.1.6
103
+ PyOpenGL==3.1.7
104
+ PyQt5==5.15.9
105
+ PyQt5_sip==12.11.0
106
+ qtwidgets==0.18
107
+ scikit_image==0.19.3
108
+ scikit_learn==1.1.2
109
+ scipy==1.11.2
110
+ SimpleITK==2.2.0
111
+ SimpleITK==2.2.1
112
+ surfa==0.4.2
113
+ torch==1.12.1+cu116
114
+ trimesh==3.17.0
115
+ vtk==9.2.2
116
+ ```
117
+
118
+ ## Installation
119
+ #### Windows and linux
120
+ It is very easy to install melage on pc and laptop
121
+ 1. clone library
122
+
123
+ ```sh
124
+ git clone [https://github.com/bahramjafrasteh/melage](https://github.com/bahramjafrasteh/melage) <br>
125
+ ```
126
+ 2. install requirements
127
+ ```sh
128
+ pip install -r requirements.txt
129
+ ```
130
+ 3. run melage
131
+ ```sh
132
+ python melage.py
133
+ ```
134
+
135
+ --------
136
+ ## Manual
137
+
138
+ ## <strong> main page<br>
139
+
140
+
141
+ This is the main window that appears after running melage.
142
+ >
143
+ * To continue, you need to create a new project or load previously saved project
144
+ * The default format for the projects are ".bn"
145
+ <p align="center">
146
+ <img src="melage/resource/manual_images/main_page.png" alt="MELAGE" width="800" style="border:1px solid black" object-fit="contain"/><br>
147
+ <font size="4"> main window</font>
148
+ </p>
149
+
150
+ # Toolbars
151
+
152
+
153
+ ## <strong> 1. Project toolbar
154
+ On the most top left of the page you find these three options from left to right:<br>
155
+ >
156
+ * Create new project: It is used to create a new project in order to open a new image file.
157
+ * load a project: It is used to load a previously saved project with all of the changes. It helps to do not loose your previous work.
158
+ * save: This button is used to save current porject if there is any project. It can overwrite the same project.<br>
159
+
160
+ These options are also available through:
161
+ >
162
+ * File -> new project
163
+ * File -> load project
164
+ * File -> save
165
+ <p align="center">
166
+ <img src="melage/resource/manual_images/open_save_load.png" alt="MELAGE" width="200" style="border:1px solid black" object-fit="contain"/><br>
167
+ <font size="2"> from left to right: Create new project, load a project and save</font>
168
+ </p>
169
+ <br>
170
+
171
+
172
+ ## <strong> 2. image toolbar<br>
173
+ In the right hand side of the project toolbar there is image toolbar to load two images at the same time. <br>
174
+ From left to right
175
+ >
176
+ * Open ***ultrasound*** image: The default of this button is to open ultrasound image (some times referred as top image). You can open ultrasound or MRI image using this option
177
+ * Open ***MRI*** image: The default is to open an MRI image. It can be used to open both MRI and Ultrasound image
178
+
179
+
180
+ <p float="left" align="center">
181
+ <img src="melage/resource/manual_images/load_image_file.png" alt="MELAGE" width="200" style="border:1px solid black" object-fit="contain"/>
182
+ <img src="melage/resource/manual_images/load_image_file_openp.png" alt="MELAGE" width="200" style="border:1px solid black" object-fit="contain"/><br>
183
+ <font size="2"> Open image toolbar left: There is no project. Right: A project has been loaded</font>
184
+ </p>
185
+ <br>
186
+
187
+ ## <strong> 3. Tools toolbar
188
+ In the top left hand side of MELAGE there are seven buttons divided in three sections<br>
189
+ From left to right:
190
+
191
+ * Build lines: To build different lines in the same slice and then crate a segmentation by connecting end of these lines. Later it has has been explained it in details.
192
+ * Point selection: Locate the position of selected points in a slice.
193
+ * Zoom in: Zooming inside both three/six windows at the same time
194
+ * Zoom out: Zooming out both three/six windows at the same time
195
+ * Measurement: Ruler tool to measure distance and length
196
+ * Linking: To link sagittal, coronal and axial slices in the image. This option allows to find exact location of a point in other slices.
197
+ * 3D: This option allows apearance or dispearance of 3D widgets.
198
+
199
+ <p float="left" align="center">
200
+ <img src="melage/resource/manual_images/toolbar_tools.png" alt="MELAGE" width="500" style="border:1px solid black" object-fit="contain"/><br>
201
+ <font size="4">Necessary tools toolbar</font>
202
+ </p>
203
+
204
+ ## <strong> 4. Panning toolbar
205
+ Just below project toolbar there is panning toolbar that includes arrow and panning<br>
206
+ From left to right:
207
+
208
+ * Arrow: Arrow
209
+ * Panning: Use to pan through a slice after or before zooming
210
+
211
+ <p float="left" align="center">
212
+ <img src="melage/resource/manual_images/panning_toolbar.png" alt="MELAGE" width="200" style="border:1px solid black" object-fit="contain"/><br>
213
+ <font size="2">Panning toolbar</font>
214
+ </p>
215
+
216
+
217
+ ## <strong> 5. Segmentation toolbar
218
+ In the right hand side of panning toolbar there is segmentation toolbar. From left to right it includes:
219
+
220
+ * Eraser: To erase segmentation over the image
221
+ * Eraser X times: To erase the same region multiple time from the next slices
222
+ * Pen: To segment image with arbitrary shape in a closed area.
223
+ * Contour: To draw a contour and segment everything inside it.
224
+ * Contour X times: Same as contour but with multiple times
225
+ * Circle: To segment a region based on a circle with adjustable radius.
226
+ * Activated color: Shows the activated color that can be used for segmentation.
227
+ * Color name: A text that shows the name of the activated color.
228
+
229
+
230
+ <p float="left" align="center">
231
+ <img src="melage/resource/manual_images/segmentation_toolbar.png" alt="MELAGE" width="600" style="border:1px solid black" object-fit="contain"/><br>
232
+ <font size="2">Segmentation toolbar</font>
233
+ </p>
234
+
235
+
236
+ ## <strong> 6. Exit toolbar
237
+ From left to right:<br>
238
+
239
+ * Logo: MELAGE/MELAGE+ logo
240
+ * Exit: Exit button
241
+
242
+ <p align="center">
243
+ <img src="melage/resource/manual_images/exit_toolbar.png" alt="MELAGE" width="300" style="border:1px solid black" object-fit="contain"/><br>
244
+ <font size="2"> Exit toolbar</font>
245
+ </p>
246
+
247
+
248
+ # Widgets
249
+
250
+ ## Color widget
251
+ <table>
252
+ <tr>
253
+ <td>
254
+
255
+ <p align="center">
256
+ <img src="melage/resource/manual_images/widget_color.png" alt="MELAGE" width="750" style="border:1px solid black" object-fit="contain"/><br>
257
+ <font size="2"> Color </font>
258
+ </p>
259
+
260
+ </td>
261
+ <td>
262
+ <p align="center">
263
+ <img src="melage/resource/manual_images/widget_color_additional.png" alt="MELAGE" width="1000" style="border:1px solid black" object-fit="contain"/><br>
264
+ <font size="2"> Right click</font>
265
+ </p>
266
+ </td>
267
+ <td>
268
+ <font size="5">
269
+ This feature can be used to show us different color combinations (LUT) for different structures in an image. The desired color can be activated and also can be searched for.</font>
270
+ </td>
271
+ </tr>
272
+ </table>
273
+ You can change the style as you want. Moreover you can add your custom style.
274
+ Currently suppported styles are from the following human brian atlases:
275
+
276
+ * [Albert Neontal brain atlas](https://brain-development.org/brain-atlases/neonatal-brain-atlases/neonatal-brain-atlas-gousias/)
277
+ * [M-CRIB 2.0 neonatal brain atlas](https://osf.io/4vthr/)
278
+ * [Adult brain]()
279
+
280
+ Moreover, thre are two tissue segmentations and one simple scheme.
281
+ One can easily import new style by clicking on import button.
282
+ The name of the lables can be changed.
283
+ A new label can be created by clicking on the color in the segmentation toolbar
284
+
285
+ <p align="center">
286
+ <img src="melage/resource/manual_images/widget_color_add.png" alt="MELAGE" width="300" style="border:1px solid black" object-fit="contain"/><br>
287
+ <font size="2"> Add a color</font>
288
+ </p>
289
+ A new color can be chosen here. Then, another windows will be opened as follows
290
+ <p align="center">
291
+ <img src="melage/resource/manual_images/widget_color_add2.png" alt="MELAGE" width="300" style="border:1px solid black" object-fit="contain"/><br>
292
+ <font size="2"> Add index and name</font>
293
+ </p>
294
+ In this windows the index of new color and its name should be chosen. If the index of a new color already exist it replaces the index of previously existing color.
295
+
296
+
297
+ ## MRI widget
298
+
299
+ <table>
300
+ <tr>
301
+ <td>
302
+ <p align="center">
303
+ <img src="melage/resource/manual_images/widget_mri.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/><br>
304
+ <font size="2">Widget MRI</font>
305
+ </p>
306
+
307
+ </td>
308
+ <td>
309
+ <p align="center">
310
+ <img src="melage/resource/manual_images/widget_mri2.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/><br>
311
+ <font size="2"> Widget MRI (continued)</font>
312
+ </p>
313
+ </td>
314
+ </tr>
315
+ </table>
316
+
317
+
318
+ Image enhancement widget including brightness, contrast improvement, bandpass filters, hamming filter and also sobel operator. There is an option to rotate image based on sagital, axil and coronal or their combinations. There is sagittal to coronal option to change the coronal and sagital for ultrasound images.
319
+
320
+ ## table widget
321
+
322
+ <p align="center">
323
+ <img src="melage/resource/manual_images/widget_table.png" alt="MELAGE" width="700" style="border:1px solid black" object-fit="contain"/><br>
324
+ <font size="2">Widget table</font>
325
+ </p>
326
+ This table includes
327
+
328
+ * Description: Additional description
329
+ * Image type: MRI (Bottom) or Ultrasound (Top)
330
+ * Measure 1: Surface or Length (ruler)
331
+ * Measure 2: Perimeter or Angle (ruler)
332
+ * Slice: Slice number
333
+ * Window name: Sagittal, Coronal or Axial
334
+ * CenterXY: Center position
335
+ * FileName: Name of the file
336
+
337
+
338
+ <p align="center">
339
+ <img src="melage/resource/manual_images/widget_table2.png" alt="MELAGE" width="300" style="border:1px solid black" object-fit="contain"/><br>
340
+ <font size="2">Widget table</font>
341
+ </p>
342
+ Right click in the table widget can appear additional options:
343
+
344
+ * Add: adding new row
345
+ * Edit: Editting current cell
346
+ * Export: export table to CSV file
347
+ * Remove: eliminating current row
348
+
349
+
350
+
351
+
352
+ ## images widget
353
+
354
+ <p align="center">
355
+ <img src="melage/resource/manual_images/widget_images.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/><br>
356
+ <font size="2">Widget images</font>
357
+ </p>
358
+ This includes a set of images (MRI, Ultrasound, etc.) and the corresponding segmentation that can be selected an loaded later if it is needed.
359
+ The image can be visulized if the icon is activated.
360
+ A segmentation file can not be loaded before loading an image.
361
+
362
+ <p align="center">
363
+ <img src="melage/resource/manual_images/widget_images2.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/><br>
364
+ <font size="2">Widget images</font>
365
+ </p>
366
+ Right click on this part can give access to
367
+
368
+ * Import
369
+ * Images: Importing images that can be MRI, Ultrasound, etc.
370
+ * Segmentation: Importing segmentation file that can also be MRI, Ultrasound, etc.
371
+ * RemoveSelected: Removing selected file
372
+ * Clear All: Clear all non active images
373
+ Importing dialouge will be appear as follows
374
+ <p align="center">
375
+ <img src="melage/resource/manual_images/widget_images3.png" alt="MELAGE" width="800" style="border:1px solid black" object-fit="contain"/><br>
376
+ <font size="2">Widget images</font>
377
+ </p>
378
+ The type of image file or segmentation file can be selected from this window. For example if "Neonatal" is selected the image is an ultrasound and for MRI files "MRI" option should be selected.
379
+ There is a preview option that can be used to preview an image before openning.
380
+
381
+
382
+ ## Segmentation intensity widget
383
+ <p align="center">
384
+ <img src="melage/resource/manual_images/widget_segintensity.png" alt="MELAGE" width="300" style="border:1px solid black" object-fit="contain"/><br>
385
+ <font size="2">segmentation intensity</font>
386
+ </p>
387
+ This widget has been designed to intensify the intensity of the color in the segmented region. If the vaule is equal to zero, it does not show any segmentation.
388
+
389
+
390
+
391
+ ## Marker size widget
392
+ <p align="center">
393
+ <img src="melage/resource/manual_images/widget_marker.png" alt="MELAGE" width="300" style="border:1px solid black" object-fit="contain"/><br>
394
+ <font size="2">segmentation intensity</font>
395
+ </p>
396
+ This widget has two parts from top to bottom:
397
+
398
+ * Incrase radius of the circle to segment regions
399
+ * Incrase thickness of pen in contour segmentation
400
+
401
+ # Tabs
402
+ There are three tabs designed for MELAGE.
403
+ <p align="center">
404
+ <img src="melage/resource/manual_images/tabs.png" alt="MELAGE" width="800" style="border:1px solid black" object-fit="contain"/><br>
405
+ <font size="2">segmentation intensity</font>
406
+ </p>
407
+ * Mutual view
408
+ * In this tab two images can be processed at the same time. In all images, the orders of the planes are coronal, sagittal and then axial. One can scroll over each plane separately.
409
+ * The number above each plane is the slice number.
410
+ * There is a letter in left, right, top and bottom of each plane. "S" stands for sagittal, "A" axial and "C" stands for coronal.
411
+ <p align="center">
412
+ <img src="melage/resource/manual_images/widget_tab_mutualview.png" alt="MELAGE" width="800" style="border:1px solid black" object-fit="contain"/><br>
413
+ <font size="2">segmentation intensity</font>
414
+ </p>
415
+ * One can segment each image and/or process images in this view.
416
+ * The top part is reserved for Ultrasound images and thus named top image for the process.
417
+ * The bottom images has been reserved for MRI images and named bottom image.
418
+ * If one image is closed this tab just shows three planes of the first image as shown below.
419
+ <p align="center">
420
+ <img src="melage/resource/manual_images/widget_tab_mutualview2.png" alt="MELAGE" width="800" style="border:1px solid black" object-fit="contain"/><br>
421
+ </p>
422
+ * Ultrasound segmentation
423
+ * This tabl has the following components:
424
+ * Image visulization and processing. It is ideal to see one plane in bigger size and concentrate on one plane while can see instantaneous 3D segmentation.
425
+ * Horizontal slidebar: To scroll over slices in the selected plane.
426
+ * Change planes (radio buttons): To select sagittal, axial or coronal slices in the image.
427
+ * show seg (radio button): To visualize or do not show segmented regions.
428
+ * 3D visualization: 3D visualization is an important part of MELAGE that later will be explained in details.
429
+ <p align="center">
430
+ <img src="melage/resource/manual_images/tab_us.png" alt="MELAGE" width="800" style="border:1px solid black" object-fit="contain"/><br>
431
+ </p>
432
+ * MRI segmentation
433
+ * This tabl has the following components:
434
+ * Image visulization and processing. It is ideal to see one plane in bigger size and concentrate on one plane while can see instantaneous 3D segmentation.
435
+ * Horizontal slidebar: To scroll over slices in the selected plane.
436
+ * Change planes (radio buttons): To select sagittal, axial or coronal slices in the image.
437
+ * show seg (radio button): To visualize or do not show segmented regions.
438
+ * 3D visualization: 3D visualization is an important part of MELAGE that later will be explained in details.
439
+ <p align="center">
440
+ <img src="melage/resource/manual_images/tab_mri.png" alt="MELAGE" width="800" style="border:1px solid black" object-fit="contain"/><br>
441
+ </p>
442
+
443
+ # 3D Visualization
444
+ Right click on this region give access to various options:
445
+
446
+ <p align="center">
447
+ <img src="melage/resource/manual_images/3D_rightc.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/><br>
448
+ </p>
449
+
450
+ * GoTo : Activating it allows to go to the corresponding location in the image.
451
+ * The approximate location of mouse in 3D space will apear on the right bottom part of the 3D visualization
452
+ * The location of the selected point will appear in proper sagittal, coronal or axial plane according to the direction that is closest to this view.
453
+ <p align="center">
454
+ <img src="melage/resource/manual_images/3D_rightc_goto.png" alt="MELAGE" width="700" style="border:1px solid black" object-fit="contain"/><br>
455
+ </p>
456
+
457
+ * Segmentation: This option activate image segmentation visualization.
458
+ * tip: If you are in this tab to activate it you need to go to another tab and get back to it if it is needed.
459
+ <p align="center">
460
+ <img src="melage/resource/manual_images/3D_rightc_seg.png" alt="MELAGE" width="700" style="border:1px solid black" object-fit="contain"/><br>
461
+ </p>
462
+
463
+ * BG color: Change background color. You can select different background color for your 3D visualization.
464
+
465
+ * Painting: It has various options:
466
+ <p align="center">
467
+ <img src="melage/resource/manual_images/3D_rightc_paint.png" alt="MELAGE" width="700" style="border:1px solid black" object-fit="contain"/><br>
468
+ </p>
469
+ * Draw: It enables to draw in order to cut a part of 3D image.
470
+ <p align="center">
471
+ <img src="melage/resource/manual_images/3D_rightc_paint_draw1.png" alt="MELAGE" width="700" style="border:1px solid black" object-fit="contain"/>
472
+ </p>
473
+ * Show total: To get back to orignal view without cut<br>
474
+ * Image render: To render image in different colors. The segmentation intensity can help in better visulization.
475
+ <table>
476
+ <tr>
477
+ <td>
478
+ <p align="center">
479
+ <img src="melage/resource/manual_images/3D_rightc_paint_render.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
480
+ <font size="2">Rainbow</font>
481
+ </p>
482
+ </td>
483
+ <td>
484
+ <p align="center">
485
+ <img src="melage/resource/manual_images/3D_rightc_paint_render2.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
486
+ <font size="2">Gray</font>
487
+ </p>
488
+ </td>
489
+ <td>
490
+ <p align="center">
491
+ <img src="melage/resource/manual_images/3D_rightc_paint_render3.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
492
+ <font size="2">Jet</font>
493
+ </p>
494
+ </td>
495
+ </tr>
496
+ <tr>
497
+ <td>
498
+ <p align="center">
499
+ <img src="melage/resource/manual_images/3D_rightc_paint_render4.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
500
+ <font size="2">Gnuplot</font>
501
+ </p>
502
+ </td>
503
+ <td>
504
+ <p align="center">
505
+ <img src="melage/resource/manual_images/3D_rightc_paint_render5.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
506
+ <font size="2">Gnuplot2</font>
507
+ </p>
508
+ </td>
509
+ <td>
510
+ <p align="center">
511
+ <img src="melage/resource/manual_images/3D_rightc_paint_render6.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
512
+ <font size="2">Original</font>
513
+ </p>
514
+ </td>
515
+ </tr>
516
+ </table>
517
+
518
+ * Axis: Show axis with 3D visulization
519
+ * Grid: Show grid with 3D visulization
520
+
521
+
522
+ #Tools
523
+
524
+ ## segmentation options using contour
525
+ * selecting contour tools and right clicking on the segmented area can appear the following options:
526
+ * center: center of the segmented region
527
+ * surface are of the segmented region
528
+ * perimeter of the segmented region
529
+ * send the above infomration to table
530
+ * Add to interpolation: Add the current slice for slice to slice interpolation
531
+ * Apply interpolation by adding the current slice to the interpolation
532
+ <p align="center">
533
+ <img src="melage/resource/manual_images/tools_seg.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
534
+ </p>
535
+ ## interpolation between slices
536
+
537
+ To use this option:
538
+
539
+ * Activate desired colors that want to interpolate
540
+ * select a segmented region in one of the planes (sagittal, axial or coronal)
541
+ * add another region from other slice to the interpolation algorithm. You can add as mucch as want.
542
+ * Right click on apply interpolation
543
+ * wait until the interpolation results appear.
544
+
545
+ ## Ruler
546
+ * Ruler has been designed to measure the distances between two points in an image. Before using it, ruler button should be pressed. Right click includes:
547
+ * Center position
548
+ * Length
549
+ * Line angle
550
+ * Remove: eliminating current ruler
551
+ * sending the information to the table
552
+ <p align="center">
553
+ <img src="melage/resource/manual_images/tools_ruler.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
554
+ </p>
555
+ There are no limits for adding new ruler.
556
+
557
+ ## Tools menu
558
+
559
+ * In tools menu there are various options:
560
+ * Undo: To get back to previous segmentations (until 10 previous segmentation)
561
+ * Redo: It is opposite of the undo (until 10 times)
562
+ * Preprocessing: including N4 Bias Field Correction, Image Masking, BET, DeepBET, Image Thresholding, Masking Operation, Change CS.
563
+ * Basic Info: including Image Histogram, Resize, Image Information.
564
+
565
+ <p align="center">
566
+ <img src="melage/resource/manual_images/tools_tools.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
567
+ </p>
568
+
569
+ * N4 Bias Field Correction
570
+ * N4 Bias Field Correction by the help of SimpleITK library
571
+ * The parameters are:
572
+ * Otsu : To use Otsu multiple thresholding to crate mask image.
573
+ * Fiting level: Number of fitting
574
+ * Shrinking factor: reduction factor
575
+ * Max Iterations: Maximum number of iterations
576
+ * On the bottom left : There is a combox to select the right image. Bottom image is MRI and top image stands for ultrasound image.
577
+ * By clicking on apply the algorithm starts to work. As it is computational needs its time to finish. Do not worry if application is not working during this time.
578
+ * After finishing the algoirhtm another button "Original" appears, which means you can get back to original image if you are not happy with the results.
579
+ <p align="center">
580
+ <img src="melage/resource/manual_images/tools_n4b.png" alt="MELAGE" width="600" style="border:1px solid black" object-fit="contain"/>
581
+ </p>
582
+
583
+ * Image Masking:
584
+ * This tool has been designed to remain with a part of image with respect to the segmentation.
585
+ * From left to right and top to bottom:
586
+ * A combo box to select the right image. Bottom image is MRI and top image stands for ultrasound image.
587
+ * A combo box (keep or remove): To keep or remove part of image according to selected masking color
588
+ * Mask Color: The color used to mask image
589
+ * Bottom right: To apply the masking on image
590
+ * To get back to original image, the masking color should be "9876_Combined".
591
+ <p align="center">
592
+ <img src="melage/resource/manual_images/tools_masking.png" alt="MELAGE" width="600" style="border:1px solid black" object-fit="contain"/>
593
+ </p>
594
+
595
+ * Brain Extraction Tool
596
+ * [Brain Extraction Tools](https://github.com/vanandrew/brainextractor) proposed by
597
+
598
+ ```
599
+ Smith SM. Fast robust automated brain extraction.
600
+ Hum Brain Mapp.2002 Nov;17(3):143-55. doi: 10.1002/hbm.10062. PMID: 12391568; PMCID: PMC6871816.
601
+ ```
602
+
603
+ *Its parameters are:
604
+ * Advanced: To enable change default parameters
605
+ * Iterations: Number of iterations
606
+ * Adaptive thresholding: To enable automatically select lower and upper bound
607
+ * Fractional Threshold: (see paper)
608
+ * Search distance (see paper)
609
+ * Radius of curvature (see paper)
610
+ <p align="center">
611
+ <img src="melage/resource/manual_images/tools_bet.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
612
+ </p>
613
+
614
+ * Deep Learning Brain Extraction
615
+ * This tool includes deep learning based brain extraction tools
616
+ * From top to bottom and from left to right
617
+ * Advanced : Enables editting
618
+ * Image selection: To select proper image
619
+ * Model selection: To select a deep learning model
620
+ * Cuda: To enable GPU processing (it is not recommended except if you have a high capacity GPU)
621
+ * Image type: MRI or Ultrasound
622
+ * Threshold: The thresholding value (between -4 to 4)
623
+ * Load Network Weights : To select path of network weights
624
+ * Apply: To run the model
625
+ * Tips: If you run the model and you are not satisfied with the results, you can change the threshold without needing to run the model again.
626
+ <p align="center">
627
+ <img src="melage/resource/manual_images/tools_deepbet.png" alt="MELAGE" width="600" style="border:1px solid black" object-fit="contain"/>
628
+ </p>
629
+
630
+ * Image Thresholding
631
+ * Image thresholding based on Multi-Otsu thresholding method.
632
+ * From left to right
633
+ * Image selection
634
+ * Number of classes : Number of classes for image thresholding
635
+ * Apply: To execute the algorithm
636
+ <p align="center">
637
+ <img src="melage/resource/manual_images/tools_threshold.png" alt="MELAGE" width="600" style="border:1px solid black" object-fit="contain"/>
638
+ </p>
639
+
640
+ * Masking Operations
641
+ * To sum and subtract masking colors
642
+ * From let to right
643
+ * Masking color: Select a masking color (The results will appear for this index)
644
+ * Operation: Select proper operation (summation or subtraction)
645
+ * Masking color: Select a masking color
646
+ * Image selection: select MRI or Ultrasound
647
+ * Apply: Execut masking
648
+ <p align="center">
649
+ <img src="melage/resource/manual_images/tools_maskO.png" alt="MELAGE" width="600" style="border:1px solid black" object-fit="contain"/>
650
+ </p>
651
+
652
+ * Change CS
653
+ * To change image coordinate system
654
+ * From left to right
655
+ * Image selection
656
+ * From : show the current coordinate system
657
+ * To: choose the desired coordinate system from the combo box
658
+ * Apply: run the algorithm to see the results
659
+ <p align="center">
660
+ <img src="melage/resource/manual_images/tools_cs.png" alt="MELAGE" width="600" style="border:1px solid black" object-fit="contain"/>
661
+ </p>
662
+
663
+ * Basic info
664
+ <p align="center">
665
+ <img src="melage/resource/manual_images/tools_basic.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
666
+ </p>
667
+
668
+ * It includes
669
+ * image histogram: To show image histogram
670
+ * Resize: Isotropic resizing imgage to a desire spacing <p align="center">
671
+ <img src="melage/resource/manual_images/tools_resize.png" alt="MELAGE" width="400" style="border:1px solid black" object-fit="contain"/>
672
+ </p>
673
+ * Images info. : information extracted from a loaded image. In the bottom there is a search option. <p align="center">
674
+ <img src="melage/resource/manual_images/tools_imageinfo.png" alt="MELAGE" width="500" style="border:1px solid black" object-fit="contain"/>
675
+ </p>
676
+
677
+ ## File Menu
678
+ <p align="center">
679
+ <img src="melage/resource/manual_images/menu_file.png" alt="MELAGE" width="500" style="border:1px solid black" object-fit="contain"/>
680
+ </p>
681
+
682
+ * It includes:
683
+ * New project: To create a new project
684
+ * Load project: To load a previously save project
685
+ * Save: To save the current project
686
+ * Save as: To save the current project into another file
687
+ * Import: Import a segmentation file <p align="center">
688
+ <img src="melage/resource/manual_images/menu_file_import.png" alt="MELAGE" width="500" style="border:1px solid black" object-fit="contain"/>
689
+ </p>
690
+ * Export: Export modified image or modified segmentation as a new file. It automatically adds a suffix to the end of the current file. <p align="center">
691
+ <img src="melage/resource/manual_images/menu_file_export.png" alt="MELAGE" width="500" style="border:1px solid black" object-fit="contain"/>
692
+ </p>
693
+ * Screen shot: Take a screen shot form one of the plane or whole of the scene. <p align="center">
694
+ <img src="melage/resource/manual_images/menu_file_ss.png" alt="MELAGE" width="500" style="border:1px solid black" object-fit="contain"/>
695
+ </p>
696
+ * Close US project: Closing an ultrasound image or the image appears on the top.
697
+ * Close MRI project: Closing a MRI image or the image appears on the bottom
698
+ * Setting: To change defaults setting of the application. align="center">
699
+ <img src="melage/resource/manual_images/menu_file_settings.png" alt="MELAGE" width="500" style="border:1px solid black" object-fit="contain"/>
700
+ </p>
701
+ * Exit: To exit the application. On pressing this button another window appears to ask you if you want to save the project or not.
702
+
703
+
704
+
705
+ # license
706
+ To ask for a license please contact <a href = "mailto: melage@inbica.com">mealge@inibica.es</a> or <a href = "mailto: jafrasteh.bahram@inibica.es">jafrasteh.bahram@inibica.es</a>.
707
+
708
+
709
+ #Citation and acknowledgements
710
+ Please cite us:
711
+
712
+ ```
713
+ Jafrasteh, B., Lubián-López, S. P., & Benavente-Fernández, I. (2023).
714
+ MELAGE: A purely python based Neuroimaging software (Neonatal). arXiv preprint arXiv:X.X.
715
+
716
+ ```
717
+
718
+
719
+ # Releases
720
+ - v1.0.0:
721
+ - Add search line to find colors
722
+ - Change tables and enable export, edit, add, remove for measurement table
723
+ - Enable perimeter measurements
724
+ - During export a ".json" files will be exported alongside the output file.
725
+ - Correction the problem of left and right direction of brain in the images.
726
+ - v0.9.0:
727
+ - correction of problems with sagittal to coronal and coronal to sagital correction for ultrasound images.
728
+ - reading the color format of ITK and FSL has been improved.
729
+
730
+ - v0.8.0:
731
+ - Color appearance improved.
732
+ - rotation speed improved.
733
+ - segmentation after rotation improved
734
+ - improved saving table to csv format
735
+ - nrrd reading
736
+
737
+ - v0.0.7:
738
+ - Reading system for MRI and US images improved
739
+ - nrrd support
740
+ - version info is saved into the file
741
+ - DICOM folder and file reading enabled
742
+