From e3d08bda4ebbca231245c58dbef94075711a545c Mon Sep 17 00:00:00 2001 From: kristoferm94 Date: Wed, 20 Apr 2022 19:11:40 +0000 Subject: [PATCH 1/6] np.dot(X.T, T) is Hermitian --- .pre-commit-config.yaml | 2 +- nipype/algorithms/icc.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d5c5a4a51a..4cc49084bb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,6 +9,6 @@ repos: - id: check-yaml - id: check-added-large-files - repo: https://github.com/psf/black - rev: 20.8b1 + rev: 22.3.0 hooks: - id: black diff --git a/nipype/algorithms/icc.py b/nipype/algorithms/icc.py index 42cad2a80c..045268bcda 100644 --- a/nipype/algorithms/icc.py +++ b/nipype/algorithms/icc.py @@ -114,7 +114,9 @@ def ICC_rep_anova(Y): X = hstack([x, x0]) # Sum Square Error - predicted_Y = dot(dot(dot(X, pinv(dot(X.T, X))), X.T), Y.flatten("F")) + predicted_Y = dot( + dot(dot(X, pinv(dot(X.T, X), hermitian=True)), X.T), Y.flatten("F") + ) residuals = Y.flatten("F") - predicted_Y SSE = (residuals**2).sum() From 9f2fd97797ff28abcb235fa219bdb6b9d285ee71 Mon Sep 17 00:00:00 2001 From: kristoferm94 Date: Wed, 20 Apr 2022 19:16:59 +0000 Subject: [PATCH 2/6] Reordering matmul operations --- nipype/algorithms/icc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nipype/algorithms/icc.py b/nipype/algorithms/icc.py index 045268bcda..7910e55ac4 100644 --- a/nipype/algorithms/icc.py +++ b/nipype/algorithms/icc.py @@ -115,7 +115,7 @@ def ICC_rep_anova(Y): # Sum Square Error predicted_Y = dot( - dot(dot(X, pinv(dot(X.T, X), hermitian=True)), X.T), Y.flatten("F") + X, dot(pinv(dot(X.T, X), hermitian=True), dot(X.T, Y.flatten("F"))) ) residuals = Y.flatten("F") - predicted_Y SSE = (residuals**2).sum() From 49b7ed54eed95f0c3b3aa0165dc53cf36f55da9b Mon Sep 17 00:00:00 2001 From: kristoferm94 Date: Thu, 21 Apr 2022 02:27:10 +0000 Subject: [PATCH 3/6] Using @ operator instead of np.dot --- nipype/algorithms/icc.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nipype/algorithms/icc.py b/nipype/algorithms/icc.py index 7910e55ac4..fb7cb4f143 100644 --- a/nipype/algorithms/icc.py +++ b/nipype/algorithms/icc.py @@ -114,9 +114,7 @@ def ICC_rep_anova(Y): X = hstack([x, x0]) # Sum Square Error - predicted_Y = dot( - X, dot(pinv(dot(X.T, X), hermitian=True), dot(X.T, Y.flatten("F"))) - ) + predicted_Y = X @ (pinv(X.T @ X, hermitian=True) @ (X.T @ Y.flatten("F"))) residuals = Y.flatten("F") - predicted_Y SSE = (residuals**2).sum() From 883a84a48a3c940cc19e8ee5b9666f3dfebcb2a0 Mon Sep 17 00:00:00 2001 From: kristoferm94 Date: Thu, 21 Apr 2022 16:19:59 +0000 Subject: [PATCH 4/6] revert --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4cc49084bb..d5c5a4a51a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,6 +9,6 @@ repos: - id: check-yaml - id: check-added-large-files - repo: https://github.com/psf/black - rev: 22.3.0 + rev: 20.8b1 hooks: - id: black From 2aaa8a508d2217ab6b90b427ec541c31d81a1cf7 Mon Sep 17 00:00:00 2001 From: kristoferm94 Date: Thu, 21 Apr 2022 19:21:04 +0000 Subject: [PATCH 5/6] removing unneccesary import --- .pre-commit-config.yaml | 2 +- nipype/algorithms/icc.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d5c5a4a51a..4cc49084bb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,6 +9,6 @@ repos: - id: check-yaml - id: check-added-large-files - repo: https://github.com/psf/black - rev: 20.8b1 + rev: 22.3.0 hooks: - id: black diff --git a/nipype/algorithms/icc.py b/nipype/algorithms/icc.py index fb7cb4f143..06161a6fe6 100644 --- a/nipype/algorithms/icc.py +++ b/nipype/algorithms/icc.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import os import numpy as np -from numpy import ones, kron, mean, eye, hstack, dot, tile +from numpy import ones, kron, mean, eye, hstack, tile from numpy.linalg import pinv import nibabel as nb from ..interfaces.base import ( From 9cb58c3ed446ab0002bd6a790f213fbec852f274 Mon Sep 17 00:00:00 2001 From: kristoferm94 Date: Thu, 21 Apr 2022 19:22:36 +0000 Subject: [PATCH 6/6] Update .pre-commit-config.yaml --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4cc49084bb..d5c5a4a51a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,6 +9,6 @@ repos: - id: check-yaml - id: check-added-large-files - repo: https://github.com/psf/black - rev: 22.3.0 + rev: 20.8b1 hooks: - id: black