Comments (2)
Hi, in case you want to have more fine-grain control. You can use this approach rather than using the provided patch from the PatchExtractor, then you can control what type of padding you want.
from tiatoolbox.tools.patchextraction import \
SlidingWindowPatchExtractor as Extractor
from tiatoolbox.wsicore.wsireader import VirtualWSIReader, get_wsireader
img_path = f'{root_dir}/imgs/{base_name}.thumb.png'
msk_path = f'{root_dir}/msks/{base_name}.png'
save_path = f'{SAVE_DIR}/{idx}'
img_reader = get_wsireader(img_path)
bounds = Extractor(
img_reader,
patch_size=patch_shape,
stride=overlap_shape,
within_bound=False,
**resolution_kwargs
).coord_list
msk_reader = VirtualWSIReader(msk_path, mode='bool')
msk_reader.info = img_reader.info
for idx, bound in enumerate(bounds):
img_patch = img_reader.read_bounds(
bound,
interpolation="optimise",
coord_space='resolution',
**resolution_kwargs,
)
msk_patch = msk_reader.read_bounds(
bound,
interpolation="nearest",
coord_space='resolution',
**resolution_kwargs,
)
base_name = f'{bound[0]:06d}-{bound[1]:06d}-{bound[2]:06d}-{bound[3]:06d}'
imwrite(f'{save_path}.{base_name}.img.png', img_patch)
imwrite(f'{save_path}.{base_name}.msk.png', msk_patch)
from tiatoolbox.
Closing this issue. Feel free to reopen if you still see any problems with the above solution.
from tiatoolbox.
Related Issues (20)
- :monocle_face: Rename `VirtualWSIReader` Modes HOT 1
- Issue in patch extraction from images with more than 3 channels HOT 3
- π Tests fail with `glymur>=0.12.6`
- Reading a very large region using WSIReader.read_rect results in crash HOT 5
- Issue in reading WSI with missing mpp information. HOT 2
- Issue generating WSI thumbnails from CLI HOT 3
- Shifted patches when merging patch predictions! HOT 1
- On Windows tests raise an error `sqlite3.OperationalError: no such function: POWER` HOT 9
- Patch extractor can go (fully) out of bounds
- WSIReader Tile Sizes Issue - SVS Format HOT 6
- Tissue masker on multiple images
- example 05 is broken HOT 3
- Meet "RuntimeError: dictionary changed size during iteration " in `extract_composition_features()` function HOT 3
- cannot import name 'Units' from 'tiatoolbox.wsicore.wsireader' HOT 6
- I can't find the label βPATIENTβ and 'HER2FinalStatus' in the slidegraph.ipynb HOT 6
- nucleus segmentation with classification using "hovernet_original-kumar" HOT 1
- Nucleus instance segmentation model output labels HOT 4
- Nucleus instance segmentation classification performance very poor HOT 4
- Conda feedstock build fails HOT 1
- Error importing modules in tiatoolbox.models using Google Colab HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tiatoolbox.