From 8bd36ed84863c0f26eb128cb408e757e01289ed1 Mon Sep 17 00:00:00 2001
From: abhicodes369 <119055274+abhicodes369@users.noreply.github.com>
Date: Fri, 8 Mar 2024 22:52:49 +0530
Subject: [PATCH 01/11] report on repo
---
.gitignore | 1 +
combined_report.html | 126 +++++++++++++++++++++++++++++++++++++++++++
local.env.example | 3 ++
repostatus.py | 37 +++++++++++++
4 files changed, 167 insertions(+)
create mode 100644 combined_report.html
create mode 100644 local.env.example
create mode 100644 repostatus.py
diff --git a/.gitignore b/.gitignore
index d3420ab..5898042 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@ bvals.txt
nosetests.xml
coverage.xml
*.pyc
+local.env
diff --git a/combined_report.html b/combined_report.html
new file mode 100644
index 0000000..e1d8743
--- /dev/null
+++ b/combined_report.html
@@ -0,0 +1,126 @@
+
+
+
+ Technique |
+ Subfolder |
+ Contributors |
+ Tested |
+
+
+
+
+ IVIM |
+ OGC_AmsterdamUMC |
+ Oliver Gurney-Champion |
+ Yes |
+
+
+ IVIM |
+ OGC_AmsterdamUMC |
+ Oliver Gurney-Champion |
+ Yes |
+
+
+ Tri-exponential |
+ OGC_AmsterdamUMC |
+ Oliver Gurney-Champion |
+ Yes |
+
+
+ Tri-exponential |
+ OGC_AmsterdamUMC |
+ Oliver Gurney-Champion |
+ Yes |
+
+
+ IVIM |
+ OGC_AmsterdamUMC |
+ Oliver Gurney-Champion/Sebastiano Barbieri |
+ Yes |
+
+
+ IVIM |
+ PvH_KB_NKI |
+ Petra van Houdt/Stefan Zijlema/Koen Baas |
+ Yes |
+
+
+ IVIM |
+ PV_MUMC |
+ Paulien Voorter |
+ Yes |
+
+
+ IVIM |
+ IAR_LundUniversity |
+ Ivan A. Rashid |
+ Yes |
+
+
+ IVIM |
+ IAR_LundUniversity |
+ Ivan A. Rashid |
+ Yes |
+
+
+ IVIM |
+ IAR_LundUniversity |
+ Ivan A. Rashid |
+ Yes |
+
+
+ IVIM |
+ IAR_LundUniversity |
+ Ivan A. Rashid |
+ Yes |
+
+
+ IVIM |
+ IAR_LundUniversity |
+ Farooq et al. Modified by Ivan A. Rashid |
+ Yes |
+
+
+ IVIM |
+ IAR_LundUniversity |
+ Fadnavis et al. Modified by Ivan A. Rashid |
+ Yes |
+
+
+ IVIM |
+ IAR_LundUniversity |
+ Modified by Ivan A. Rashid |
+ Yes |
+
+
+ IVIM |
+ IAR_LundUniversity |
+ Modified by Ivan A. Rashid |
+ Yes |
+
+
+ IVIM |
+ OJ_GU |
+ Oscar Jalnefjord |
+ No |
+
+
+ IVIM |
+ OJ_GU |
+ Oscar Jalnefjord |
+ No |
+
+
+ IVIM |
+ OJ_GU |
+ Oscar Jalnefjord |
+ No |
+
+
+ IVIM |
+ ETP_SRI |
+ Eric Peterson |
+ Yes |
+
+
+
\ No newline at end of file
diff --git a/local.env.example b/local.env.example
new file mode 100644
index 0000000..5df0161
--- /dev/null
+++ b/local.env.example
@@ -0,0 +1,3 @@
+REPO_DIR=/path/to/your/repo
+CODE_CONTRIBUTIONS_FILE=/path/to/your/code_contributions_record.csv
+ALGORITHMS_FILE=/path/to/your/algorithms.json
diff --git a/repostatus.py b/repostatus.py
new file mode 100644
index 0000000..b5727dc
--- /dev/null
+++ b/repostatus.py
@@ -0,0 +1,37 @@
+import os
+import pandas as pd
+from dotenv import load_dotenv
+import json
+
+# Load environment variables
+load_dotenv(r'C:\Users\home\tf2.4\TF2.4_IVIM-MRI_CodeCollection\local.env')
+
+# Read the CSV file
+csv_file_path = os.getenv('CODE_CONTRIBUTIONS_FILE')
+df = pd.read_csv(csv_file_path)
+
+unique_subfolders = df['subfolder'].unique().tolist()
+
+# Read the JSON file
+algorithms_file_path = os.getenv('ALGORITHMS_FILE')
+with open(algorithms_file_path, 'r') as f:
+ algorithms_data = json.load(f)
+
+# Get a list of all algorithms from the JSON file
+all_algorithms = algorithms_data['algorithms']
+
+# Add a new column 'Tested' to the DataFrame if it starts with that of subfolder
+df['Tested'] = df.apply(lambda row: 'Yes' if any(algorithm.startswith(row['subfolder'].split('_')[0]) for algorithm in all_algorithms) else 'No', axis=1)
+
+# Select the desired columns
+df_selected = df[['Technique', 'subfolder', 'Authors', 'Tested']]
+df_selected.columns = ['Technique', 'Subfolder', 'Contributors', 'Tested']
+
+# Convert the DataFrame to HTML
+html_string = df_selected.to_html(index=False)
+
+# Save the HTML to a file
+with open('combined_report.html', 'w') as f:
+ f.write(html_string)
+# printing message that report have been succesfully generated
+print("Combined HTML report generated successfully.")
\ No newline at end of file
From 6d210a0e68bbb9969dee5d8d0e7339ac5b22868d Mon Sep 17 00:00:00 2001
From: abhicodes369 <119055274+abhicodes369@users.noreply.github.com>
Date: Sun, 10 Mar 2024 22:04:38 +0530
Subject: [PATCH 02/11] created wrapper column
---
repostatus.py | 37 -----------
requirements.txt | 3 +-
utilities/repostatus.py | 64 +++++++++++++++++++
.../combined_report.html | 20 ++++++
4 files changed, 86 insertions(+), 38 deletions(-)
delete mode 100644 repostatus.py
create mode 100644 utilities/repostatus.py
rename combined_report.html => website/combined_report.html (87%)
diff --git a/repostatus.py b/repostatus.py
deleted file mode 100644
index b5727dc..0000000
--- a/repostatus.py
+++ /dev/null
@@ -1,37 +0,0 @@
-import os
-import pandas as pd
-from dotenv import load_dotenv
-import json
-
-# Load environment variables
-load_dotenv(r'C:\Users\home\tf2.4\TF2.4_IVIM-MRI_CodeCollection\local.env')
-
-# Read the CSV file
-csv_file_path = os.getenv('CODE_CONTRIBUTIONS_FILE')
-df = pd.read_csv(csv_file_path)
-
-unique_subfolders = df['subfolder'].unique().tolist()
-
-# Read the JSON file
-algorithms_file_path = os.getenv('ALGORITHMS_FILE')
-with open(algorithms_file_path, 'r') as f:
- algorithms_data = json.load(f)
-
-# Get a list of all algorithms from the JSON file
-all_algorithms = algorithms_data['algorithms']
-
-# Add a new column 'Tested' to the DataFrame if it starts with that of subfolder
-df['Tested'] = df.apply(lambda row: 'Yes' if any(algorithm.startswith(row['subfolder'].split('_')[0]) for algorithm in all_algorithms) else 'No', axis=1)
-
-# Select the desired columns
-df_selected = df[['Technique', 'subfolder', 'Authors', 'Tested']]
-df_selected.columns = ['Technique', 'Subfolder', 'Contributors', 'Tested']
-
-# Convert the DataFrame to HTML
-html_string = df_selected.to_html(index=False)
-
-# Save the HTML to a file
-with open('combined_report.html', 'w') as f:
- f.write(html_string)
-# printing message that report have been succesfully generated
-print("Combined HTML report generated successfully.")
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 382e3c9..9a76d4f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9,4 +9,5 @@ matplotlib
scienceplots
cvxpy
pytest
-tqdm
\ No newline at end of file
+tqdm
+pandas
\ No newline at end of file
diff --git a/utilities/repostatus.py b/utilities/repostatus.py
new file mode 100644
index 0000000..294f81d
--- /dev/null
+++ b/utilities/repostatus.py
@@ -0,0 +1,64 @@
+import os
+import pandas as pd
+import json
+
+# directory of the current script
+script_dir = os.path.dirname(os.path.abspath(__file__))
+
+# path to the repository
+REPO_DIR = os.path.dirname(script_dir)
+
+CODE_CONTRIBUTIONS_FILE = os.path.join(REPO_DIR, "doc", "code_contributions_record.csv")
+ALGORITHMS_FILE = os.path.join(REPO_DIR, "tests", "IVIMmodels", "unit_tests", "algorithms.json")
+SOURCE_FOLDER = os.path.join(REPO_DIR, "src", "original")
+WRAPPED_FOLDER = os.path.join(REPO_DIR, "src", "standardized")
+
+# Read the CSV file
+df = pd.read_csv(CODE_CONTRIBUTIONS_FILE)
+
+unique_subfolders = df['subfolder'].unique().tolist()
+
+# Read the JSON file
+with open(ALGORITHMS_FILE, 'r') as f:
+ algorithms_data = json.load(f)
+
+# list of all algorithms from the JSON file
+all_algorithms = algorithms_data['algorithms']
+
+# Check if both code_contributions_file matches with source folder
+for subfolder in unique_subfolders:
+ subfolder_path = os.path.join(SOURCE_FOLDER, subfolder)
+ if not os.path.exists(subfolder_path):
+ print(f"Warning: Subfolder '{subfolder}' does not exist in the source folder.")
+
+# Add column 'Tested' to the DataFrame if it starts with that of subfolder
+df['Tested'] = df.apply(lambda row: 'Yes' if any(algorithm.startswith(row['subfolder'].split('_')[0]) for algorithm in all_algorithms) else 'No', axis=1)
+
+# Parse files in the WRAPPED_FOLDER
+wrapped_algorithms = []
+for root, dirs, files in os.walk(WRAPPED_FOLDER):
+ for file in files:
+ if file.endswith('.py'):
+ file_path = os.path.join(root, file)
+ with open(file_path, 'r') as f:
+ content = f.read()
+ for algorithm in all_algorithms:
+ if algorithm in content:
+ wrapped_algorithms.append(algorithm)
+
+# Add a column 'Wrapped' to the DataFrame
+df['Wrapped'] = df.apply(lambda row: 'Yes' if any(algorithm.startswith(row['subfolder'].split('_')[0]) for algorithm in wrapped_algorithms) else 'No', axis=1)
+
+# Select the desired columns
+df_selected = df[['Technique', 'subfolder', 'Authors', 'Tested', 'Wrapped']]
+df_selected.columns = ['Technique', 'Subfolder', 'Contributors', 'Tested', 'Wrapped']
+
+# Convert the DataFrame to HTML
+html_string = df_selected.to_html(index=False)
+
+# Save the HTML to a file
+with open(os.path.join(REPO_DIR, 'combined_report.html'), 'w') as f:
+ f.write(html_string)
+
+# Printing message that report has been successfully generated
+print("Combined HTML report generated successfully.")
\ No newline at end of file
diff --git a/combined_report.html b/website/combined_report.html
similarity index 87%
rename from combined_report.html
rename to website/combined_report.html
index e1d8743..ca9608c 100644
--- a/combined_report.html
+++ b/website/combined_report.html
@@ -5,6 +5,7 @@
Subfolder |
Contributors |
Tested |
+ Wrapped |
@@ -13,114 +14,133 @@
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
Yes |
+ Yes |
IVIM |
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
Yes |
+ Yes |
Tri-exponential |
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
Yes |
+ Yes |
Tri-exponential |
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
Yes |
+ Yes |
IVIM |
OGC_AmsterdamUMC |
Oliver Gurney-Champion/Sebastiano Barbieri |
Yes |
+ Yes |
IVIM |
PvH_KB_NKI |
Petra van Houdt/Stefan Zijlema/Koen Baas |
Yes |
+ Yes |
IVIM |
PV_MUMC |
Paulien Voorter |
Yes |
+ Yes |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
Yes |
+ Yes |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
Yes |
+ Yes |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
Yes |
+ Yes |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
Yes |
+ Yes |
IVIM |
IAR_LundUniversity |
Farooq et al. Modified by Ivan A. Rashid |
Yes |
+ Yes |
IVIM |
IAR_LundUniversity |
Fadnavis et al. Modified by Ivan A. Rashid |
Yes |
+ Yes |
IVIM |
IAR_LundUniversity |
Modified by Ivan A. Rashid |
Yes |
+ Yes |
IVIM |
IAR_LundUniversity |
Modified by Ivan A. Rashid |
Yes |
+ Yes |
IVIM |
OJ_GU |
Oscar Jalnefjord |
No |
+ No |
IVIM |
OJ_GU |
Oscar Jalnefjord |
No |
+ No |
IVIM |
OJ_GU |
Oscar Jalnefjord |
No |
+ No |
IVIM |
ETP_SRI |
Eric Peterson |
Yes |
+ Yes |
\ No newline at end of file
From 58a423e74c22fa6b6a745d85c41005297b9ab8a1 Mon Sep 17 00:00:00 2001
From: abhi ram <119055274+abhicodes369@users.noreply.github.com>
Date: Sun, 10 Mar 2024 22:06:30 +0530
Subject: [PATCH 03/11] Delete local.env.example
---
local.env.example | 3 ---
1 file changed, 3 deletions(-)
delete mode 100644 local.env.example
diff --git a/local.env.example b/local.env.example
deleted file mode 100644
index 5df0161..0000000
--- a/local.env.example
+++ /dev/null
@@ -1,3 +0,0 @@
-REPO_DIR=/path/to/your/repo
-CODE_CONTRIBUTIONS_FILE=/path/to/your/code_contributions_record.csv
-ALGORITHMS_FILE=/path/to/your/algorithms.json
From 6c1b907ef5149c8caf02776d3a0032fc3fba3bea Mon Sep 17 00:00:00 2001
From: abhi ram <119055274+abhicodes369@users.noreply.github.com>
Date: Sun, 10 Mar 2024 22:07:11 +0530
Subject: [PATCH 04/11] Delete .gitignore
---
.gitignore | 19 -------------------
1 file changed, 19 deletions(-)
delete mode 100644 .gitignore
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 5898042..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,19 +0,0 @@
-.idea*
-.github/*
-.github/ISSUE_TEMPLATE/
-.github/pull_request_template.md
-__pycache__/
-*.nii.gz
-*.nii
-*.dcm
-*.mat
-*.raw
-bvals.txt
-# Unit test / coverage reports
-.tox/
-.coverage
-.cache
-nosetests.xml
-coverage.xml
-*.pyc
-local.env
From 321fa5549a274a83b86371f01cbea1042f6e6060 Mon Sep 17 00:00:00 2001
From: abhicodes369 <119055274+abhicodes369@users.noreply.github.com>
Date: Sun, 10 Mar 2024 22:33:11 +0530
Subject: [PATCH 05/11] Adding recovered .gitignore file
---
.gitignore | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
create mode 100644 .gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..59de036
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,18 @@
+.idea*
+.github/*
+.github/ISSUE_TEMPLATE/
+.github/pull_request_template.md
+__pycache__/
+*.nii.gz
+*.nii
+*.dcm
+*.mat
+*.raw
+bvals.txt
+# Unit test / coverage reports
+.tox/
+.coverage
+.cache
+nosetests.xml
+coverage.xml
+*.pyc
\ No newline at end of file
From cf05312524f090c270d92dc8db6610947f1475a1 Mon Sep 17 00:00:00 2001
From: abhicodes369 <119055274+abhicodes369@users.noreply.github.com>
Date: Fri, 15 Mar 2024 23:15:33 +0530
Subject: [PATCH 06/11] added a new column in the csv file . please tell me if
there are any modifications
---
doc/code_contributions_record.csv | 40 +++++++++++++++----------------
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/doc/code_contributions_record.csv b/doc/code_contributions_record.csv
index 2d22f7c..8be6c98 100644
--- a/doc/code_contributions_record.csv
+++ b/doc/code_contributions_record.csv
@@ -1,20 +1,20 @@
-Technique,Category,Subcategory,notes,subfolder,Link to source code,Authors,Institution,function/module,DOI,Tester,test status
-IVIM,Fitting,LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_least_squares/fit_least_squares_array,,tbd,
-IVIM,Fitting,segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_segmented/fit_segmented_array,,tbd,
-Tri-exponential,Fitting,LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_least_squares_tri_exp/fit_least_squares_array_tri_exp,,tbd,
-Tri-exponential,Fitting,Segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_segmented_tri_exp/fit_segmented_array_tri_exp,https://doi.org/10.3389/fphys.2022.942495,tbd,
-IVIM,Fitting,Bayesian,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion/Sebastiano Barbieri,Amsterdam UMC,fit_bayesian_array,https://doi.org/10.1002/mrm.28852,tbd,
-IVIM,Fitting,two-step segmented fit approach,also includes ADC calculation as a separate function,PvH_KB_NKI,TF2.4_IVIM-MRI_CodeCollection/src/original/PvH_KB_NKI/,Petra van Houdt/Stefan Zijlema/Koen Baas,the Netherlands Cancer Institute,DWI_functions_standalone.py,https://doi.org/10.3389/fonc.2021.705964,tbd,
-IVIM,Fitting,two-step (segmented) LSQ fitting, cut-off chosen for brain data; option to fit IVIM with inversion recovery or without IR,PV_MUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/PV_MUMC/,Paulien Voorter,Maastricht University Medical Center,two_step_IVIM_fit.py,,tbd,
-IVIM,Fitting,bi-exponential NLLS,Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_biexp.py,Ivan A. Rashid,Lund University,IvimModelBiexp,tba,tbd,
-IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D before a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_2step.py,Ivan A. Rashid,Lund University,IvimModelSegmented2Step,tba,tbd,
-IVIM,Fitting,3-step segmented NLLS,First estimates and fixes D followed by an estimate of D* followed by a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_3step.py,Ivan A. Rashid,Lund University,IvimModelSegmented3Step,tba,tbd,
-IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D. Subtracts the diffusion signal and estimated D*. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_subtracted.py,Ivan A. Rashid,Lund University,IvimModelSubtracted,tba,tbd,
-IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_mix.py,Farooq et al. Modified by Ivan A. Rashid,Lund University,IvimModelVP,https://doi.org/10.1038/srep38927,tbd,
-IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_topopro.py,Fadnavis et al. Modified by Ivan A. Rashid,Lund University,IvimModelTopoPro,https://doi.org/10.3389/fnins.2021.779025,tbd,
-IVIM,Fitting,Linear fit,Linear fit for D with extrapolation for f. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_linear.py,Modified by Ivan A. Rashid,Lund University,IvimModelLinear,tba,tbd,
-IVIM,Fitting,sIVIM fit,NLLS of the simplified IVIM model (sIVIM). Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_sivim.py,Modified by Ivan A. Rashid,Lund University,IvimModelsIVIM,tba,tbd,
-IVIM,Fitting,Segmented NLLS fitting,MATLAB code,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,IVIM_seg,https://doi.org/10.1007/s10334-018-0697-5,tbd,
-IVIM,Fitting,Bayesian,MATLAB code,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,IVIM_bayes,https://doi.org/10.1002/mrm.26783,tbd,
-IVIM,Fitting,Segmented NLLS fitting,Specifically tailored algorithm for NLLS segmented fitting,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,seg,https://doi.org/10.1007/s10334-018-0697-5,tbd,
-IVIM,Fitting,Linear fit,Linear fit for D and D* and f. Intended to be extremely fast but not always accurate,ETP_SRI,TF2.4_IVIM-MRI_CodeCollection/src/original/ETP_SRI/LinearFitting.py,Eric Peterson,SRI International,,,tbd,
+Technique,Category,Subcategory,notes,subfolder,Link to source code,Authors,Institution,function/module,DOI,Tester,test status,wrapped
+IVIM,Fitting,LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_least_squares/fit_least_squares_array,,tbd,,no
+IVIM,Fitting,segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_segmented/fit_segmented_array,,tbd,,yes
+Tri-exponential,Fitting,LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_least_squares_tri_exp/fit_least_squares_array_tri_exp,,tbd,,no
+Tri-exponential,Fitting,Segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_segmented_tri_exp/fit_segmented_array_tri_exp,https://doi.org/10.3389/fphys.2022.942495,tbd,,yes
+IVIM,Fitting,Bayesian,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion/Sebastiano Barbieri,Amsterdam UMC,fit_bayesian_array,https://doi.org/10.1002/mrm.28852,tbd,,yes
+IVIM,Fitting,two-step segmented fit approach,also includes ADC calculation as a separate function,PvH_KB_NKI,TF2.4_IVIM-MRI_CodeCollection/src/original/PvH_KB_NKI/,Petra van Houdt/Stefan Zijlema/Koen Baas,the Netherlands Cancer Institute,DWI_functions_standalone.py,https://doi.org/10.3389/fonc.2021.705964,tbd,,yes
+IVIM,Fitting,two-step (segmented) LSQ fitting, cut-off chosen for brain data; option to fit IVIM with inversion recovery or without IR,PV_MUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/PV_MUMC/,Paulien Voorter,Maastricht University Medical Center,two_step_IVIM_fit.py,,tbd,,yes
+IVIM,Fitting,bi-exponential NLLS,Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_biexp.py,Ivan A. Rashid,Lund University,IvimModelBiexp,tba,tbd,,yes
+IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D before a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_2step.py,Ivan A. Rashid,Lund University,IvimModelSegmented2Step,tba,tbd,,yes
+IVIM,Fitting,3-step segmented NLLS,First estimates and fixes D followed by an estimate of D* followed by a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_3step.py,Ivan A. Rashid,Lund University,IvimModelSegmented3Step,tba,tbd,,yes
+IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D. Subtracts the diffusion signal and estimated D*. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_subtracted.py,Ivan A. Rashid,Lund University,IvimModelSubtracted,tba,tbd,,yes
+IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_mix.py,Farooq et al. Modified by Ivan A. Rashid,Lund University,IvimModelVP,https://doi.org/10.1038/srep38927,tbd,,yes
+IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_topopro.py,Fadnavis et al. Modified by Ivan A. Rashid,Lund University,IvimModelTopoPro,https://doi.org/10.3389/fnins.2021.779025,tbd,,yes
+IVIM,Fitting,Linear fit,Linear fit for D with extrapolation for f. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_linear.py,Modified by Ivan A. Rashid,Lund University,IvimModelLinear,tba,tbd,,no
+IVIM,Fitting,sIVIM fit,NLLS of the simplified IVIM model (sIVIM). Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_sivim.py,Modified by Ivan A. Rashid,Lund University,IvimModelsIVIM,tba,tbd,,no
+IVIM,Fitting,Segmented NLLS fitting,MATLAB code,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,IVIM_seg,https://doi.org/10.1007/s10334-018-0697-5,tbd,,yes
+IVIM,Fitting,Bayesian,MATLAB code,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,IVIM_bayes,https://doi.org/10.1002/mrm.26783,tbd,,no
+IVIM,Fitting,Segmented NLLS fitting,Specifically tailored algorithm for NLLS segmented fitting,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,seg,https://doi.org/10.1007/s10334-018-0697-5,tbd,,no
+IVIM,Fitting,Linear fit,Linear fit for D and D* and f. Intended to be extremely fast but not always accurate,ETP_SRI,TF2.4_IVIM-MRI_CodeCollection/src/original/ETP_SRI/LinearFitting.py,Eric Peterson,SRI International,,,tbd,,yes
\ No newline at end of file
From baf5d4a68a1901def566ce77e7280ce860717451 Mon Sep 17 00:00:00 2001
From: abhicodes369 <119055274+abhicodes369@users.noreply.github.com>
Date: Sat, 16 Mar 2024 02:23:12 +0530
Subject: [PATCH 07/11] added a new column in the csv file please tell me if
there are any modifications
---
doc/code_contributions_record.csv | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/doc/code_contributions_record.csv b/doc/code_contributions_record.csv
index 8be6c98..c4c4160 100644
--- a/doc/code_contributions_record.csv
+++ b/doc/code_contributions_record.csv
@@ -1,20 +1,20 @@
Technique,Category,Subcategory,notes,subfolder,Link to source code,Authors,Institution,function/module,DOI,Tester,test status,wrapped
IVIM,Fitting,LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_least_squares/fit_least_squares_array,,tbd,,no
-IVIM,Fitting,segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_segmented/fit_segmented_array,,tbd,,yes
+IVIM,Fitting,segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_segmented/fit_segmented_array,,tbd,,OGC_AmsterdamUMC_biexp
Tri-exponential,Fitting,LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_least_squares_tri_exp/fit_least_squares_array_tri_exp,,tbd,,no
-Tri-exponential,Fitting,Segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_segmented_tri_exp/fit_segmented_array_tri_exp,https://doi.org/10.3389/fphys.2022.942495,tbd,,yes
-IVIM,Fitting,Bayesian,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion/Sebastiano Barbieri,Amsterdam UMC,fit_bayesian_array,https://doi.org/10.1002/mrm.28852,tbd,,yes
-IVIM,Fitting,two-step segmented fit approach,also includes ADC calculation as a separate function,PvH_KB_NKI,TF2.4_IVIM-MRI_CodeCollection/src/original/PvH_KB_NKI/,Petra van Houdt/Stefan Zijlema/Koen Baas,the Netherlands Cancer Institute,DWI_functions_standalone.py,https://doi.org/10.3389/fonc.2021.705964,tbd,,yes
-IVIM,Fitting,two-step (segmented) LSQ fitting, cut-off chosen for brain data; option to fit IVIM with inversion recovery or without IR,PV_MUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/PV_MUMC/,Paulien Voorter,Maastricht University Medical Center,two_step_IVIM_fit.py,,tbd,,yes
-IVIM,Fitting,bi-exponential NLLS,Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_biexp.py,Ivan A. Rashid,Lund University,IvimModelBiexp,tba,tbd,,yes
-IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D before a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_2step.py,Ivan A. Rashid,Lund University,IvimModelSegmented2Step,tba,tbd,,yes
-IVIM,Fitting,3-step segmented NLLS,First estimates and fixes D followed by an estimate of D* followed by a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_3step.py,Ivan A. Rashid,Lund University,IvimModelSegmented3Step,tba,tbd,,yes
-IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D. Subtracts the diffusion signal and estimated D*. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_subtracted.py,Ivan A. Rashid,Lund University,IvimModelSubtracted,tba,tbd,,yes
-IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_mix.py,Farooq et al. Modified by Ivan A. Rashid,Lund University,IvimModelVP,https://doi.org/10.1038/srep38927,tbd,,yes
-IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_topopro.py,Fadnavis et al. Modified by Ivan A. Rashid,Lund University,IvimModelTopoPro,https://doi.org/10.3389/fnins.2021.779025,tbd,,yes
+Tri-exponential,Fitting,Segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_segmented_tri_exp/fit_segmented_array_tri_exp,https://doi.org/10.3389/fphys.2022.942495,tbd,,OGC_AmsterdamUMC_biexp_segmented
+IVIM,Fitting,Bayesian,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion/Sebastiano Barbieri,Amsterdam UMC,fit_bayesian_array,https://doi.org/10.1002/mrm.28852,tbd,,OGC_AmsterdamUMC_Bayesian_biexp
+IVIM,Fitting,two-step segmented fit approach,also includes ADC calculation as a separate function,PvH_KB_NKI,TF2.4_IVIM-MRI_CodeCollection/src/original/PvH_KB_NKI/,Petra van Houdt/Stefan Zijlema/Koen Baas,the Netherlands Cancer Institute,DWI_functions_standalone.py,https://doi.org/10.3389/fonc.2021.705964,tbd,,PvH_KB_NKI_IVIMfit.py
+IVIM,Fitting,two-step (segmented) LSQ fitting, cut-off chosen for brain data; option to fit IVIM with inversion recovery or without IR,PV_MUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/PV_MUMC/,Paulien Voorter,Maastricht University Medical Center,two_step_IVIM_fit.py,,tbd,,PV_MUMC_biexp
+IVIM,Fitting,bi-exponential NLLS,Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_biexp.py,Ivan A. Rashid,Lund University,IvimModelBiexp,tba,tbd,,IAR_LU_biexp
+IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D before a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_2step.py,Ivan A. Rashid,Lund University,IvimModelSegmented2Step,tba,tbd,,IAR_LU_segmented_2step.py
+IVIM,Fitting,3-step segmented NLLS,First estimates and fixes D followed by an estimate of D* followed by a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_3step.py,Ivan A. Rashid,Lund University,IvimModelSegmented3Step,tba,tbd,,IAR_LU_segmented_3step.py
+IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D. Subtracts the diffusion signal and estimated D*. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_subtracted.py,Ivan A. Rashid,Lund University,IvimModelSubtracted,tba,tbd,,IAR_LU_subtracted
+IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_mix.py,Farooq et al. Modified by Ivan A. Rashid,Lund University,IvimModelVP,https://doi.org/10.1038/srep38927,tbd,,IAR_LU_modified_mix
+IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_topopro.py,Fadnavis et al. Modified by Ivan A. Rashid,Lund University,IvimModelTopoPro,https://doi.org/10.3389/fnins.2021.779025,tbd,,IAR_LundUniversity_topopro
IVIM,Fitting,Linear fit,Linear fit for D with extrapolation for f. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_linear.py,Modified by Ivan A. Rashid,Lund University,IvimModelLinear,tba,tbd,,no
IVIM,Fitting,sIVIM fit,NLLS of the simplified IVIM model (sIVIM). Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_sivim.py,Modified by Ivan A. Rashid,Lund University,IvimModelsIVIM,tba,tbd,,no
-IVIM,Fitting,Segmented NLLS fitting,MATLAB code,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,IVIM_seg,https://doi.org/10.1007/s10334-018-0697-5,tbd,,yes
+IVIM,Fitting,Segmented NLLS fitting,MATLAB code,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,IVIM_seg,https://doi.org/10.1007/s10334-018-0697-5,tbd,,OJ_GU_seg
IVIM,Fitting,Bayesian,MATLAB code,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,IVIM_bayes,https://doi.org/10.1002/mrm.26783,tbd,,no
IVIM,Fitting,Segmented NLLS fitting,Specifically tailored algorithm for NLLS segmented fitting,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,seg,https://doi.org/10.1007/s10334-018-0697-5,tbd,,no
-IVIM,Fitting,Linear fit,Linear fit for D and D* and f. Intended to be extremely fast but not always accurate,ETP_SRI,TF2.4_IVIM-MRI_CodeCollection/src/original/ETP_SRI/LinearFitting.py,Eric Peterson,SRI International,,,tbd,,yes
\ No newline at end of file
+IVIM,Fitting,Linear fit,Linear fit for D and D* and f. Intended to be extremely fast but not always accurate,ETP_SRI,TF2.4_IVIM-MRI_CodeCollection/src/original/ETP_SRI/LinearFitting.py,Eric Peterson,SRI International,,,tbd,,ETP_SRI_LinearFitting
\ No newline at end of file
From d7df0ca7926421d0e1894f372297935ae881bea8 Mon Sep 17 00:00:00 2001
From: abhicodes369 <119055274+abhicodes369@users.noreply.github.com>
Date: Sat, 16 Mar 2024 02:56:16 +0530
Subject: [PATCH 08/11] added a new column to csv and modified python file
---
doc/code_contributions_record.csv | 8 +++---
utilities/repostatus.py | 29 +++++--------------
website/combined_report.html | 48 +++++++++++++++----------------
3 files changed, 35 insertions(+), 50 deletions(-)
diff --git a/doc/code_contributions_record.csv b/doc/code_contributions_record.csv
index c4c4160..e3c8e10 100644
--- a/doc/code_contributions_record.csv
+++ b/doc/code_contributions_record.csv
@@ -4,14 +4,14 @@ IVIM,Fitting,segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollecti
Tri-exponential,Fitting,LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_least_squares_tri_exp/fit_least_squares_array_tri_exp,,tbd,,no
Tri-exponential,Fitting,Segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_segmented_tri_exp/fit_segmented_array_tri_exp,https://doi.org/10.3389/fphys.2022.942495,tbd,,OGC_AmsterdamUMC_biexp_segmented
IVIM,Fitting,Bayesian,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion/Sebastiano Barbieri,Amsterdam UMC,fit_bayesian_array,https://doi.org/10.1002/mrm.28852,tbd,,OGC_AmsterdamUMC_Bayesian_biexp
-IVIM,Fitting,two-step segmented fit approach,also includes ADC calculation as a separate function,PvH_KB_NKI,TF2.4_IVIM-MRI_CodeCollection/src/original/PvH_KB_NKI/,Petra van Houdt/Stefan Zijlema/Koen Baas,the Netherlands Cancer Institute,DWI_functions_standalone.py,https://doi.org/10.3389/fonc.2021.705964,tbd,,PvH_KB_NKI_IVIMfit.py
+IVIM,Fitting,two-step segmented fit approach,also includes ADC calculation as a separate function,PvH_KB_NKI,TF2.4_IVIM-MRI_CodeCollection/src/original/PvH_KB_NKI/,Petra van Houdt/Stefan Zijlema/Koen Baas,the Netherlands Cancer Institute,DWI_functions_standalone.py,https://doi.org/10.3389/fonc.2021.705964,tbd,,PvH_KB_NKI_IVIMfit
IVIM,Fitting,two-step (segmented) LSQ fitting, cut-off chosen for brain data; option to fit IVIM with inversion recovery or without IR,PV_MUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/PV_MUMC/,Paulien Voorter,Maastricht University Medical Center,two_step_IVIM_fit.py,,tbd,,PV_MUMC_biexp
IVIM,Fitting,bi-exponential NLLS,Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_biexp.py,Ivan A. Rashid,Lund University,IvimModelBiexp,tba,tbd,,IAR_LU_biexp
-IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D before a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_2step.py,Ivan A. Rashid,Lund University,IvimModelSegmented2Step,tba,tbd,,IAR_LU_segmented_2step.py
-IVIM,Fitting,3-step segmented NLLS,First estimates and fixes D followed by an estimate of D* followed by a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_3step.py,Ivan A. Rashid,Lund University,IvimModelSegmented3Step,tba,tbd,,IAR_LU_segmented_3step.py
+IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D before a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_2step.py,Ivan A. Rashid,Lund University,IvimModelSegmented2Step,tba,tbd,,IAR_LU_segmented_2step
+IVIM,Fitting,3-step segmented NLLS,First estimates and fixes D followed by an estimate of D* followed by a bi-exponential NLLS fit. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_segmented_3step.py,Ivan A. Rashid,Lund University,IvimModelSegmented3Step,tba,tbd,,IAR_LU_segmented_3step
IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D. Subtracts the diffusion signal and estimated D*. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_subtracted.py,Ivan A. Rashid,Lund University,IvimModelSubtracted,tba,tbd,,IAR_LU_subtracted
IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_mix.py,Farooq et al. Modified by Ivan A. Rashid,Lund University,IvimModelVP,https://doi.org/10.1038/srep38927,tbd,,IAR_LU_modified_mix
-IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_topopro.py,Fadnavis et al. Modified by Ivan A. Rashid,Lund University,IvimModelTopoPro,https://doi.org/10.3389/fnins.2021.779025,tbd,,IAR_LundUniversity_topopro
+IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_topopro.py,Fadnavis et al. Modified by Ivan A. Rashid,Lund University,IvimModelTopoPro,https://doi.org/10.3389/fnins.2021.779025,tbd,,IAR_LU_modified_topopro
IVIM,Fitting,Linear fit,Linear fit for D with extrapolation for f. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_linear.py,Modified by Ivan A. Rashid,Lund University,IvimModelLinear,tba,tbd,,no
IVIM,Fitting,sIVIM fit,NLLS of the simplified IVIM model (sIVIM). Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_sivim.py,Modified by Ivan A. Rashid,Lund University,IvimModelsIVIM,tba,tbd,,no
IVIM,Fitting,Segmented NLLS fitting,MATLAB code,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,IVIM_seg,https://doi.org/10.1007/s10334-018-0697-5,tbd,,OJ_GU_seg
diff --git a/utilities/repostatus.py b/utilities/repostatus.py
index 294f81d..659f0d9 100644
--- a/utilities/repostatus.py
+++ b/utilities/repostatus.py
@@ -3,10 +3,10 @@
import json
# directory of the current script
-script_dir = os.path.dirname(os.path.abspath(__file__))
+SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
# path to the repository
-REPO_DIR = os.path.dirname(script_dir)
+REPO_DIR = os.path.dirname(SCRIPT_DIR)
CODE_CONTRIBUTIONS_FILE = os.path.join(REPO_DIR, "doc", "code_contributions_record.csv")
ALGORITHMS_FILE = os.path.join(REPO_DIR, "tests", "IVIMmodels", "unit_tests", "algorithms.json")
@@ -31,33 +31,18 @@
if not os.path.exists(subfolder_path):
print(f"Warning: Subfolder '{subfolder}' does not exist in the source folder.")
-# Add column 'Tested' to the DataFrame if it starts with that of subfolder
-df['Tested'] = df.apply(lambda row: 'Yes' if any(algorithm.startswith(row['subfolder'].split('_')[0]) for algorithm in all_algorithms) else 'No', axis=1)
-
-# Parse files in the WRAPPED_FOLDER
-wrapped_algorithms = []
-for root, dirs, files in os.walk(WRAPPED_FOLDER):
- for file in files:
- if file.endswith('.py'):
- file_path = os.path.join(root, file)
- with open(file_path, 'r') as f:
- content = f.read()
- for algorithm in all_algorithms:
- if algorithm in content:
- wrapped_algorithms.append(algorithm)
-
-# Add a column 'Wrapped' to the DataFrame
-df['Wrapped'] = df.apply(lambda row: 'Yes' if any(algorithm.startswith(row['subfolder'].split('_')[0]) for algorithm in wrapped_algorithms) else 'No', axis=1)
+# Add column 'Tested' to the DataFrame based on a match with algorithms and wrapped column
+df['Tested'] = df.apply(lambda row: 'Yes' if any(algorithm in row['wrapped'] for algorithm in all_algorithms) else 'No', axis=1)
# Select the desired columns
-df_selected = df[['Technique', 'subfolder', 'Authors', 'Tested', 'Wrapped']]
-df_selected.columns = ['Technique', 'Subfolder', 'Contributors', 'Tested', 'Wrapped']
+df_selected = df[['Technique', 'subfolder', 'Authors', 'Tested', 'wrapped']]
+df_selected.columns = ['Technique', 'Subfolder', 'Contributors', 'Tested', 'wrapped']
# Convert the DataFrame to HTML
html_string = df_selected.to_html(index=False)
# Save the HTML to a file
-with open(os.path.join(REPO_DIR, 'combined_report.html'), 'w') as f:
+with open(os.path.join(REPO_DIR, 'website','combined_report.html'), 'w') as f:
f.write(html_string)
# Printing message that report has been successfully generated
diff --git a/website/combined_report.html b/website/combined_report.html
index ca9608c..f085bcb 100644
--- a/website/combined_report.html
+++ b/website/combined_report.html
@@ -5,7 +5,7 @@
Subfolder |
Contributors |
Tested |
- Wrapped |
+ wrapped |
@@ -13,134 +13,134 @@
IVIM |
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
- Yes |
- Yes |
+ No |
+ no |
IVIM |
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
Yes |
- Yes |
+ OGC_AmsterdamUMC_biexp |
Tri-exponential |
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
- Yes |
- Yes |
+ No |
+ no |
Tri-exponential |
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
Yes |
- Yes |
+ OGC_AmsterdamUMC_biexp_segmented |
IVIM |
OGC_AmsterdamUMC |
Oliver Gurney-Champion/Sebastiano Barbieri |
Yes |
- Yes |
+ OGC_AmsterdamUMC_Bayesian_biexp |
IVIM |
PvH_KB_NKI |
Petra van Houdt/Stefan Zijlema/Koen Baas |
Yes |
- Yes |
+ PvH_KB_NKI_IVIMfit |
IVIM |
PV_MUMC |
Paulien Voorter |
Yes |
- Yes |
+ PV_MUMC_biexp |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
Yes |
- Yes |
+ IAR_LU_biexp |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
Yes |
- Yes |
+ IAR_LU_segmented_2step |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
Yes |
- Yes |
+ IAR_LU_segmented_3step |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
Yes |
- Yes |
+ IAR_LU_subtracted |
IVIM |
IAR_LundUniversity |
Farooq et al. Modified by Ivan A. Rashid |
Yes |
- Yes |
+ IAR_LU_modified_mix |
IVIM |
IAR_LundUniversity |
Fadnavis et al. Modified by Ivan A. Rashid |
Yes |
- Yes |
+ IAR_LU_modified_topopro |
IVIM |
IAR_LundUniversity |
Modified by Ivan A. Rashid |
- Yes |
- Yes |
+ No |
+ no |
IVIM |
IAR_LundUniversity |
Modified by Ivan A. Rashid |
- Yes |
- Yes |
+ No |
+ no |
IVIM |
OJ_GU |
Oscar Jalnefjord |
No |
- No |
+ OJ_GU_seg |
IVIM |
OJ_GU |
Oscar Jalnefjord |
No |
- No |
+ no |
IVIM |
OJ_GU |
Oscar Jalnefjord |
No |
- No |
+ no |
IVIM |
ETP_SRI |
Eric Peterson |
Yes |
- Yes |
+ ETP_SRI_LinearFitting |
\ No newline at end of file
From 992147d90e82f22ab29fc7dc4245e091fb364f61 Mon Sep 17 00:00:00 2001
From: abhicodes369 <119055274+abhicodes369@users.noreply.github.com>
Date: Thu, 11 Apr 2024 13:23:45 +0530
Subject: [PATCH 09/11] Refactor column names in repostatus.py and
combined_report.html
---
doc/code_contributions_record.csv | 14 ++++-----
utilities/repostatus.py | 7 +++--
website/combined_report.html | 52 +++++++++++++++----------------
3 files changed, 37 insertions(+), 36 deletions(-)
diff --git a/doc/code_contributions_record.csv b/doc/code_contributions_record.csv
index e3c8e10..54a5675 100644
--- a/doc/code_contributions_record.csv
+++ b/doc/code_contributions_record.csv
@@ -1,7 +1,7 @@
-Technique,Category,Subcategory,notes,subfolder,Link to source code,Authors,Institution,function/module,DOI,Tester,test status,wrapped
-IVIM,Fitting,LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_least_squares/fit_least_squares_array,,tbd,,no
+Technique,Category,Subcategory,notes,subfolder,Link to source code,Authors,Institution,function/module,DOI,Tester,test status,Wrapped
+IVIM,Fitting,LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_least_squares/fit_least_squares_array,,tbd,,
IVIM,Fitting,segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_segmented/fit_segmented_array,,tbd,,OGC_AmsterdamUMC_biexp
-Tri-exponential,Fitting,LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_least_squares_tri_exp/fit_least_squares_array_tri_exp,,tbd,,no
+Tri-exponential,Fitting,LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_least_squares_tri_exp/fit_least_squares_array_tri_exp,,tbd,,
Tri-exponential,Fitting,Segmented LSQ fitting,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion,Amsterdam UMC,fit_segmented_tri_exp/fit_segmented_array_tri_exp,https://doi.org/10.3389/fphys.2022.942495,tbd,,OGC_AmsterdamUMC_biexp_segmented
IVIM,Fitting,Bayesian,,OGC_AmsterdamUMC,TF2.4_IVIM-MRI_CodeCollection/src/original/OGC_AmsterdamUMC/,Oliver Gurney-Champion/Sebastiano Barbieri,Amsterdam UMC,fit_bayesian_array,https://doi.org/10.1002/mrm.28852,tbd,,OGC_AmsterdamUMC_Bayesian_biexp
IVIM,Fitting,two-step segmented fit approach,also includes ADC calculation as a separate function,PvH_KB_NKI,TF2.4_IVIM-MRI_CodeCollection/src/original/PvH_KB_NKI/,Petra van Houdt/Stefan Zijlema/Koen Baas,the Netherlands Cancer Institute,DWI_functions_standalone.py,https://doi.org/10.3389/fonc.2021.705964,tbd,,PvH_KB_NKI_IVIMfit
@@ -12,9 +12,9 @@ IVIM,Fitting,3-step segmented NLLS,First estimates and fixes D followed by an es
IVIM,Fitting,2-step segmented NLLS,First estimates and fixes D. Subtracts the diffusion signal and estimated D*. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_subtracted.py,Ivan A. Rashid,Lund University,IvimModelSubtracted,tba,tbd,,IAR_LU_subtracted
IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_mix.py,Farooq et al. Modified by Ivan A. Rashid,Lund University,IvimModelVP,https://doi.org/10.1038/srep38927,tbd,,IAR_LU_modified_mix
IVIM,Fitting,Variable projection,See referenced article. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_topopro.py,Fadnavis et al. Modified by Ivan A. Rashid,Lund University,IvimModelTopoPro,https://doi.org/10.3389/fnins.2021.779025,tbd,,IAR_LU_modified_topopro
-IVIM,Fitting,Linear fit,Linear fit for D with extrapolation for f. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_linear.py,Modified by Ivan A. Rashid,Lund University,IvimModelLinear,tba,tbd,,no
-IVIM,Fitting,sIVIM fit,NLLS of the simplified IVIM model (sIVIM). Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_sivim.py,Modified by Ivan A. Rashid,Lund University,IvimModelsIVIM,tba,tbd,,no
+IVIM,Fitting,Linear fit,Linear fit for D with extrapolation for f. Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_linear.py,Modified by Ivan A. Rashid,Lund University,IvimModelLinear,tba,tbd,,
+IVIM,Fitting,sIVIM fit,NLLS of the simplified IVIM model (sIVIM). Supports units in mm2/s and µm2/ms,IAR_LundUniversity,TF2.4_IVIM-MRI_CodeCollection/src/original/IAR_LundUniversity/ivim_fit_method_modified_sivim.py,Modified by Ivan A. Rashid,Lund University,IvimModelsIVIM,tba,tbd,,
IVIM,Fitting,Segmented NLLS fitting,MATLAB code,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,IVIM_seg,https://doi.org/10.1007/s10334-018-0697-5,tbd,,OJ_GU_seg
-IVIM,Fitting,Bayesian,MATLAB code,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,IVIM_bayes,https://doi.org/10.1002/mrm.26783,tbd,,no
-IVIM,Fitting,Segmented NLLS fitting,Specifically tailored algorithm for NLLS segmented fitting,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,seg,https://doi.org/10.1007/s10334-018-0697-5,tbd,,no
+IVIM,Fitting,Bayesian,MATLAB code,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,IVIM_bayes,https://doi.org/10.1002/mrm.26783,tbd,,
+IVIM,Fitting,Segmented NLLS fitting,Specifically tailored algorithm for NLLS segmented fitting,OJ_GU,TF2.4_IVIM-MRI_CodeCollection/src/original/OJ_GU/,Oscar Jalnefjord,University of Gothenburg,seg,https://doi.org/10.1007/s10334-018-0697-5,tbd,,
IVIM,Fitting,Linear fit,Linear fit for D and D* and f. Intended to be extremely fast but not always accurate,ETP_SRI,TF2.4_IVIM-MRI_CodeCollection/src/original/ETP_SRI/LinearFitting.py,Eric Peterson,SRI International,,,tbd,,ETP_SRI_LinearFitting
\ No newline at end of file
diff --git a/utilities/repostatus.py b/utilities/repostatus.py
index 659f0d9..2330167 100644
--- a/utilities/repostatus.py
+++ b/utilities/repostatus.py
@@ -32,11 +32,12 @@
print(f"Warning: Subfolder '{subfolder}' does not exist in the source folder.")
# Add column 'Tested' to the DataFrame based on a match with algorithms and wrapped column
-df['Tested'] = df.apply(lambda row: 'Yes' if any(algorithm in row['wrapped'] for algorithm in all_algorithms) else 'No', axis=1)
+df['Wrapped'] = df['Wrapped'].fillna('')
+df['Tested'] = df.apply(lambda row: 'Yes' if any(algorithm in row['Wrapped'] for algorithm in all_algorithms) else '', axis=1)
# Select the desired columns
-df_selected = df[['Technique', 'subfolder', 'Authors', 'Tested', 'wrapped']]
-df_selected.columns = ['Technique', 'Subfolder', 'Contributors', 'Tested', 'wrapped']
+df_selected = df[['Technique', 'subfolder', 'Authors', 'Wrapped', 'Tested']]
+df_selected.columns = ['Technique', 'Subfolder', 'Contributors', 'Wrapped', 'Tested']
# Convert the DataFrame to HTML
html_string = df_selected.to_html(index=False)
diff --git a/website/combined_report.html b/website/combined_report.html
index f085bcb..d7e7548 100644
--- a/website/combined_report.html
+++ b/website/combined_report.html
@@ -4,8 +4,8 @@
Technique |
Subfolder |
Contributors |
+ Wrapped |
Tested |
- wrapped |
@@ -13,134 +13,134 @@
IVIM |
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
- No |
- no |
+ |
+ |
IVIM |
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
- Yes |
OGC_AmsterdamUMC_biexp |
+ Yes |
Tri-exponential |
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
- No |
- no |
+ |
+ |
Tri-exponential |
OGC_AmsterdamUMC |
Oliver Gurney-Champion |
- Yes |
OGC_AmsterdamUMC_biexp_segmented |
+ Yes |
IVIM |
OGC_AmsterdamUMC |
Oliver Gurney-Champion/Sebastiano Barbieri |
- Yes |
OGC_AmsterdamUMC_Bayesian_biexp |
+ Yes |
IVIM |
PvH_KB_NKI |
Petra van Houdt/Stefan Zijlema/Koen Baas |
- Yes |
PvH_KB_NKI_IVIMfit |
+ Yes |
IVIM |
PV_MUMC |
Paulien Voorter |
- Yes |
PV_MUMC_biexp |
+ Yes |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
- Yes |
IAR_LU_biexp |
+ Yes |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
- Yes |
IAR_LU_segmented_2step |
+ Yes |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
- Yes |
IAR_LU_segmented_3step |
+ Yes |
IVIM |
IAR_LundUniversity |
Ivan A. Rashid |
- Yes |
IAR_LU_subtracted |
+ Yes |
IVIM |
IAR_LundUniversity |
Farooq et al. Modified by Ivan A. Rashid |
- Yes |
IAR_LU_modified_mix |
+ Yes |
IVIM |
IAR_LundUniversity |
Fadnavis et al. Modified by Ivan A. Rashid |
- Yes |
IAR_LU_modified_topopro |
+ Yes |
IVIM |
IAR_LundUniversity |
Modified by Ivan A. Rashid |
- No |
- no |
+ |
+ |
IVIM |
IAR_LundUniversity |
Modified by Ivan A. Rashid |
- No |
- no |
+ |
+ |
IVIM |
OJ_GU |
Oscar Jalnefjord |
- No |
OJ_GU_seg |
+ |
IVIM |
OJ_GU |
Oscar Jalnefjord |
- No |
- no |
+ |
+ |
IVIM |
OJ_GU |
Oscar Jalnefjord |
- No |
- no |
+ |
+ |
IVIM |
ETP_SRI |
Eric Peterson |
- Yes |
ETP_SRI_LinearFitting |
+ Yes |
\ No newline at end of file
From 6ab39b5b94cb55b9325462f0cb3fcd1c2372e9d7 Mon Sep 17 00:00:00 2001
From: abhicodes369 <119055274+abhicodes369@users.noreply.github.com>
Date: Tue, 16 Apr 2024 10:53:30 +0530
Subject: [PATCH 10/11] Add zenodo-get, sphinx, and sphinx_rtd_theme to
requirements.txt
---
requirements.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/requirements.txt b/requirements.txt
index 9a76d4f..4da7b9e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,6 +8,9 @@ dipy
matplotlib
scienceplots
cvxpy
+zenodo-get
pytest
tqdm
+sphinx
+sphinx_rtd_theme
pandas
\ No newline at end of file
From 4a148b844a75337fdf98fc255ebbc69cb0473549 Mon Sep 17 00:00:00 2001
From: abhicodes369 <119055274+abhicodes369@users.noreply.github.com>
Date: Tue, 16 Apr 2024 23:45:06 +0530
Subject: [PATCH 11/11] wrap the html into a function
---
utilities/repostatus.py | 68 +++++++++++++++++++++++++----------------
1 file changed, 42 insertions(+), 26 deletions(-)
diff --git a/utilities/repostatus.py b/utilities/repostatus.py
index 2330167..9ced72f 100644
--- a/utilities/repostatus.py
+++ b/utilities/repostatus.py
@@ -13,38 +13,54 @@
SOURCE_FOLDER = os.path.join(REPO_DIR, "src", "original")
WRAPPED_FOLDER = os.path.join(REPO_DIR, "src", "standardized")
-# Read the CSV file
-df = pd.read_csv(CODE_CONTRIBUTIONS_FILE)
+def generate_html():
+ """
+ Generates an HTML report based on the code contributions and algorithm information.
-unique_subfolders = df['subfolder'].unique().tolist()
+ The report includes the following columns:
+ - Technique
+ - Subfolder
+ - Contributors
+ - Wrapped
+ - Tested
-# Read the JSON file
-with open(ALGORITHMS_FILE, 'r') as f:
- algorithms_data = json.load(f)
+ The report is saved as 'combined_report.html' in the 'website' directory of the repository.
+ """
+ # Read the CSV file
+ df = pd.read_csv(CODE_CONTRIBUTIONS_FILE)
-# list of all algorithms from the JSON file
-all_algorithms = algorithms_data['algorithms']
+ unique_subfolders = df['subfolder'].unique().tolist()
-# Check if both code_contributions_file matches with source folder
-for subfolder in unique_subfolders:
- subfolder_path = os.path.join(SOURCE_FOLDER, subfolder)
- if not os.path.exists(subfolder_path):
- print(f"Warning: Subfolder '{subfolder}' does not exist in the source folder.")
+ # Read the JSON file
+ with open(ALGORITHMS_FILE, 'r') as f:
+ algorithms_data = json.load(f)
-# Add column 'Tested' to the DataFrame based on a match with algorithms and wrapped column
-df['Wrapped'] = df['Wrapped'].fillna('')
-df['Tested'] = df.apply(lambda row: 'Yes' if any(algorithm in row['Wrapped'] for algorithm in all_algorithms) else '', axis=1)
+ # list of all algorithms from the JSON file
+ all_algorithms = algorithms_data['algorithms']
-# Select the desired columns
-df_selected = df[['Technique', 'subfolder', 'Authors', 'Wrapped', 'Tested']]
-df_selected.columns = ['Technique', 'Subfolder', 'Contributors', 'Wrapped', 'Tested']
+ # Check if both code_contributions_file matches with source folder
+ for subfolder in unique_subfolders:
+ subfolder_path = os.path.join(SOURCE_FOLDER, subfolder)
+ if not os.path.exists(subfolder_path):
+ print(f"Warning: Subfolder '{subfolder}' does not exist in the source folder.")
-# Convert the DataFrame to HTML
-html_string = df_selected.to_html(index=False)
+ # Add column 'Tested' to the DataFrame based on a match with algorithms and wrapped column
+ df['Wrapped'] = df['Wrapped'].fillna('')
+ df['Tested'] = df.apply(lambda row: 'Yes' if any(algorithm in row['Wrapped'] for algorithm in all_algorithms) else '', axis=1)
-# Save the HTML to a file
-with open(os.path.join(REPO_DIR, 'website','combined_report.html'), 'w') as f:
- f.write(html_string)
+ # Select the desired columns
+ df_selected = df[['Technique', 'subfolder', 'Authors', 'Wrapped', 'Tested']]
+ df_selected.columns = ['Technique', 'Subfolder', 'Contributors', 'Wrapped', 'Tested']
-# Printing message that report has been successfully generated
-print("Combined HTML report generated successfully.")
\ No newline at end of file
+ # Convert the DataFrame to HTML
+ html_string = df_selected.to_html(index=False)
+
+ # Save the HTML to a file
+ with open(os.path.join(REPO_DIR, 'website', 'combined_report.html'), 'w') as f:
+ f.write(html_string)
+
+ # Printing message that report has been successfully generated
+ print("Combined HTML report generated successfully.")
+
+if __name__ == "__main__":
+ generate_html()
\ No newline at end of file