autoencodix 0.2.0__tar.gz → 0.2.2__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 (309) hide show
  1. {autoencodix-0.2.0 → autoencodix-0.2.2}/.gitignore +1 -1
  2. {autoencodix-0.2.0 → autoencodix-0.2.2}/PKG-INFO +2 -1
  3. {autoencodix-0.2.0 → autoencodix-0.2.2}/pyproject.toml +2 -1
  4. autoencodix-0.2.2/src/autoencodix/data/__init__.py +39 -0
  5. autoencodix-0.2.2/src/autoencodix/data/_datapackage_splitter.py +151 -0
  6. autoencodix-0.2.2/src/autoencodix/data/_datasetcontainer.py +33 -0
  7. autoencodix-0.2.2/src/autoencodix/data/_datasplitter.py +472 -0
  8. autoencodix-0.2.2/src/autoencodix/data/_filter.py +333 -0
  9. autoencodix-0.2.2/src/autoencodix/data/_image_dataset.py +93 -0
  10. autoencodix-0.2.2/src/autoencodix/data/_image_processor.py +89 -0
  11. autoencodix-0.2.2/src/autoencodix/data/_imgdataclass.py +29 -0
  12. autoencodix-0.2.2/src/autoencodix/data/_multimodal_dataset.py +444 -0
  13. autoencodix-0.2.2/src/autoencodix/data/_nanremover.py +200 -0
  14. autoencodix-0.2.2/src/autoencodix/data/_numeric_dataset.py +209 -0
  15. autoencodix-0.2.2/src/autoencodix/data/_sampler.py +98 -0
  16. autoencodix-0.2.2/src/autoencodix/data/_sc_filter.py +424 -0
  17. autoencodix-0.2.2/src/autoencodix/data/_stackix_dataset.py +114 -0
  18. autoencodix-0.2.2/src/autoencodix/data/_stackix_preprocessor.py +335 -0
  19. autoencodix-0.2.2/src/autoencodix/data/_xmodal_preprocessor.py +188 -0
  20. autoencodix-0.2.2/src/autoencodix/data/datapackage.py +382 -0
  21. autoencodix-0.2.2/src/autoencodix/data/general_preprocessor.py +349 -0
  22. {autoencodix-0.2.0 → autoencodix-0.2.2}/.coverage +0 -0
  23. {autoencodix-0.2.0 → autoencodix-0.2.2}/.github/workflows/ci.yml +0 -0
  24. {autoencodix-0.2.0 → autoencodix-0.2.2}/.github/workflows/docs.yml +0 -0
  25. {autoencodix-0.2.0 → autoencodix-0.2.2}/DEVELOPER.md +0 -0
  26. {autoencodix-0.2.0 → autoencodix-0.2.2}/LICENSE +0 -0
  27. {autoencodix-0.2.0 → autoencodix-0.2.2}/LLM_Setup.md +0 -0
  28. {autoencodix-0.2.0 → autoencodix-0.2.2}/README.md +0 -0
  29. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/DeepDives/ConfigTutorial.ipynb +0 -0
  30. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/DeepDives/EvaluateTutorial.ipynb +0 -0
  31. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/DeepDives/ExplainStep.ipynb +0 -0
  32. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/DeepDives/HyperparameterOptimizationTutorial.ipynb +0 -0
  33. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/DeepDives/InputDataTutorials.ipynb +0 -0
  34. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/DeepDives/MemoryEfficientSaving.ipynb +0 -0
  35. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/DeepDives/PipelineOutputTutorial.ipynb +0 -0
  36. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/DeepDives/UsingPreTrainedModels.ipynb +0 -0
  37. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/DeepDives/VisualizeTutorial.ipynb +0 -0
  38. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/DeepDives/default_config.yaml +0 -0
  39. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/DevGuide.ipynb +0 -0
  40. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/Internal/Profile.md +0 -0
  41. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/Internal/image.png +0 -0
  42. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/PipelineTutorials/Disentanglix.ipynb +0 -0
  43. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/PipelineTutorials/Imagix.ipynb +0 -0
  44. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/PipelineTutorials/Maskix.ipynb +0 -0
  45. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/PipelineTutorials/Ontix.ipynb +0 -0
  46. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/PipelineTutorials/Stackix.ipynb +0 -0
  47. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/PipelineTutorials/Vanillix.ipynb +0 -0
  48. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/PipelineTutorials/Varix.ipynb +0 -0
  49. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/PipelineTutorials/XModalix.ipynb +0 -0
  50. {autoencodix-0.2.0 → autoencodix-0.2.2}/Tutorials/PipelineTutorials/bulk_img_up.yaml +0 -0
  51. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/.coverage +0 -0
  52. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/bulk_bulk_tran_config.yaml +0 -0
  53. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/bulk_img_config.yaml +0 -0
  54. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/bulk_img_up.yaml +0 -0
  55. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/full_config.yaml +0 -0
  56. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/invalid/invalid_modalities_config.yaml +0 -0
  57. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/invalid/invalid_one_config.yaml +0 -0
  58. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/invalid/invalid_sc_bulk_config.yaml +0 -0
  59. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/invalid/invalid_three_config.yaml +0 -0
  60. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/largebulk.yaml +0 -0
  61. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/largesc.yaml +0 -0
  62. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/multi_bulk.yaml +0 -0
  63. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/multi_sc_config.yaml +0 -0
  64. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/sc_img_tran_config.yaml +0 -0
  65. {autoencodix-0.2.0 → autoencodix-0.2.2}/configs/sc_sc_tran_config.yaml +0 -0
  66. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/base.md +0 -0
  67. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/configs.md +0 -0
  68. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/data.md +0 -0
  69. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/disentanglix.md +0 -0
  70. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/evaluate.md +0 -0
  71. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/imagix.md +0 -0
  72. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/modeling.md +0 -0
  73. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/ontix.md +0 -0
  74. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/stackix.md +0 -0
  75. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/trainers.md +0 -0
  76. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/utils.md +0 -0
  77. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/vanillix.md +0 -0
  78. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/varix.md +0 -0
  79. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/api/visualize.md +0 -0
  80. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/conf.py +0 -0
  81. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/index.md +0 -0
  82. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/robots.txt +0 -0
  83. {autoencodix-0.2.0 → autoencodix-0.2.2}/docs/tutorials.md +0 -0
  84. {autoencodix-0.2.0 → autoencodix-0.2.2}/genes_chromosomes.txt +0 -0
  85. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/.gitignore +0 -0
  86. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/class_index.html +0 -0
  87. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/coverage_html_cb_dd2e7eb5.js +0 -0
  88. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/favicon_32_cb_c827f16f.png +0 -0
  89. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/function_index.html +0 -0
  90. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/index.html +0 -0
  91. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/keybd_closed_cb_900cfef5.png +0 -0
  92. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/status.json +0 -0
  93. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/style_cb_9ff733b0.css +0 -0
  94. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_08b4cb1648a15a99___init___py.html +0 -0
  95. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_145eef247bfb46b6___init___py.html +0 -0
  96. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_1f614dca678d39fd___init___py.html +0 -0
  97. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_1f614dca678d39fd__base_autoencoder_py.html +0 -0
  98. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_1f614dca678d39fd__base_dataset_py.html +0 -0
  99. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_1f614dca678d39fd__base_evaluator_py.html +0 -0
  100. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_1f614dca678d39fd__base_loss_py.html +0 -0
  101. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_1f614dca678d39fd__base_pipeline_py.html +0 -0
  102. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_1f614dca678d39fd__base_predictor_py.html +0 -0
  103. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_1f614dca678d39fd__base_preprocessor_py.html +0 -0
  104. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_1f614dca678d39fd__base_trainer_py.html +0 -0
  105. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_1f614dca678d39fd__base_visualizer_py.html +0 -0
  106. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_2ed26e8e5c78cfb4___init___py.html +0 -0
  107. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_3d3d5e3f4d524267___init___py.html +0 -0
  108. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_3d3d5e3f4d524267__general_visualizer_py.html +0 -0
  109. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_3d3d5e3f4d524267__imagix_visualizer_py.html +0 -0
  110. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_3d3d5e3f4d524267__xmodal_visualizer_py.html +0 -0
  111. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_3d3d5e3f4d524267_visualize_py.html +0 -0
  112. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611___init___py.html +0 -0
  113. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__annealer_py.html +0 -0
  114. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__bulkreader_py.html +0 -0
  115. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__explainer_py.html +0 -0
  116. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__imgreader_py.html +0 -0
  117. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__internals_py.html +0 -0
  118. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__llm_explainer_py.html +0 -0
  119. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__losses_py.html +0 -0
  120. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__model_output_py.html +0 -0
  121. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__result_py.html +0 -0
  122. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__screader_py.html +0 -0
  123. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__traindynamics_py.html +0 -0
  124. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611__utils_py.html +0 -0
  125. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611_adata_converter_py.html +0 -0
  126. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611_example_data_py.html +0 -0
  127. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611_feature_importance_py.html +0 -0
  128. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_476d49f6d4e42611_prompts_py.html +0 -0
  129. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_4bb6c3a17be45dbc___init___py.html +0 -0
  130. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_4bb6c3a17be45dbc__captum_forward_py.html +0 -0
  131. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_4bb6c3a17be45dbc__classifier_py.html +0 -0
  132. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_4bb6c3a17be45dbc__imagevae_architecture_py.html +0 -0
  133. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_4bb6c3a17be45dbc__imgfast_architecture_py.html +0 -0
  134. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_4bb6c3a17be45dbc__layer_factory_py.html +0 -0
  135. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_4bb6c3a17be45dbc__maskix_architecture_py.html +0 -0
  136. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_4bb6c3a17be45dbc__ontix_architecture_py.html +0 -0
  137. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_4bb6c3a17be45dbc__vanillix_architecture_py.html +0 -0
  138. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_4bb6c3a17be45dbc__varix_architecture_py.html +0 -0
  139. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_6042884bddae99cb___init___py.html +0 -0
  140. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_6042884bddae99cb__general_evaluator_py.html +0 -0
  141. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_6042884bddae99cb__xmodalix_evaluator_py.html +0 -0
  142. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3___init___py.html +0 -0
  143. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__datapackage_splitter_py.html +0 -0
  144. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__datasetcontainer_py.html +0 -0
  145. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__datasplitter_py.html +0 -0
  146. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__filter_py.html +0 -0
  147. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__image_dataset_py.html +0 -0
  148. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__image_processor_py.html +0 -0
  149. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__imgdataclass_py.html +0 -0
  150. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__multimodal_dataset_py.html +0 -0
  151. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__nanremover_py.html +0 -0
  152. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__numeric_dataset_py.html +0 -0
  153. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__sampler_py.html +0 -0
  154. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__sc_filter_py.html +0 -0
  155. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__stackix_dataset_py.html +0 -0
  156. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__stackix_preprocessor_py.html +0 -0
  157. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3__xmodal_preprocessor_py.html +0 -0
  158. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3_datapackage_py.html +0 -0
  159. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_abfc79a2385922e3_general_preprocessor_py.html +0 -0
  160. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_d45e116c17cfd8fc_disentanglix_loss_py.html +0 -0
  161. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_d45e116c17cfd8fc_maskix_loss_py.html +0 -0
  162. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_d45e116c17cfd8fc_vanillix_loss_py.html +0 -0
  163. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_d45e116c17cfd8fc_varix_loss_py.html +0 -0
  164. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_d45e116c17cfd8fc_xmodal_loss_py.html +0 -0
  165. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e71cd39e61034c16___init___py.html +0 -0
  166. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e71cd39e61034c16_disentanglix_py.html +0 -0
  167. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e71cd39e61034c16_imagix_py.html +0 -0
  168. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e71cd39e61034c16_maskix_py.html +0 -0
  169. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e71cd39e61034c16_ontix_py.html +0 -0
  170. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e71cd39e61034c16_stackix_py.html +0 -0
  171. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e71cd39e61034c16_vanillix_py.html +0 -0
  172. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e71cd39e61034c16_varix_py.html +0 -0
  173. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e71cd39e61034c16_xmodalix_py.html +0 -0
  174. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e985f912f5313aa0___init___py.html +0 -0
  175. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e985f912f5313aa0__general_trainer_py.html +0 -0
  176. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e985f912f5313aa0__maskix_trainer_py.html +0 -0
  177. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e985f912f5313aa0__ontix_trainer_py.html +0 -0
  178. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e985f912f5313aa0__stackix_orchestrator_py.html +0 -0
  179. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e985f912f5313aa0__stackix_trainer_py.html +0 -0
  180. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_e985f912f5313aa0__xmodal_trainer_py.html +0 -0
  181. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_ec333370d73aeb8d___init___py.html +0 -0
  182. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_ec333370d73aeb8d_default_config_py.html +0 -0
  183. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_ec333370d73aeb8d_disentanglix_config_py.html +0 -0
  184. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_ec333370d73aeb8d_maskix_config_py.html +0 -0
  185. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_ec333370d73aeb8d_ontix_config_py.html +0 -0
  186. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_ec333370d73aeb8d_stackix_config_py.html +0 -0
  187. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_ec333370d73aeb8d_vanillix_config_py.html +0 -0
  188. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_ec333370d73aeb8d_varix_config_py.html +0 -0
  189. {autoencodix-0.2.0 → autoencodix-0.2.2}/htmlcov/z_ec333370d73aeb8d_xmodalix_config_py.html +0 -0
  190. {autoencodix-0.2.0 → autoencodix-0.2.2}/latent_explanations.md +0 -0
  191. {autoencodix-0.2.0 → autoencodix-0.2.2}/mkdocs.yml +0 -0
  192. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/.gitignore +0 -0
  193. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/LICENSE.txt +0 -0
  194. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/__init__.py +0 -0
  195. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/__init__.py +0 -0
  196. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/.ipynb_checkpoints/_base_pipeline-checkpoint.py +0 -0
  197. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/.ipynb_checkpoints/_base_trainer-checkpoint.py +0 -0
  198. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/__init__.py +0 -0
  199. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/_base_autoencoder.py +0 -0
  200. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/_base_dataset.py +0 -0
  201. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/_base_evaluator.py +0 -0
  202. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/_base_loss.py +0 -0
  203. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/_base_pipeline.py +0 -0
  204. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/_base_predictor.py +0 -0
  205. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/_base_preprocessor.py +0 -0
  206. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/_base_trainer.py +0 -0
  207. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/_base_visualizer.py +0 -0
  208. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/base/sampleconfig.yaml +0 -0
  209. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/configs/__init__.py +0 -0
  210. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/configs/default_config.py +0 -0
  211. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/configs/disentanglix_config.py +0 -0
  212. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/configs/maskix_config.py +0 -0
  213. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/configs/ontix_config.py +0 -0
  214. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/configs/stackix_config.py +0 -0
  215. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/configs/vanillix_config.py +0 -0
  216. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/configs/varix_config.py +0 -0
  217. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/configs/xmodalix_config.py +0 -0
  218. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/disentanglix.py +0 -0
  219. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/evaluate/.ipynb_checkpoints/evaluate-checkpoint.py +0 -0
  220. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/evaluate/__init__.py +0 -0
  221. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/evaluate/_general_evaluator.py +0 -0
  222. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/evaluate/_xmodalix_evaluator.py +0 -0
  223. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/imagix.py +0 -0
  224. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/losses/disentanglix_loss.py +0 -0
  225. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/losses/maskix_loss.py +0 -0
  226. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/losses/vanillix_loss.py +0 -0
  227. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/losses/varix_loss.py +0 -0
  228. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/losses/xmodal_loss.py +0 -0
  229. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/maskix.py +0 -0
  230. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/.ipynb_checkpoints/__init__-checkpoint.py +0 -0
  231. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/.ipynb_checkpoints/_captum_forward-checkpoint.py +0 -0
  232. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/__init__.py +0 -0
  233. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/_captum_forward.py +0 -0
  234. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/_classifier.py +0 -0
  235. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/_imagevae_architecture.py +0 -0
  236. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/_imgfast_architecture.py +0 -0
  237. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/_layer_factory.py +0 -0
  238. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/_maskix_architecture.py +0 -0
  239. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/_ontix_architecture.py +0 -0
  240. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/_vanillix_architecture.py +0 -0
  241. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/modeling/_varix_architecture.py +0 -0
  242. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/notebooks/__init__.py +0 -0
  243. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/ontix.py +0 -0
  244. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/py.typed +0 -0
  245. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/stackix.py +0 -0
  246. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/trainers/__init__.py +0 -0
  247. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/trainers/_general_trainer.py +0 -0
  248. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/trainers/_maskix_trainer.py +0 -0
  249. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/trainers/_ontix_trainer.py +0 -0
  250. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/trainers/_stackix_orchestrator.py +0 -0
  251. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/trainers/_stackix_trainer.py +0 -0
  252. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/trainers/_xmodal_trainer.py +0 -0
  253. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/.ipynb_checkpoints/_explainer-checkpoint.py +0 -0
  254. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/.ipynb_checkpoints/_model_output-checkpoint.py +0 -0
  255. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/.ipynb_checkpoints/_utils-checkpoint.py +0 -0
  256. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/.ipynb_checkpoints/adata_converter-checkpoint.py +0 -0
  257. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/.ipynb_checkpoints/feature_importance-checkpoint.py +0 -0
  258. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/__init__.py +0 -0
  259. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_annealer.py +0 -0
  260. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_bulkreader.py +0 -0
  261. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_explainer.py +0 -0
  262. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_imgreader.py +0 -0
  263. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_internals.py +0 -0
  264. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_llm_explainer.py +0 -0
  265. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_losses.py +0 -0
  266. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_model_output.py +0 -0
  267. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_result.py +0 -0
  268. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_screader.py +0 -0
  269. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_traindynamics.py +0 -0
  270. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/_utils.py +0 -0
  271. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/adata_converter.py +0 -0
  272. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/example_data.py +0 -0
  273. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/feature_importance.py +0 -0
  274. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/utils/prompts.py +0 -0
  275. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/vanillix.py +0 -0
  276. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/varix.py +0 -0
  277. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/visualize/__init__.py +0 -0
  278. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/visualize/_general_visualizer.py +0 -0
  279. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/visualize/_imagix_visualizer.py +0 -0
  280. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/visualize/_xmodal_visualizer.py +0 -0
  281. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/visualize/visualize.py +0 -0
  282. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/autoencodix/xmodalix.py +0 -0
  283. {autoencodix-0.2.0 → autoencodix-0.2.2}/src/tests/__init__.py +0 -0
  284. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_base/test_base_autoencoder.py +0 -0
  285. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_base/test_base_dataset.py +0 -0
  286. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_base/test_base_loss.py +0 -0
  287. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_base/test_base_pipeline.py +0 -0
  288. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_base/test_base_preprocessor.py +0 -0
  289. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_base/test_base_trainer.py +0 -0
  290. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_data/test_datapackage_splitter.py +0 -0
  291. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_data/test_datasetcontainer.py +0 -0
  292. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_data/test_datasplitter.py +0 -0
  293. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_data/test_filter.py +0 -0
  294. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_data/test_imgdataclass.py +0 -0
  295. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_data/test_numericdataset.py +0 -0
  296. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_losses/test_maskix_loss.py +0 -0
  297. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_modeling/test_layer_factory.py +0 -0
  298. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_modeling/test_vanillix_architecture.py +0 -0
  299. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_modeling/test_varix_architecture.py +0 -0
  300. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_trainers/test_general_trainer.py +0 -0
  301. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_utils/test_default_config.py +0 -0
  302. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_utils/test_modeloutput.py +0 -0
  303. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_utils/test_result.py +0 -0
  304. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_utils/test_traindynamics.py +0 -0
  305. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_utils/test_utils.py +0 -0
  306. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_utils/test_vanillix_loss.py +0 -0
  307. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_utils/test_varix_loss.py +0 -0
  308. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_vanillix.py +0 -0
  309. {autoencodix-0.2.0 → autoencodix-0.2.2}/tests/test_varix.py +0 -0
@@ -1,5 +1,5 @@
1
1
  uv.lock
2
- data/
2
+ data/raw/*
3
3
  notebooks/census_chunks/
4
4
  notebooks/*/*
5
5
  results/*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autoencodix
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: Framework for multi-omics data integration by autoencoders.
5
5
  Project-URL: Homepage, https://github.com/jan-forest/autoencodix_package
6
6
  Project-URL: Issues, https://github.com/jan-forest/autoencodix_package/issues
@@ -30,6 +30,7 @@ Requires-Dist: pandas-stubs>=2.2.2.240807
30
30
  Requires-Dist: pandas>=2.2.3
31
31
  Requires-Dist: pyarrow>=19.0.1
32
32
  Requires-Dist: pydantic>=2.10.6
33
+ Requires-Dist: python-dotenv>=1.2.1
33
34
  Requires-Dist: pyyaml>=6.0.2
34
35
  Requires-Dist: scanpy>=1.10.3
35
36
  Requires-Dist: scikit-learn>=1.6.1
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "autoencodix"
3
- version = "0.2.0"
3
+ version = "0.2.2"
4
4
  authors = [
5
5
  { name="Maximilian Joas & Jan Ewald", email="jan.ewald@uni-leipzig.de" },
6
6
  ]
@@ -44,6 +44,7 @@ dependencies = [
44
44
  "openai==2.31.0",
45
45
  "tensorboard-plugin-profile==2.20.1",
46
46
  "tensorboard>=2.20.0",
47
+ "python-dotenv>=1.2.1",
47
48
  ]
48
49
 
49
50
  [dependency-groups]
@@ -0,0 +1,39 @@
1
+ from ._datapackage_splitter import DataPackageSplitter
2
+ from ._datasetcontainer import DatasetContainer
3
+ from ._datasplitter import DataSplitter
4
+ from ._filter import DataFilter
5
+ from ._imgdataclass import ImgData
6
+ from ._nanremover import NaNRemover
7
+ from ._numeric_dataset import NumericDataset, TensorAwareDataset
8
+ from ._stackix_dataset import StackixDataset
9
+ from ._stackix_preprocessor import StackixPreprocessor
10
+ from .datapackage import DataPackage
11
+ from .general_preprocessor import GeneralPreprocessor
12
+ from ._sc_filter import SingleCellFilter
13
+ from ._xmodal_preprocessor import XModalPreprocessor
14
+ from ._image_dataset import ImageDataset
15
+ from ._multimodal_dataset import MultiModalDataset
16
+ from ._image_processor import ImagePreprocessor
17
+ from ._sampler import BalancedBatchSampler
18
+
19
+
20
+ __all__ = [
21
+ "DataSplitter",
22
+ "NumericDataset",
23
+ "DatasetContainer",
24
+ "GeneralPreprocessor",
25
+ "ImgData",
26
+ "DataPackage",
27
+ "DataPackageSplitter",
28
+ "DataFilter",
29
+ "NaNRemover",
30
+ "StackixPreprocessor",
31
+ "StackixDataset",
32
+ "SingleCellFilter",
33
+ "XModalPreprocessor",
34
+ "ImageDataset",
35
+ "TensorAwareDataset",
36
+ "MultiModalDataset",
37
+ "ImagePreprocessor",
38
+ "BalancedBatchSampler",
39
+ ]
@@ -0,0 +1,151 @@
1
+ import copy
2
+ from typing import Any, Dict, Optional
3
+
4
+ import numpy as np
5
+ import pandas as pd
6
+ from anndata import AnnData # type: ignore
7
+ from mudata import MuData # type: ignore
8
+
9
+ from autoencodix.data.datapackage import DataPackage
10
+ from autoencodix.configs.default_config import DefaultConfig
11
+
12
+
13
+ class DataPackageSplitter:
14
+ """Splits DataPackage objects into training, validation, and testing sets.
15
+
16
+ Supports paired and unpaired (translation) splitting.
17
+
18
+ Attributes:
19
+ data_package: The original DataPackage to split.
20
+ config: The configuration settings for the splitting process.
21
+ indices: The indices for each split (train/val/test).
22
+ """
23
+
24
+ def __init__(
25
+ self,
26
+ data_package: DataPackage,
27
+ config: DefaultConfig,
28
+ indices: Dict[str, Dict[str, Dict[str, np.ndarray]]],
29
+ ) -> None:
30
+ self._data_package = data_package
31
+ self.indices = indices
32
+ self.config = config
33
+
34
+ if not isinstance(self._data_package, DataPackage):
35
+ raise TypeError(
36
+ f"Expected data_package to be of type DataPackage, got {type(self._data_package)}"
37
+ )
38
+
39
+ def _shallow_copy(self, value: Any) -> Any:
40
+ try:
41
+ return copy.copy(value)
42
+ except AttributeError:
43
+ return value
44
+
45
+ def _indexing(self, obj: Any, indices: np.ndarray) -> Any:
46
+ """Indexes pd.DataFrame, list, AnnData, or MuData objects using the provided indices.
47
+
48
+ Args:
49
+ obj: The object to index (can be pd.DataFrame, list, AnnData, MuData, or None).
50
+ indices: The indices to use for indexing.
51
+ Returns:
52
+ The indexed object, or None if the input object is None.
53
+ Raises:
54
+ TypeError: If an unsupported type is encountered.
55
+ """
56
+
57
+ if obj is None:
58
+ return None
59
+ if isinstance(obj, pd.DataFrame):
60
+ return obj.iloc[indices]
61
+ elif isinstance(obj, list):
62
+ return [obj[i] for i in indices]
63
+ elif isinstance(obj, (AnnData, MuData)):
64
+ # print(f"shape of obj: {obj.shape}")
65
+ # print(f"obj: {obj}")
66
+ # print(f"len(ind): {len(indices)}")
67
+ # print(f"max of index{np.max(indices)}")
68
+ # print(f"ind: {indices}")
69
+ return obj[indices]
70
+ else:
71
+ raise TypeError(
72
+ f"Unsupported type for indexing: {type(obj)}. "
73
+ "Supported types are pd.DataFrame, list, AnnData, and MuData."
74
+ )
75
+
76
+ def _split_data_package(self, split: str) -> Optional[DataPackage]:
77
+ """Creates a new DataPackage where each attribute is indexed (if applicable)
78
+ by the given indices. Returns None if indices are empty.
79
+
80
+ Args:
81
+ indices: The indices to use for splitting the DataPackage.
82
+ Returns:
83
+ A new DataPackage with attributes indexed by the provided indices,
84
+ or None if indices are empty.
85
+ """
86
+ if len(self.indices) == 0:
87
+ return None
88
+
89
+ split_data = {}
90
+ for key, value in self._data_package.__dict__.items():
91
+ if value is None:
92
+ continue
93
+ split_data[key] = {
94
+ modality: self._indexing(data, self.indices[key][modality][split])
95
+ for modality, data in value.items()
96
+ }
97
+ return DataPackage(**split_data)
98
+
99
+ def _split_mudata(
100
+ self,
101
+ mudata: MuData, # ty: ignore[invalid-type-form]
102
+ indices_map: Dict[str, Dict[str, np.ndarray]],
103
+ split: str,
104
+ ) -> MuData: # ty: ignore[invalid-type-form]
105
+ """Splits a MuData object based on the provided indices map.
106
+
107
+ Args:
108
+ mudata: The MuData object to split.
109
+ indices_map: A dictionary mapping modalities to their respective indices.
110
+ split: The split type ("train", "valid", or "test").
111
+ Returns:
112
+ A new MuData object with the specified splits applied.
113
+ """
114
+ for modality, data in mudata.mod.items():
115
+ indices = indices_map[modality][split]
116
+ mudata.mod[modality] = self._indexing(data, indices)
117
+ return mudata
118
+
119
+ def _requires_paired(self) -> bool:
120
+ return self.config.requires_paired is None or self.config.requires_paired
121
+
122
+ def split(self) -> Dict[str, Optional[Dict[str, Any]]]:
123
+ """Splits the underlying DataPackage into train, valid, and test subsets.
124
+ Returns:
125
+ A dictionary containing the split data packages for "train", "valid", and "test".
126
+ Each entry contains a "data" key with the DataPackage and an "indices" key with
127
+ the corresponding indices.
128
+ Raises:
129
+ ValueError: If no data package is available for splitting.
130
+ TypeError: If indices are not provided for unpaired translation case.
131
+ """
132
+ if self._data_package is None:
133
+ raise ValueError("No data package available for splitting")
134
+
135
+ splits = ["train", "valid", "test"]
136
+ result: Dict[str, Optional[Dict[str, Any]]] = {
137
+ "train": {},
138
+ "valid": {},
139
+ "test": {},
140
+ }
141
+
142
+ for split in splits:
143
+ if self.indices is None: # or split not in self.indices:
144
+ result[split] = None
145
+ continue
146
+ result[split] = {
147
+ "data": self._split_data_package(split=split),
148
+ "indices": self.indices,
149
+ }
150
+
151
+ return result
@@ -0,0 +1,33 @@
1
+ from typing import Optional, Union
2
+ from dataclasses import dataclass
3
+ from autoencodix.base._base_dataset import BaseDataset
4
+
5
+
6
+ @dataclass
7
+ class DatasetContainer:
8
+ """A container for datasets used in training, validation, and testing.
9
+
10
+ Attributes:
11
+ train : Dataset
12
+ The training dataset.
13
+ valid : Dataset
14
+ The validation dataset.
15
+ test : Dataset
16
+ The testing dataset.
17
+ """
18
+
19
+ train: Optional[Union[BaseDataset, None]] = None
20
+ valid: Optional[Union[BaseDataset, None]] = None
21
+ test: Optional[Union[BaseDataset, None]] = None
22
+
23
+ def __getitem__(self, key: str) -> BaseDataset:
24
+ """Allows dictionary-like access to datasets."""
25
+ if key not in {"train", "valid", "test"}:
26
+ raise KeyError(f"Invalid key: {key}. Must be 'train', 'valid', or 'test'.")
27
+ return getattr(self, key)
28
+
29
+ def __setitem__(self, key: str, value: BaseDataset):
30
+ """Allows dictionary-like assignment of datasets."""
31
+ if key not in {"train", "valid", "test"}:
32
+ raise KeyError(f"Invalid key: {key}. Must be 'train', 'valid', or 'test'.")
33
+ setattr(self, key, value)