smart_augmentation/higher/doc/html/namespacetransformations.html
2024-08-20 11:53:35 +02:00

862 lines
35 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>My Project: transformations Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">My Project
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">transformations Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:add0ba9b9fec4d378887b341e61b7c2fb"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#add0ba9b9fec4d378887b341e61b7c2fb">int_image</a> (<a class="el" href="namespacetransformations.html#aa0e40dced4103d3ff9d319d23b975e54">float_image</a>)</td></tr>
<tr class="memdesc:add0ba9b9fec4d378887b341e61b7c2fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Image type cast ##. <a href="#add0ba9b9fec4d378887b341e61b7c2fb">More...</a><br /></td></tr>
<tr class="separator:add0ba9b9fec4d378887b341e61b7c2fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0e40dced4103d3ff9d319d23b975e54"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#aa0e40dced4103d3ff9d319d23b975e54">float_image</a> (<a class="el" href="namespacetransformations.html#add0ba9b9fec4d378887b341e61b7c2fb">int_image</a>)</td></tr>
<tr class="separator:aa0e40dced4103d3ff9d319d23b975e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc25897f51cd3d3df0ed6e29e563046c"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#acc25897f51cd3d3df0ed6e29e563046c">rand_floats</a> (size, mag, maxval, minval=None)</td></tr>
<tr class="memdesc:acc25897f51cd3d3df0ed6e29e563046c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters utils ##. <a href="#acc25897f51cd3d3df0ed6e29e563046c">More...</a><br /></td></tr>
<tr class="separator:acc25897f51cd3d3df0ed6e29e563046c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac49802d45ee247e10c3adfcc7cb86cbf"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#ac49802d45ee247e10c3adfcc7cb86cbf">invScale_rand_floats</a> (size, mag, maxval, minval)</td></tr>
<tr class="separator:ac49802d45ee247e10c3adfcc7cb86cbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a380988bd0d3afb343b8b63fe52703180"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#a380988bd0d3afb343b8b63fe52703180">zero_stack</a> (tensor, zero_pos)</td></tr>
<tr class="separator:a380988bd0d3afb343b8b63fe52703180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac908826415e01ded574dccdd9373e868"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#ac908826415e01ded574dccdd9373e868">float_parameter</a> (level, maxval)</td></tr>
<tr class="separator:ac908826415e01ded574dccdd9373e868"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b82d4e0c1638f26db9227dd391548d8"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#a3b82d4e0c1638f26db9227dd391548d8">flipLR</a> (x)</td></tr>
<tr class="memdesc:a3b82d4e0c1638f26db9227dd391548d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tranformations ##. <a href="#a3b82d4e0c1638f26db9227dd391548d8">More...</a><br /></td></tr>
<tr class="separator:a3b82d4e0c1638f26db9227dd391548d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaf4841f6fad18e431c5bb1eca51390a"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#afaf4841f6fad18e431c5bb1eca51390a">flipUD</a> (x)</td></tr>
<tr class="separator:afaf4841f6fad18e431c5bb1eca51390a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a013eae7739ef034ed3d07bde95a76084"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#a013eae7739ef034ed3d07bde95a76084">rotate</a> (x, angle)</td></tr>
<tr class="separator:a013eae7739ef034ed3d07bde95a76084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6aeaef035ff9c1c0977e7ef49b7de735"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#a6aeaef035ff9c1c0977e7ef49b7de735">translate</a> (x, translation)</td></tr>
<tr class="separator:a6aeaef035ff9c1c0977e7ef49b7de735"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9afae86f07c95502ab6aa79374f9418e"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#a9afae86f07c95502ab6aa79374f9418e">shear</a> (x, shear)</td></tr>
<tr class="separator:a9afae86f07c95502ab6aa79374f9418e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68fca7bf43a6ba94baad9d7145ee6093"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#a68fca7bf43a6ba94baad9d7145ee6093">contrast</a> (x, contrast_factor)</td></tr>
<tr class="separator:a68fca7bf43a6ba94baad9d7145ee6093"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb86ae3a568a9f88afe87cebe10af747"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#acb86ae3a568a9f88afe87cebe10af747">color</a> (x, color_factor)</td></tr>
<tr class="separator:acb86ae3a568a9f88afe87cebe10af747"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3612ce0d406daaf2506f204079497e41"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#a3612ce0d406daaf2506f204079497e41">brightness</a> (x, brightness_factor)</td></tr>
<tr class="separator:a3612ce0d406daaf2506f204079497e41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10a9e3221a2c76824d7d7f305b2aa9aa"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#a10a9e3221a2c76824d7d7f305b2aa9aa">sharpeness</a> (x, sharpness_factor)</td></tr>
<tr class="separator:a10a9e3221a2c76824d7d7f305b2aa9aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab666bac350d962bc28e91ac91a04921b"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#ab666bac350d962bc28e91ac91a04921b">posterize</a> (x, bits)</td></tr>
<tr class="separator:ab666bac350d962bc28e91ac91a04921b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a93f2875e5a3d32f64581666ad03774"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#a0a93f2875e5a3d32f64581666ad03774">solarize</a> (x, thresholds)</td></tr>
<tr class="separator:a0a93f2875e5a3d32f64581666ad03774"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef656b4360dd8029508a01df751ccbf5"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#aef656b4360dd8029508a01df751ccbf5">blend</a> (x, y, alpha)</td></tr>
<tr class="separator:aef656b4360dd8029508a01df751ccbf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a439d5faa6aecf40097061f38d172da7a"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#a439d5faa6aecf40097061f38d172da7a">auto_contrast</a> (x)</td></tr>
<tr class="separator:a439d5faa6aecf40097061f38d172da7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0b8ad06be9731533adce977214e044c"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetransformations.html#aa0b8ad06be9731533adce977214e044c">equalize</a> (x)</td></tr>
<tr class="separator:aa0b8ad06be9731533adce977214e044c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a02f3400e169a6dfbdc63dc6d8907f525"><td class="memItemLeft" align="right" valign="top"><a id="a02f3400e169a6dfbdc63dc6d8907f525"></a>
dictionary&#160;</td><td class="memItemRight" valign="bottom"><b>TF_no_mag</b> = {'Identity', 'FlipUD', 'FlipLR', 'Random', 'RandBlend'}</td></tr>
<tr class="separator:a02f3400e169a6dfbdc63dc6d8907f525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e58090c28b0b0e9adddaaf8dd7ae4a5"><td class="memItemLeft" align="right" valign="top"><a id="a9e58090c28b0b0e9adddaaf8dd7ae4a5"></a>
dictionary&#160;</td><td class="memItemRight" valign="bottom"><b>TF_no_grad</b> = {'Solarize', 'Posterize', '=Solarize', '=Posterize'}</td></tr>
<tr class="separator:a9e58090c28b0b0e9adddaaf8dd7ae4a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af95bb9f754eba835acc504184ffbd5bd"><td class="memItemLeft" align="right" valign="top"><a id="af95bb9f754eba835acc504184ffbd5bd"></a>
dictionary&#160;</td><td class="memItemRight" valign="bottom"><b>TF_ignore_mag</b> = TF_no_mag | TF_no_grad</td></tr>
<tr class="separator:af95bb9f754eba835acc504184ffbd5bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f338dd8fd9c0cbcdbd0072ed3b2a519"><td class="memItemLeft" align="right" valign="top"><a id="a4f338dd8fd9c0cbcdbd0072ed3b2a519"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>PARAMETER_MAX</b> = 1</td></tr>
<tr class="separator:a4f338dd8fd9c0cbcdbd0072ed3b2a519"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0e977475e691db60c155db65e8cd88b"><td class="memItemLeft" align="right" valign="top"><a id="af0e977475e691db60c155db65e8cd88b"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>PARAMETER_MIN</b> = 0.1</td></tr>
<tr class="separator:af0e977475e691db60c155db65e8cd88b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a550637c287bd6ab6df055f26b16daba1"><td class="memItemLeft" align="right" valign="top"><a id="a550637c287bd6ab6df055f26b16daba1"></a>
dictionary&#160;</td><td class="memItemRight" valign="bottom"><b>TF_dict</b></td></tr>
<tr class="separator:a550637c287bd6ab6df055f26b16daba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><pre class="fragment">PyTorch implementation of some PIL image transformations.
Those implementation are thinked to take advantages of batched computation of PyTorch on GPU.
Based on Kornia library.
See: https://github.com/kornia/kornia
And PIL.
See:
https://github.com/python-pillow/Pillow/blob/master/src/PIL/ImageOps.py
https://github.com/python-pillow/Pillow/blob/9c78c3f97291bd681bc8637922d6a2fa9415916c/src/PIL/Image.py#L2818
Inspired from AutoAugment.
See: https://github.com/tensorflow/models/blob/fc2056bce6ab17eabdc139061fef8f4f2ee763ec/research/autoaugment/augmentation_transforms.py
</pre> </div><h2 class="groupheader">Function Documentation</h2>
<a id="a439d5faa6aecf40097061f38d172da7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a439d5faa6aecf40097061f38d172da7a">&#9670;&nbsp;</a></span>auto_contrast()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.auto_contrast </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">NOT TESTED - EXTRA SLOW</pre>
</div>
</div>
<a id="aef656b4360dd8029508a01df751ccbf5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef656b4360dd8029508a01df751ccbf5">&#9670;&nbsp;</a></span>blend()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.blend </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>alpha</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Creates a new images by interpolating between two input images, using a constant alpha.
x and y should have the same size.
alpha should have the same batch size as the images.
Apply batch wise :
out = image1 * (1.0 - alpha) + image2 * alpha
Args:
x (Tensor): Batch of images.
y (Tensor): Batch of images.
alpha (Tensor): The interpolation alpha factor for each images.
Returns:
(Tensor): Batch of solarized images.
</pre>
</div>
</div>
<a id="a3612ce0d406daaf2506f204079497e41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3612ce0d406daaf2506f204079497e41">&#9670;&nbsp;</a></span>brightness()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.brightness </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>brightness_factor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Adjust brightness of images.
Args:
x (Tensor): Batch of images.
brightness_factor (Tensor): Brightness factor for each images.
0.0 gives a black image. A factor of 1.0 gives the original image.
Returns:
(Tensor): Batch of adjusted images.
</pre>
</div>
</div>
<a id="acb86ae3a568a9f88afe87cebe10af747"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb86ae3a568a9f88afe87cebe10af747">&#9670;&nbsp;</a></span>color()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.color </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>color_factor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Adjust color of images.
Args:
x (Tensor): Batch of images.
color_factor (Tensor): Color factor for each images.
0.0 gives a black and white image. A factor of 1.0 gives the original image.
Returns:
(Tensor): Batch of adjusted images.
</pre>
</div>
</div>
<a id="a68fca7bf43a6ba94baad9d7145ee6093"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68fca7bf43a6ba94baad9d7145ee6093">&#9670;&nbsp;</a></span>contrast()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.contrast </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>contrast_factor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Adjust contast of images.
Args:
x (FloatTensor): Batch of images.
contrast_factor (FloatTensor): Contrast adjust factor per element in the batch.
0 generates a compleatly black image, 1 does not modify the input image while any other non-negative number modify the brightness by this factor.
Returns:
(Tensor): Batch of adjusted images.
</pre>
</div>
</div>
<a id="aa0b8ad06be9731533adce977214e044c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0b8ad06be9731533adce977214e044c">&#9670;&nbsp;</a></span>equalize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.equalize </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">NOT WORKING</pre>
</div>
</div>
<a id="a3b82d4e0c1638f26db9227dd391548d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b82d4e0c1638f26db9227dd391548d8">&#9670;&nbsp;</a></span>flipLR()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.flipLR </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Tranformations ##. </p>
<pre class="fragment">Flip horizontaly/Left-Right images.
Args:
x (Tensor): Batch of images.
Returns:
(Tensor): Batch of fliped images.
</pre>
</div>
</div>
<a id="afaf4841f6fad18e431c5bb1eca51390a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaf4841f6fad18e431c5bb1eca51390a">&#9670;&nbsp;</a></span>flipUD()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.flipUD </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Flip vertically/Up-Down images.
Args:
x (Tensor): Batch of images.
Returns:
(Tensor): Batch of fliped images.
</pre>
</div>
</div>
<a id="aa0e40dced4103d3ff9d319d23b975e54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0e40dced4103d3ff9d319d23b975e54">&#9670;&nbsp;</a></span>float_image()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.float_image </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>int_image</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Convert a int Tensor/Image to an float Tensor/Image.
Args:
int_image (ByteTensor): Image tensor.
Returns:
(FloatTensor) Converted tensor.
</pre>
</div>
</div>
<a id="ac908826415e01ded574dccdd9373e868"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac908826415e01ded574dccdd9373e868">&#9670;&nbsp;</a></span>float_parameter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.float_parameter </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>level</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>maxval</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Scale level between 0 and maxval.
Args:
level (float): Level of the operation that will be between [PARAMETER_MIN, PARAMETER_MAX].
maxval: Maximum value that the operation can have. This will be scaled to level/PARAMETER_MAX.
Returns:
A float that results from scaling `maxval` according to `level`.
</pre>
</div>
</div>
<a id="add0ba9b9fec4d378887b341e61b7c2fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add0ba9b9fec4d378887b341e61b7c2fb">&#9670;&nbsp;</a></span>int_image()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.int_image </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>float_image</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Image type cast ##. </p>
<pre class="fragment">Convert a float Tensor/Image to an int Tensor/Image.
Be warry that this transformation isn't bijective, each conversion will result in small loss of information.
Granularity: 1/256 = 0.0039.
This will also result in the loss of the gradient associated to input as gradient cannot be tracked on int Tensor.
Args:
float_image (FloatTensor): Image tensor.
Returns:
(ByteTensor) Converted tensor.
</pre>
</div>
</div>
<a id="ac49802d45ee247e10c3adfcc7cb86cbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac49802d45ee247e10c3adfcc7cb86cbf">&#9670;&nbsp;</a></span>invScale_rand_floats()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.invScale_rand_floats </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>mag</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>maxval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>minval</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Generate a batch of random values.
Similar to rand_floats() except that the mag is used in an inversed scale.
Mag:[0,PARAMETER_MAX] =&gt; [PARAMETER_MAX, 0]
Args:
size (int): Number of value to generate.
mag (float): Level of the operation that will be between [PARAMETER_MIN, PARAMETER_MAX].
maxval (float): Maximum value that can be generated. This will be scaled to mag/PARAMETER_MAX.
minval (float): Minimum value that can be generated. (default: -maxval)
Returns:
(Tensor) Generated batch of float values between [minval, maxval].
</pre>
</div>
</div>
<a id="ab666bac350d962bc28e91ac91a04921b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab666bac350d962bc28e91ac91a04921b">&#9670;&nbsp;</a></span>posterize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.posterize </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>bits</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Reduce the number of bits for each color channel.
Be warry that the cast to integers block the gradient propagation.
Args:
x (Tensor): Batch of images.
bits (Tensor): The number of bits to keep for each channel (1-8).
Returns:
(Tensor): Batch of posterized images.
</pre>
</div>
</div>
<a id="acc25897f51cd3d3df0ed6e29e563046c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc25897f51cd3d3df0ed6e29e563046c">&#9670;&nbsp;</a></span>rand_floats()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.rand_floats </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>mag</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>maxval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>minval</em> = <code>None</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parameters utils ##. </p>
<pre class="fragment">Generate a batch of random values.
Args:
size (int): Number of value to generate.
mag (float): Level of the operation that will be between [PARAMETER_MIN, PARAMETER_MAX].
maxval (float): Maximum value that can be generated. This will be scaled to mag/PARAMETER_MAX.
minval (float): Minimum value that can be generated. (default: -maxval)
Returns:
(Tensor) Generated batch of float values between [minval, maxval].
</pre>
</div>
</div>
<a id="a013eae7739ef034ed3d07bde95a76084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a013eae7739ef034ed3d07bde95a76084">&#9670;&nbsp;</a></span>rotate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.rotate </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>angle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Rotate images.
Args:
x (Tensor): Batch of images.
angle (Tensor): Angles (degrees) of rotation for each images.
Returns:
(Tensor): Batch of rotated images.
</pre>
</div>
</div>
<a id="a10a9e3221a2c76824d7d7f305b2aa9aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10a9e3221a2c76824d7d7f305b2aa9aa">&#9670;&nbsp;</a></span>sharpeness()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.sharpeness </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>sharpness_factor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Adjust sharpness of images.
Args:
x (Tensor): Batch of images.
sharpness_factor (Tensor): Sharpness factor for each images.
0.0 gives a black image. A factor of 1.0 gives the original image.
Returns:
(Tensor): Batch of adjusted images.
</pre>
</div>
</div>
<a id="a9afae86f07c95502ab6aa79374f9418e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9afae86f07c95502ab6aa79374f9418e">&#9670;&nbsp;</a></span>shear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.shear </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>shear</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Shear images.
Args:
x (Tensor): Batch of images.
shear (Tensor): Angle of shear for each images.
Returns:
(Tensor): Batch of skewed images.
</pre>
</div>
</div>
<a id="a0a93f2875e5a3d32f64581666ad03774"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a93f2875e5a3d32f64581666ad03774">&#9670;&nbsp;</a></span>solarize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.solarize </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>thresholds</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Invert all pixel values above a threshold.
Be warry that the use of the inequality (x&gt;tresholds) block the gradient propagation.
Args:
x (Tensor): Batch of images.
thresholds (Tensor): All pixels above this level are inverted
Returns:
(Tensor): Batch of solarized images.
</pre>
</div>
</div>
<a id="a6aeaef035ff9c1c0977e7ef49b7de735"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6aeaef035ff9c1c0977e7ef49b7de735">&#9670;&nbsp;</a></span>translate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.translate </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>translation</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Translate images.
Args:
x (Tensor): Batch of images.
translation (Tensor): Distance (pixels) of translation for each images.
Returns:
(Tensor): Batch of translated images.
</pre>
</div>
</div>
<a id="a380988bd0d3afb343b8b63fe52703180"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a380988bd0d3afb343b8b63fe52703180">&#9670;&nbsp;</a></span>zero_stack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def transformations.zero_stack </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>zero_pos</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Add a row of zeros to a Tensor.
This function is intended to be used with single row Tensor, thus returning a 2 dimension Tensor.
Args:
tensor (Tensor): Tensor to be stacked with zeros.
zero_pos (int): Wheter the zeros should be added before or after the Tensor. Either 0 or 1.
Returns:
Stacked Tensor.
</pre>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>