modusa 0.3.60__tar.gz → 0.3.62__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 (93) hide show
  1. {modusa-0.3.60 → modusa-0.3.62}/PKG-INFO +1 -1
  2. {modusa-0.3.60 → modusa-0.3.62}/pyproject.toml +1 -1
  3. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/tools/plotter.py +11 -8
  4. {modusa-0.3.60 → modusa-0.3.62}/LICENSE.md +0 -0
  5. {modusa-0.3.60 → modusa-0.3.62}/README.md +0 -0
  6. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/.DS_Store +0 -0
  7. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/__init__.py +0 -0
  8. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/config.py +0 -0
  9. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/decorators.py +0 -0
  10. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/devtools/generate_docs_source.py +0 -0
  11. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/devtools/generate_template.py +0 -0
  12. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/devtools/list_authors.py +0 -0
  13. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/devtools/list_plugins.py +0 -0
  14. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/devtools/main.py +0 -0
  15. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/devtools/templates/generator.py +0 -0
  16. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/devtools/templates/io.py +0 -0
  17. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/devtools/templates/model.py +0 -0
  18. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/devtools/templates/plugin.py +0 -0
  19. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/devtools/templates/test.py +0 -0
  20. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/devtools/templates/tool.py +0 -0
  21. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/fonts/NotoSansDevanagari-Regular.ttf +0 -0
  22. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/generators/__init__.py +0 -0
  23. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/generators/audio.py +0 -0
  24. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/generators/audio_waveforms.py +0 -0
  25. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/generators/base.py +0 -0
  26. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/generators/ftds.py +0 -0
  27. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/generators/s1d.py +0 -0
  28. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/generators/s2d.py +0 -0
  29. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/generators/s_ax.py +0 -0
  30. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/generators/t_ax.py +0 -0
  31. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/generators/tds.py +0 -0
  32. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/models/__init__.py +0 -0
  33. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/models/__pycache__/signal1D.cpython-312.pyc.4443461152 +0 -0
  34. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/models/audio.py +0 -0
  35. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/models/base.py +0 -0
  36. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/models/data.py +0 -0
  37. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/models/ftds.py +0 -0
  38. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/models/s1d.py +0 -0
  39. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/models/s2d.py +0 -0
  40. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/models/s_ax.py +0 -0
  41. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/models/t_ax.py +0 -0
  42. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/models/tds.py +0 -0
  43. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/plugins/__init__.py +0 -0
  44. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/plugins/base.py +0 -0
  45. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/tools/__init__.py +0 -0
  46. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/tools/_plotter_old.py +0 -0
  47. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/tools/ann_loader.py +0 -0
  48. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/tools/audio_converter.py +0 -0
  49. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/tools/audio_loader.py +0 -0
  50. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/tools/audio_player.py +0 -0
  51. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/tools/audio_recorder.py +0 -0
  52. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/tools/base.py +0 -0
  53. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/tools/math_ops.py +0 -0
  54. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/tools/youtube_downloader.py +0 -0
  55. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/utils/.DS_Store +0 -0
  56. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/utils/__init__.py +0 -0
  57. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/utils/config.py +0 -0
  58. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/utils/excp.py +0 -0
  59. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/utils/logger.py +0 -0
  60. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/utils/np_func_cat.py +0 -0
  61. {modusa-0.3.60 → modusa-0.3.62}/src/modusa/utils/plot.py +0 -0
  62. {modusa-0.3.60 → modusa-0.3.62}/tests/__init__.py +0 -0
  63. {modusa-0.3.60 → modusa-0.3.62}/tests/data/song1.mp3 +0 -0
  64. {modusa-0.3.60 → modusa-0.3.62}/tests/data/song1.wav +0 -0
  65. {modusa-0.3.60 → modusa-0.3.62}/tests/test_generators/audio_waveform.py +0 -0
  66. {modusa-0.3.60 → modusa-0.3.62}/tests/test_generators/test_audio.py +0 -0
  67. {modusa-0.3.60 → modusa-0.3.62}/tests/test_generators/test_ftds.py +0 -0
  68. {modusa-0.3.60 → modusa-0.3.62}/tests/test_generators/test_s1d.py +0 -0
  69. {modusa-0.3.60 → modusa-0.3.62}/tests/test_generators/test_s2d.py +0 -0
  70. {modusa-0.3.60 → modusa-0.3.62}/tests/test_generators/test_s_ax.py +0 -0
  71. {modusa-0.3.60 → modusa-0.3.62}/tests/test_generators/test_signal.py +0 -0
  72. {modusa-0.3.60 → modusa-0.3.62}/tests/test_generators/test_signal_generator.py +0 -0
  73. {modusa-0.3.60 → modusa-0.3.62}/tests/test_generators/test_t_ax.py +0 -0
  74. {modusa-0.3.60 → modusa-0.3.62}/tests/test_generators/test_tds.py +0 -0
  75. {modusa-0.3.60 → modusa-0.3.62}/tests/test_io/audio_player.py +0 -0
  76. {modusa-0.3.60 → modusa-0.3.62}/tests/test_io/plotter.py +0 -0
  77. {modusa-0.3.60 → modusa-0.3.62}/tests/test_models/test_data.py +0 -0
  78. {modusa-0.3.60 → modusa-0.3.62}/tests/test_models/test_t_ax.py +0 -0
  79. {modusa-0.3.60 → modusa-0.3.62}/tests/test_plugins/youtube_audio_loader.py +0 -0
  80. {modusa-0.3.60 → modusa-0.3.62}/tests/test_signals/frequency_domain_signal.py +0 -0
  81. {modusa-0.3.60 → modusa-0.3.62}/tests/test_signals/spectrogram.py +0 -0
  82. {modusa-0.3.60 → modusa-0.3.62}/tests/test_signals/test_axis.py +0 -0
  83. {modusa-0.3.60 → modusa-0.3.62}/tests/test_signals/test_feature_time_domain_signal.py +0 -0
  84. {modusa-0.3.60 → modusa-0.3.62}/tests/test_signals/test_frequency_time_domain_signal.py +0 -0
  85. {modusa-0.3.60 → modusa-0.3.62}/tests/test_signals/test_signal1D.py +0 -0
  86. {modusa-0.3.60 → modusa-0.3.62}/tests/test_signals/test_signal2D.py +0 -0
  87. {modusa-0.3.60 → modusa-0.3.62}/tests/test_signals/test_time_domain_signal.py +0 -0
  88. {modusa-0.3.60 → modusa-0.3.62}/tests/test_signals/test_u_ax.py +0 -0
  89. {modusa-0.3.60 → modusa-0.3.62}/tests/test_signals/test_window_signal.py +0 -0
  90. {modusa-0.3.60 → modusa-0.3.62}/tests/test_signals/time_domain_signal.py +0 -0
  91. {modusa-0.3.60 → modusa-0.3.62}/tests/test_tools/test_audio_converter.py +0 -0
  92. {modusa-0.3.60 → modusa-0.3.62}/tests/test_tools/test_fourier_tranform.py +0 -0
  93. {modusa-0.3.60 → modusa-0.3.62}/tests/test_tools/test_math_ops.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modusa
3
- Version: 0.3.60
3
+ Version: 0.3.62
4
4
  Summary: A modular signal analysis python library.
5
5
  Author-Email: Ankit Anand <ankit0.anand0@gmail.com>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "modusa"
3
- version = "0.3.60"
3
+ version = "0.3.62"
4
4
  description = "A modular signal analysis python library."
5
5
  authors = [
6
6
  { name = "Ankit Anand", email = "ankit0.anand0@gmail.com" },
@@ -325,7 +325,7 @@ class Fig:
325
325
  else:
326
326
  curr_row[0].axvline(x=event, color=c, linestyle=ls, linewidth=lw)
327
327
 
328
- def add_annotation(self, ann, label=None, patterns=None, ax=None):
328
+ def add_annotation(self, ann, label=None, patterns=None, ax=None, ylim=(0, 1)):
329
329
  """
330
330
  Add annotation to the figure.
331
331
 
@@ -345,6 +345,9 @@ class Fig:
345
345
  ax: int
346
346
  - Which specific axis to plot (1, 2, 3, ...)
347
347
  - None
348
+ ylim: tuple[number, number]
349
+ - Y-limit for the annotation.
350
+ - Default: (0, 1)
348
351
  Returns
349
352
  -------
350
353
  None
@@ -358,12 +361,12 @@ class Fig:
358
361
 
359
362
  if patterns is not None:
360
363
  for i, (start, end, tag) in enumerate(ann_copy):
364
+ group = None
361
365
  for j, pattern in enumerate(patterns):
362
366
  if fnmatch.fnmatch(tag, pattern):
363
- ann_copy[i] = (start, end, tag, j)
367
+ group = j
364
368
  break
365
- else:
366
- ann_copy[i] = (start, end, tag, None)
369
+ ann_copy[i] = (start, end, tag, group)
367
370
  else:
368
371
  for i, (start, end, tag) in enumerate(ann_copy):
369
372
  ann_copy[i] = (start, end, tag, None)
@@ -386,11 +389,11 @@ class Fig:
386
389
  box_color = "lightgray"
387
390
 
388
391
  width = end - start
389
- rect = Rectangle((start, 0), width, 1, facecolor=box_color, edgecolor="black", alpha=0.7)
392
+ rect = Rectangle((start, ylim[0]), width, ylim[1] - ylim[0], facecolor=box_color, edgecolor="black", alpha=0.7)
390
393
  curr_row[0].add_patch(rect)
391
394
 
392
395
  text_obj = curr_row[0].text(
393
- (start + end) / 2, 0.5, tag,
396
+ (start + end) / 2, (ylim[1] - ylim[0]) / 2, tag,
394
397
  ha='center', va='center',
395
398
  fontsize=10, color="black", fontweight='bold', zorder=10, clip_on=True
396
399
  )
@@ -403,11 +406,11 @@ class Fig:
403
406
  box_color = "lightgray"
404
407
 
405
408
  width = end - start
406
- rect = Rectangle((start, 0), width, 1, facecolor=box_color, edgecolor="black", alpha=0.7)
409
+ rect = Rectangle((start, ylim[0]), width, ylim[1] - ylim[0], facecolor=box_color, edgecolor="black", alpha=0.7)
407
410
  curr_row[0].add_patch(rect)
408
411
 
409
412
  text_obj = curr_row[0].text(
410
- (start + end) / 2, 0.5, tag,
413
+ (start + end) / 2, (ylim[1] - ylim[0]) / 2, tag,
411
414
  ha='center', va='center',
412
415
  fontsize=10, color="black", fontweight='bold', zorder=10, clip_on=True
413
416
  )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes