Skip to content

refactor bounding box - #617

Merged
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform
Jul 12, 2024
Merged

refactor bounding box#617
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform

Conversation

@giovp

@giovpgiovp commented Jul 5, 2024

Copy link
Copy Markdown
Member

I would need this refactor in order to move on with the data loader performance PR. @LucaMarconato what this PR basically does is unifying the building request code for DataArray|DataTree with the already existing _get_bounding_box_corners_in_intrinsic_coordinates for DaskDataFrame|GeoPandasDataFrame. I think this is correct, as in the tests for spatial_query pass, but I am not sure that the logic is correct.

I had to disable the tests for the dataloaders but they will be worked out in a separate PR. This PR is ready to review, but I would not merge it for now, and wait for finishing the dataloader improvement work.

@codecov

codecovBot commented Jul 5, 2024

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 86.66667% with 4 lines in your changes missing coverage. Please review.

Project coverage is 90.04%. Comparing base (c3ad40c) to head (7627f9f).
Report is 47 commits behind head on main.

Files with missing linesPatch %Lines
src/spatialdata/_core/query/spatial_query.py89.28%3 Missing ⚠️
src/spatialdata/dataloader/datasets.py50.00%1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #617 +/- ##
==========================================
- Coverage 91.93% 90.04% -1.90% 
==========================================
Files 44 44 Lines 6659 6670 +11 ==========================================
- Hits 6122 6006 -116 - Misses 537 664 +127 
Files with missing linesCoverage Δ
src/spatialdata/dataloader/datasets.py33.65% <50.00%> (-57.03%)⬇️
src/spatialdata/_core/query/spatial_query.py94.64% <89.28%> (-0.53%)⬇️

... and 7 files with indirect coverage changes

Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(deleted)

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR! It simplifies the code and will make the torch dataset class more performant!

I added a few comments of changes I would make. They are all minor except for one that may require more care (the one where axes and output_axes_without_c are swapped). I can also have a deeper look at that case if you want.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Hi @LucaMarconato , thank you for the review, I've addressed all comments, except this one

one that may require more care (the one where axes and output_axes_without_c are swapped)

If I don't swap the axes, there is one test that fails (see review comment). I think it might be solvable by changing the input/output axes ofspatial_transform_bb_axes but I am not sure the best solution there. The fact that it's also only that test for spatialdata, and not the e.g. test_query_points also makes it a bit suspicious. Would really appreciate your help!

@giovpgiovp mentioned this pull request Jul 8, 2024
@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

one more question, is return_request_only a good argument name? and should it be in all cases or only raster? I would argue only raster because I don't see how much value it has for the shapes/points element case. In fact, the only use case so far is for the dataloader.

@LucaMarconato

Copy link
Copy Markdown
Member

Thanks for addressing the comments. I think the name is good and I agree in having it only for the raster case. If it will be needed later on we can always add it for the other elements.

I will examine more the last open issue, after we resolve the conversation on that we are good to merge.

@LucaMarconato

Copy link
Copy Markdown
Member

@giovp I checked the code and the issue was a bug in the function _adjust_bounding_box_to_real_axes(), which was not adjust the bounding box to the real axes in the case in which the bounding box axes and the real axes were a permutation of each other. I have addressed that and now the swap between the two variables for non-raster types is removed.

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

🙏 🙏

@LucaMarconato

LucaMarconato commented Jul 12, 2024

Copy link
Copy Markdown
Member

I have finished adding tests, good to merge (thanks for addressing the other review comments)! 😊

@LucaMarconato
LucaMarconato merged commit 122cb09 into mainJul 12, 2024
@LucaMarconato
LucaMarconato deleted the giovp/refactor_transform branch July 12, 2024 17:47
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@giovp@LucaMarconato
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
refactor bounding box by giovp · Pull Request #617 · scverse/spatialdata · GitHub
Skip to content

refactor bounding box - #617

Merged
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform
Jul 12, 2024
Merged

refactor bounding box#617
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform

Conversation

@giovp

@giovpgiovp commented Jul 5, 2024

Copy link
Copy Markdown
Member

I would need this refactor in order to move on with the data loader performance PR. @LucaMarconato what this PR basically does is unifying the building request code for DataArray|DataTree with the already existing _get_bounding_box_corners_in_intrinsic_coordinates for DaskDataFrame|GeoPandasDataFrame. I think this is correct, as in the tests for spatial_query pass, but I am not sure that the logic is correct.

I had to disable the tests for the dataloaders but they will be worked out in a separate PR. This PR is ready to review, but I would not merge it for now, and wait for finishing the dataloader improvement work.

@codecov

codecovBot commented Jul 5, 2024

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 86.66667% with 4 lines in your changes missing coverage. Please review.

Project coverage is 90.04%. Comparing base (c3ad40c) to head (7627f9f).
Report is 47 commits behind head on main.

Files with missing linesPatch %Lines
src/spatialdata/_core/query/spatial_query.py89.28%3 Missing ⚠️
src/spatialdata/dataloader/datasets.py50.00%1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #617 +/- ##
==========================================
- Coverage 91.93% 90.04% -1.90% 
==========================================
Files 44 44 Lines 6659 6670 +11 ==========================================
- Hits 6122 6006 -116 - Misses 537 664 +127 
Files with missing linesCoverage Δ
src/spatialdata/dataloader/datasets.py33.65% <50.00%> (-57.03%)⬇️
src/spatialdata/_core/query/spatial_query.py94.64% <89.28%> (-0.53%)⬇️

... and 7 files with indirect coverage changes

Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(deleted)

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR! It simplifies the code and will make the torch dataset class more performant!

I added a few comments of changes I would make. They are all minor except for one that may require more care (the one where axes and output_axes_without_c are swapped). I can also have a deeper look at that case if you want.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Hi @LucaMarconato , thank you for the review, I've addressed all comments, except this one

one that may require more care (the one where axes and output_axes_without_c are swapped)

If I don't swap the axes, there is one test that fails (see review comment). I think it might be solvable by changing the input/output axes ofspatial_transform_bb_axes but I am not sure the best solution there. The fact that it's also only that test for spatialdata, and not the e.g. test_query_points also makes it a bit suspicious. Would really appreciate your help!

@giovpgiovp mentioned this pull request Jul 8, 2024
@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

one more question, is return_request_only a good argument name? and should it be in all cases or only raster? I would argue only raster because I don't see how much value it has for the shapes/points element case. In fact, the only use case so far is for the dataloader.

@LucaMarconato

Copy link
Copy Markdown
Member

Thanks for addressing the comments. I think the name is good and I agree in having it only for the raster case. If it will be needed later on we can always add it for the other elements.

I will examine more the last open issue, after we resolve the conversation on that we are good to merge.

@LucaMarconato

Copy link
Copy Markdown
Member

@giovp I checked the code and the issue was a bug in the function _adjust_bounding_box_to_real_axes(), which was not adjust the bounding box to the real axes in the case in which the bounding box axes and the real axes were a permutation of each other. I have addressed that and now the swap between the two variables for non-raster types is removed.

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

🙏 🙏

@LucaMarconato

LucaMarconato commented Jul 12, 2024

Copy link
Copy Markdown
Member

I have finished adding tests, good to merge (thanks for addressing the other review comments)! 😊

@LucaMarconato
LucaMarconato merged commit 122cb09 into mainJul 12, 2024
@LucaMarconato
LucaMarconato deleted the giovp/refactor_transform branch July 12, 2024 17:47
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@giovp@LucaMarconato
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' refactor bounding box by giovp · Pull Request #617 · scverse/spatialdata · GitHub
Skip to content

refactor bounding box - #617

Merged
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform
Jul 12, 2024
Merged

refactor bounding box#617
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform

Conversation

@giovp

@giovpgiovp commented Jul 5, 2024

Copy link
Copy Markdown
Member

I would need this refactor in order to move on with the data loader performance PR. @LucaMarconato what this PR basically does is unifying the building request code for DataArray|DataTree with the already existing _get_bounding_box_corners_in_intrinsic_coordinates for DaskDataFrame|GeoPandasDataFrame. I think this is correct, as in the tests for spatial_query pass, but I am not sure that the logic is correct.

I had to disable the tests for the dataloaders but they will be worked out in a separate PR. This PR is ready to review, but I would not merge it for now, and wait for finishing the dataloader improvement work.

@codecov

codecovBot commented Jul 5, 2024

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 86.66667% with 4 lines in your changes missing coverage. Please review.

Project coverage is 90.04%. Comparing base (c3ad40c) to head (7627f9f).
Report is 47 commits behind head on main.

Files with missing linesPatch %Lines
src/spatialdata/_core/query/spatial_query.py89.28%3 Missing ⚠️
src/spatialdata/dataloader/datasets.py50.00%1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #617 +/- ##
==========================================
- Coverage 91.93% 90.04% -1.90% 
==========================================
Files 44 44 Lines 6659 6670 +11 ==========================================
- Hits 6122 6006 -116 - Misses 537 664 +127 
Files with missing linesCoverage Δ
src/spatialdata/dataloader/datasets.py33.65% <50.00%> (-57.03%)⬇️
src/spatialdata/_core/query/spatial_query.py94.64% <89.28%> (-0.53%)⬇️

... and 7 files with indirect coverage changes

Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(deleted)

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR! It simplifies the code and will make the torch dataset class more performant!

I added a few comments of changes I would make. They are all minor except for one that may require more care (the one where axes and output_axes_without_c are swapped). I can also have a deeper look at that case if you want.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Hi @LucaMarconato , thank you for the review, I've addressed all comments, except this one

one that may require more care (the one where axes and output_axes_without_c are swapped)

If I don't swap the axes, there is one test that fails (see review comment). I think it might be solvable by changing the input/output axes ofspatial_transform_bb_axes but I am not sure the best solution there. The fact that it's also only that test for spatialdata, and not the e.g. test_query_points also makes it a bit suspicious. Would really appreciate your help!

@giovpgiovp mentioned this pull request Jul 8, 2024
@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

one more question, is return_request_only a good argument name? and should it be in all cases or only raster? I would argue only raster because I don't see how much value it has for the shapes/points element case. In fact, the only use case so far is for the dataloader.

@LucaMarconato

Copy link
Copy Markdown
Member

Thanks for addressing the comments. I think the name is good and I agree in having it only for the raster case. If it will be needed later on we can always add it for the other elements.

I will examine more the last open issue, after we resolve the conversation on that we are good to merge.

@LucaMarconato

Copy link
Copy Markdown
Member

@giovp I checked the code and the issue was a bug in the function _adjust_bounding_box_to_real_axes(), which was not adjust the bounding box to the real axes in the case in which the bounding box axes and the real axes were a permutation of each other. I have addressed that and now the swap between the two variables for non-raster types is removed.

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

🙏 🙏

@LucaMarconato

LucaMarconato commented Jul 12, 2024

Copy link
Copy Markdown
Member

I have finished adding tests, good to merge (thanks for addressing the other review comments)! 😊

@LucaMarconato
LucaMarconato merged commit 122cb09 into mainJul 12, 2024
@LucaMarconato
LucaMarconato deleted the giovp/refactor_transform branch July 12, 2024 17:47
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@giovp@LucaMarconato
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' refactor bounding box by giovp · Pull Request #617 · scverse/spatialdata · GitHub
Skip to content

refactor bounding box - #617

Merged
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform
Jul 12, 2024
Merged

refactor bounding box#617
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform

Conversation

@giovp

@giovpgiovp commented Jul 5, 2024

Copy link
Copy Markdown
Member

I would need this refactor in order to move on with the data loader performance PR. @LucaMarconato what this PR basically does is unifying the building request code for DataArray|DataTree with the already existing _get_bounding_box_corners_in_intrinsic_coordinates for DaskDataFrame|GeoPandasDataFrame. I think this is correct, as in the tests for spatial_query pass, but I am not sure that the logic is correct.

I had to disable the tests for the dataloaders but they will be worked out in a separate PR. This PR is ready to review, but I would not merge it for now, and wait for finishing the dataloader improvement work.

@codecov

codecovBot commented Jul 5, 2024

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 86.66667% with 4 lines in your changes missing coverage. Please review.

Project coverage is 90.04%. Comparing base (c3ad40c) to head (7627f9f).
Report is 47 commits behind head on main.

Files with missing linesPatch %Lines
src/spatialdata/_core/query/spatial_query.py89.28%3 Missing ⚠️
src/spatialdata/dataloader/datasets.py50.00%1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #617 +/- ##
==========================================
- Coverage 91.93% 90.04% -1.90% 
==========================================
Files 44 44 Lines 6659 6670 +11 ==========================================
- Hits 6122 6006 -116 - Misses 537 664 +127 
Files with missing linesCoverage Δ
src/spatialdata/dataloader/datasets.py33.65% <50.00%> (-57.03%)⬇️
src/spatialdata/_core/query/spatial_query.py94.64% <89.28%> (-0.53%)⬇️

... and 7 files with indirect coverage changes

Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(deleted)

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR! It simplifies the code and will make the torch dataset class more performant!

I added a few comments of changes I would make. They are all minor except for one that may require more care (the one where axes and output_axes_without_c are swapped). I can also have a deeper look at that case if you want.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Hi @LucaMarconato , thank you for the review, I've addressed all comments, except this one

one that may require more care (the one where axes and output_axes_without_c are swapped)

If I don't swap the axes, there is one test that fails (see review comment). I think it might be solvable by changing the input/output axes ofspatial_transform_bb_axes but I am not sure the best solution there. The fact that it's also only that test for spatialdata, and not the e.g. test_query_points also makes it a bit suspicious. Would really appreciate your help!

@giovpgiovp mentioned this pull request Jul 8, 2024
@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

one more question, is return_request_only a good argument name? and should it be in all cases or only raster? I would argue only raster because I don't see how much value it has for the shapes/points element case. In fact, the only use case so far is for the dataloader.

@LucaMarconato

Copy link
Copy Markdown
Member

Thanks for addressing the comments. I think the name is good and I agree in having it only for the raster case. If it will be needed later on we can always add it for the other elements.

I will examine more the last open issue, after we resolve the conversation on that we are good to merge.

@LucaMarconato

Copy link
Copy Markdown
Member

@giovp I checked the code and the issue was a bug in the function _adjust_bounding_box_to_real_axes(), which was not adjust the bounding box to the real axes in the case in which the bounding box axes and the real axes were a permutation of each other. I have addressed that and now the swap between the two variables for non-raster types is removed.

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

🙏 🙏

@LucaMarconato

LucaMarconato commented Jul 12, 2024

Copy link
Copy Markdown
Member

I have finished adding tests, good to merge (thanks for addressing the other review comments)! 😊

@LucaMarconato
LucaMarconato merged commit 122cb09 into mainJul 12, 2024
@LucaMarconato
LucaMarconato deleted the giovp/refactor_transform branch July 12, 2024 17:47
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@giovp@LucaMarconato
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' refactor bounding box by giovp · Pull Request #617 · scverse/spatialdata · GitHub
Skip to content

refactor bounding box - #617

Merged
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform
Jul 12, 2024
Merged

refactor bounding box#617
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform

Conversation

@giovp

@giovpgiovp commented Jul 5, 2024

Copy link
Copy Markdown
Member

I would need this refactor in order to move on with the data loader performance PR. @LucaMarconato what this PR basically does is unifying the building request code for DataArray|DataTree with the already existing _get_bounding_box_corners_in_intrinsic_coordinates for DaskDataFrame|GeoPandasDataFrame. I think this is correct, as in the tests for spatial_query pass, but I am not sure that the logic is correct.

I had to disable the tests for the dataloaders but they will be worked out in a separate PR. This PR is ready to review, but I would not merge it for now, and wait for finishing the dataloader improvement work.

@codecov

codecovBot commented Jul 5, 2024

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 86.66667% with 4 lines in your changes missing coverage. Please review.

Project coverage is 90.04%. Comparing base (c3ad40c) to head (7627f9f).
Report is 47 commits behind head on main.

Files with missing linesPatch %Lines
src/spatialdata/_core/query/spatial_query.py89.28%3 Missing ⚠️
src/spatialdata/dataloader/datasets.py50.00%1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #617 +/- ##
==========================================
- Coverage 91.93% 90.04% -1.90% 
==========================================
Files 44 44 Lines 6659 6670 +11 ==========================================
- Hits 6122 6006 -116 - Misses 537 664 +127 
Files with missing linesCoverage Δ
src/spatialdata/dataloader/datasets.py33.65% <50.00%> (-57.03%)⬇️
src/spatialdata/_core/query/spatial_query.py94.64% <89.28%> (-0.53%)⬇️

... and 7 files with indirect coverage changes

Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(deleted)

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR! It simplifies the code and will make the torch dataset class more performant!

I added a few comments of changes I would make. They are all minor except for one that may require more care (the one where axes and output_axes_without_c are swapped). I can also have a deeper look at that case if you want.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Hi @LucaMarconato , thank you for the review, I've addressed all comments, except this one

one that may require more care (the one where axes and output_axes_without_c are swapped)

If I don't swap the axes, there is one test that fails (see review comment). I think it might be solvable by changing the input/output axes ofspatial_transform_bb_axes but I am not sure the best solution there. The fact that it's also only that test for spatialdata, and not the e.g. test_query_points also makes it a bit suspicious. Would really appreciate your help!

@giovpgiovp mentioned this pull request Jul 8, 2024
@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

one more question, is return_request_only a good argument name? and should it be in all cases or only raster? I would argue only raster because I don't see how much value it has for the shapes/points element case. In fact, the only use case so far is for the dataloader.

@LucaMarconato

Copy link
Copy Markdown
Member

Thanks for addressing the comments. I think the name is good and I agree in having it only for the raster case. If it will be needed later on we can always add it for the other elements.

I will examine more the last open issue, after we resolve the conversation on that we are good to merge.

@LucaMarconato

Copy link
Copy Markdown
Member

@giovp I checked the code and the issue was a bug in the function _adjust_bounding_box_to_real_axes(), which was not adjust the bounding box to the real axes in the case in which the bounding box axes and the real axes were a permutation of each other. I have addressed that and now the swap between the two variables for non-raster types is removed.

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

🙏 🙏

@LucaMarconato

LucaMarconato commented Jul 12, 2024

Copy link
Copy Markdown
Member

I have finished adding tests, good to merge (thanks for addressing the other review comments)! 😊

@LucaMarconato
LucaMarconato merged commit 122cb09 into mainJul 12, 2024
@LucaMarconato
LucaMarconato deleted the giovp/refactor_transform branch July 12, 2024 17:47
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@giovp@LucaMarconato
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' refactor bounding box by giovp · Pull Request #617 · scverse/spatialdata · GitHub
Skip to content

refactor bounding box - #617

Merged
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform
Jul 12, 2024
Merged

refactor bounding box#617
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform

Conversation

@giovp

@giovpgiovp commented Jul 5, 2024

Copy link
Copy Markdown
Member

I would need this refactor in order to move on with the data loader performance PR. @LucaMarconato what this PR basically does is unifying the building request code for DataArray|DataTree with the already existing _get_bounding_box_corners_in_intrinsic_coordinates for DaskDataFrame|GeoPandasDataFrame. I think this is correct, as in the tests for spatial_query pass, but I am not sure that the logic is correct.

I had to disable the tests for the dataloaders but they will be worked out in a separate PR. This PR is ready to review, but I would not merge it for now, and wait for finishing the dataloader improvement work.

@codecov

codecovBot commented Jul 5, 2024

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 86.66667% with 4 lines in your changes missing coverage. Please review.

Project coverage is 90.04%. Comparing base (c3ad40c) to head (7627f9f).
Report is 47 commits behind head on main.

Files with missing linesPatch %Lines
src/spatialdata/_core/query/spatial_query.py89.28%3 Missing ⚠️
src/spatialdata/dataloader/datasets.py50.00%1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #617 +/- ##
==========================================
- Coverage 91.93% 90.04% -1.90% 
==========================================
Files 44 44 Lines 6659 6670 +11 ==========================================
- Hits 6122 6006 -116 - Misses 537 664 +127 
Files with missing linesCoverage Δ
src/spatialdata/dataloader/datasets.py33.65% <50.00%> (-57.03%)⬇️
src/spatialdata/_core/query/spatial_query.py94.64% <89.28%> (-0.53%)⬇️

... and 7 files with indirect coverage changes

Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(deleted)

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR! It simplifies the code and will make the torch dataset class more performant!

I added a few comments of changes I would make. They are all minor except for one that may require more care (the one where axes and output_axes_without_c are swapped). I can also have a deeper look at that case if you want.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Hi @LucaMarconato , thank you for the review, I've addressed all comments, except this one

one that may require more care (the one where axes and output_axes_without_c are swapped)

If I don't swap the axes, there is one test that fails (see review comment). I think it might be solvable by changing the input/output axes ofspatial_transform_bb_axes but I am not sure the best solution there. The fact that it's also only that test for spatialdata, and not the e.g. test_query_points also makes it a bit suspicious. Would really appreciate your help!

@giovpgiovp mentioned this pull request Jul 8, 2024
@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

one more question, is return_request_only a good argument name? and should it be in all cases or only raster? I would argue only raster because I don't see how much value it has for the shapes/points element case. In fact, the only use case so far is for the dataloader.

@LucaMarconato

Copy link
Copy Markdown
Member

Thanks for addressing the comments. I think the name is good and I agree in having it only for the raster case. If it will be needed later on we can always add it for the other elements.

I will examine more the last open issue, after we resolve the conversation on that we are good to merge.

@LucaMarconato

Copy link
Copy Markdown
Member

@giovp I checked the code and the issue was a bug in the function _adjust_bounding_box_to_real_axes(), which was not adjust the bounding box to the real axes in the case in which the bounding box axes and the real axes were a permutation of each other. I have addressed that and now the swap between the two variables for non-raster types is removed.

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

🙏 🙏

@LucaMarconato

LucaMarconato commented Jul 12, 2024

Copy link
Copy Markdown
Member

I have finished adding tests, good to merge (thanks for addressing the other review comments)! 😊

@LucaMarconato
LucaMarconato merged commit 122cb09 into mainJul 12, 2024
@LucaMarconato
LucaMarconato deleted the giovp/refactor_transform branch July 12, 2024 17:47
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@giovp@LucaMarconato
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' refactor bounding box by giovp · Pull Request #617 · scverse/spatialdata · GitHub
Skip to content

refactor bounding box - #617

Merged
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform
Jul 12, 2024
Merged

refactor bounding box#617
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform

Conversation

@giovp

@giovpgiovp commented Jul 5, 2024

Copy link
Copy Markdown
Member

I would need this refactor in order to move on with the data loader performance PR. @LucaMarconato what this PR basically does is unifying the building request code for DataArray|DataTree with the already existing _get_bounding_box_corners_in_intrinsic_coordinates for DaskDataFrame|GeoPandasDataFrame. I think this is correct, as in the tests for spatial_query pass, but I am not sure that the logic is correct.

I had to disable the tests for the dataloaders but they will be worked out in a separate PR. This PR is ready to review, but I would not merge it for now, and wait for finishing the dataloader improvement work.

@codecov

codecovBot commented Jul 5, 2024

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 86.66667% with 4 lines in your changes missing coverage. Please review.

Project coverage is 90.04%. Comparing base (c3ad40c) to head (7627f9f).
Report is 47 commits behind head on main.

Files with missing linesPatch %Lines
src/spatialdata/_core/query/spatial_query.py89.28%3 Missing ⚠️
src/spatialdata/dataloader/datasets.py50.00%1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #617 +/- ##
==========================================
- Coverage 91.93% 90.04% -1.90% 
==========================================
Files 44 44 Lines 6659 6670 +11 ==========================================
- Hits 6122 6006 -116 - Misses 537 664 +127 
Files with missing linesCoverage Δ
src/spatialdata/dataloader/datasets.py33.65% <50.00%> (-57.03%)⬇️
src/spatialdata/_core/query/spatial_query.py94.64% <89.28%> (-0.53%)⬇️

... and 7 files with indirect coverage changes

Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(deleted)

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR! It simplifies the code and will make the torch dataset class more performant!

I added a few comments of changes I would make. They are all minor except for one that may require more care (the one where axes and output_axes_without_c are swapped). I can also have a deeper look at that case if you want.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Hi @LucaMarconato , thank you for the review, I've addressed all comments, except this one

one that may require more care (the one where axes and output_axes_without_c are swapped)

If I don't swap the axes, there is one test that fails (see review comment). I think it might be solvable by changing the input/output axes ofspatial_transform_bb_axes but I am not sure the best solution there. The fact that it's also only that test for spatialdata, and not the e.g. test_query_points also makes it a bit suspicious. Would really appreciate your help!

@giovpgiovp mentioned this pull request Jul 8, 2024
@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

one more question, is return_request_only a good argument name? and should it be in all cases or only raster? I would argue only raster because I don't see how much value it has for the shapes/points element case. In fact, the only use case so far is for the dataloader.

@LucaMarconato

Copy link
Copy Markdown
Member

Thanks for addressing the comments. I think the name is good and I agree in having it only for the raster case. If it will be needed later on we can always add it for the other elements.

I will examine more the last open issue, after we resolve the conversation on that we are good to merge.

@LucaMarconato

Copy link
Copy Markdown
Member

@giovp I checked the code and the issue was a bug in the function _adjust_bounding_box_to_real_axes(), which was not adjust the bounding box to the real axes in the case in which the bounding box axes and the real axes were a permutation of each other. I have addressed that and now the swap between the two variables for non-raster types is removed.

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

🙏 🙏

@LucaMarconato

LucaMarconato commented Jul 12, 2024

Copy link
Copy Markdown
Member

I have finished adding tests, good to merge (thanks for addressing the other review comments)! 😊

@LucaMarconato
LucaMarconato merged commit 122cb09 into mainJul 12, 2024
@LucaMarconato
LucaMarconato deleted the giovp/refactor_transform branch July 12, 2024 17:47
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@giovp@LucaMarconato
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); refactor bounding box by giovp · Pull Request #617 · scverse/spatialdata · GitHub
Skip to content

refactor bounding box - #617

Merged
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform
Jul 12, 2024
Merged

refactor bounding box#617
LucaMarconato merged 12 commits into
mainfrom
giovp/refactor_transform

Conversation

@giovp

@giovpgiovp commented Jul 5, 2024

Copy link
Copy Markdown
Member

I would need this refactor in order to move on with the data loader performance PR. @LucaMarconato what this PR basically does is unifying the building request code for DataArray|DataTree with the already existing _get_bounding_box_corners_in_intrinsic_coordinates for DaskDataFrame|GeoPandasDataFrame. I think this is correct, as in the tests for spatial_query pass, but I am not sure that the logic is correct.

I had to disable the tests for the dataloaders but they will be worked out in a separate PR. This PR is ready to review, but I would not merge it for now, and wait for finishing the dataloader improvement work.

@codecov

codecovBot commented Jul 5, 2024

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 86.66667% with 4 lines in your changes missing coverage. Please review.

Project coverage is 90.04%. Comparing base (c3ad40c) to head (7627f9f).
Report is 47 commits behind head on main.

Files with missing linesPatch %Lines
src/spatialdata/_core/query/spatial_query.py89.28%3 Missing ⚠️
src/spatialdata/dataloader/datasets.py50.00%1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #617 +/- ##
==========================================
- Coverage 91.93% 90.04% -1.90% 
==========================================
Files 44 44 Lines 6659 6670 +11 ==========================================
- Hits 6122 6006 -116 - Misses 537 664 +127 
Files with missing linesCoverage Δ
src/spatialdata/dataloader/datasets.py33.65% <50.00%> (-57.03%)⬇️
src/spatialdata/_core/query/spatial_query.py94.64% <89.28%> (-0.53%)⬇️

... and 7 files with indirect coverage changes

Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated
Comment threadsrc/spatialdata/_core/query/spatial_query.py Outdated

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(deleted)

@LucaMarconatoLucaMarconato left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR! It simplifies the code and will make the torch dataset class more performant!

I added a few comments of changes I would make. They are all minor except for one that may require more care (the one where axes and output_axes_without_c are swapped). I can also have a deeper look at that case if you want.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Hi @LucaMarconato , thank you for the review, I've addressed all comments, except this one

one that may require more care (the one where axes and output_axes_without_c are swapped)

If I don't swap the axes, there is one test that fails (see review comment). I think it might be solvable by changing the input/output axes ofspatial_transform_bb_axes but I am not sure the best solution there. The fact that it's also only that test for spatialdata, and not the e.g. test_query_points also makes it a bit suspicious. Would really appreciate your help!

@giovpgiovp mentioned this pull request Jul 8, 2024
@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

one more question, is return_request_only a good argument name? and should it be in all cases or only raster? I would argue only raster because I don't see how much value it has for the shapes/points element case. In fact, the only use case so far is for the dataloader.

@LucaMarconato

Copy link
Copy Markdown
Member

Thanks for addressing the comments. I think the name is good and I agree in having it only for the raster case. If it will be needed later on we can always add it for the other elements.

I will examine more the last open issue, after we resolve the conversation on that we are good to merge.

@LucaMarconato

Copy link
Copy Markdown
Member

@giovp I checked the code and the issue was a bug in the function _adjust_bounding_box_to_real_axes(), which was not adjust the bounding box to the real axes in the case in which the bounding box axes and the real axes were a permutation of each other. I have addressed that and now the swap between the two variables for non-raster types is removed.

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

@giovp

giovp commented Jul 8, 2024

Copy link
Copy Markdown
MemberAuthor

Before the swap was fixing the bug because of a coincidence. I will add a targeted test for this case, and after that we can merge.

🙏 🙏

@LucaMarconato

LucaMarconato commented Jul 12, 2024

Copy link
Copy Markdown
Member

I have finished adding tests, good to merge (thanks for addressing the other review comments)! 😊

@LucaMarconato
LucaMarconato merged commit 122cb09 into mainJul 12, 2024
@LucaMarconato
LucaMarconato deleted the giovp/refactor_transform branch July 12, 2024 17:47
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@giovp@LucaMarconato