kwimage.im_demodata module

Keep a manifest of demo images used for testing

kwimage.im_demodata._update_hashes()[source]

for dev use to update hashes of the demo images

CommandLine

xdoctest -m kwimage.im_demodata _update_hashes
xdoctest -m kwimage.im_demodata _update_hashes --require-hashes
kwimage.im_demodata.grab_test_image(key='astro', space='rgb', dsize=None, interpolation='lanczos')[source]

Ensures that the test image exists (this might use the network), reads it and returns the the image pixels.

Parameters:
  • key (str) – which test image to grab. Valid choices are: astro - an astronaught carl - Carl Sagan paraview - ParaView logo stars - picture of stars in the sky airport - SkySat image of Beijing Capital International Airport on 18 February 2018 See kwimage.grab_test_image.keys for a full list.

  • space (str) – which colorspace to return in. Defaults to ‘rgb’

  • dsize (Tuple[int, int]) – if specified resizes image to this size

Returns:

the requested image

Return type:

ndarray

CommandLine

xdoctest -m kwimage.im_demodata grab_test_image

Example

>>> # xdoctest: +REQUIRES(--network)
>>> import kwimage
>>> key_to_image = {}
>>> for key in kwimage.grab_test_image.keys():
>>>     print('attempt to grab key = {!r}'.format(key))
>>>     # specifying dsize will returned a resized variant
>>>     imdata = kwimage.grab_test_image(key, dsize=(256, None))
>>>     key_to_image[key] = imdata
>>>     print('grabbed key = {!r}'.format(key))
>>> # xdoctest: +REQUIRES(--show)
>>> # xdoctest: +REQUIRES(module:kwplot)
>>> import kwplot
>>> kwplot.autoplt()
>>> to_stack = [kwimage.draw_header_text(
>>>     imdata, text=key, color='kw_blue')
>>>     for key, imdata in key_to_image.items()]
>>> stacked = kwimage.stack_images_grid(to_stack, bg_value='kw_darkgray')
>>> stacked = kwimage.draw_header_text(stacked, 'kwimage.grab_test_image', fit=True, color='kitware_green')
>>> kwplot.imshow(stacked)
kwimage.im_demodata._grabdata_with_mirrors(url, mirror_urls, grabkw)[source]
kwimage.im_demodata.grab_test_image_fpath(key='astro', dsize=None, overviews=None)[source]

Ensures that the test image exists (this might use the network) and returns the cached filepath to the requested image.

Parameters:
  • key (str) – which test image to grab. Valid choices are: astro - an astronaught carl - Carl Sagan paraview - ParaView logo stars - picture of stars in the sky OR can be an existing path to an image

  • dsize (None | Tuple[int, int]) – if specified, we will return a variant of the data with the specific dsize

  • overviews (None | int) – if specified, will return a variant of the data with overviews

Returns:

path to the requested image

Return type:

str

CommandLine

python -c "import kwimage; print(kwimage.grab_test_image_fpath('airport'))"

Example

>>> # xdoctest: +REQUIRES(--network)
>>> import kwimage
>>> for key in kwimage.grab_test_image.keys():
...     print('attempt to grab key = {!r}'.format(key))
...     kwimage.grab_test_image_fpath(key)
...     print('grabbed grab key = {!r}'.format(key))

Example

>>> # xdoctest: +REQUIRES(--network)
>>> import kwimage
>>> key = ub.peek(kwimage.grab_test_image.keys())
>>> # specifying a dsize will construct a new image
>>> fpath1 = kwimage.grab_test_image_fpath(key)
>>> fpath2 = kwimage.grab_test_image_fpath(key, dsize=(32, 16))
>>> print('fpath1 = {}'.format(ub.urepr(fpath1, nl=1)))
>>> print('fpath2 = {}'.format(ub.urepr(fpath2, nl=1)))
>>> assert fpath1 != fpath2
>>> imdata2 = kwimage.imread(fpath2)
>>> assert imdata2.shape[0:2] == (16, 32)
kwimage.im_demodata.checkerboard(num_squares='auto', square_shape='auto', dsize=(512, 512), dtype=<class 'float'>, on_value=1, off_value=0)[source]

Creates a checkerboard image

Parameters:
  • num_squares (int | str) – Number of squares in a row. If ‘auto’ defaults to 8

  • square_shape (int | Tuple[int, int] | str) – If ‘auto’, chosen based on num_squares. Otherwise this is the height, width of each square in pixels.

  • dsize (Tuple[int, int]) – width and height

  • dtype (type) – return data type

  • on_value (Number | int) – The value of one checker. Defaults to 1.

  • off_value (Number | int) – The value off the other checker. Defaults to 0.

References

https://stackoverflow.com/questions/2169478/how-to-make-a-checkerboard-in-numpy

Example

>>> import kwimage
>>> import numpy as np
>>> img = kwimage.checkerboard()
>>> print(kwimage.checkerboard(dsize=(16, 16)).shape)
>>> print(kwimage.checkerboard(num_squares=4, dsize=(16, 16)).shape)
>>> print(kwimage.checkerboard(square_shape=3, dsize=(23, 17)).shape)
>>> print(kwimage.checkerboard(square_shape=3, dsize=(1451, 1163)).shape)
>>> print(kwimage.checkerboard(square_shape=3, dsize=(1202, 956)).shape)
>>> print(kwimage.checkerboard(dsize=(4, 4), on_value=(255, 0, 0), off_value=(0, 0, 1), dtype=np.uint8))

Example

>>> import kwimage
>>> img = kwimage.checkerboard(
>>>     dsize=(64, 64), on_value='kw_green', off_value='kw_blue')
>>> # xdoctest: +REQUIRES(--show)
>>> # xdoctest: +REQUIRES(module:kwplot)
>>> import kwplot
>>> kwplot.autoplt()
>>> kwplot.imshow(img)
>>> kwplot.show_if_requested()
_images/fig_kwimage_im_demodata_checkerboard_002.jpeg
kwimage.im_demodata._next_power_of_two(x)[source]

References

https://stackoverflow.com/questions/14267555/find-the-smallest-power-of-2-greater-than-or-equal-to-n-in-python

kwimage.im_demodata._next_multiple_of_two(x)[source]

References

https://stackoverflow.com/questions/14267555/find-the-smallest-power-of-2-greater-than-or-equal-to-n-in-python

kwimage.im_demodata._next_multiple_of(x, m)[source]

References

https://stackoverflow.com/questions/14267555/find-the-smallest-power-of-2-greater-than-or-equal-to-n-in-python