1
0
Fork 0
mirror of synced 2024-05-18 20:02:25 +12:00

Update assets; remove photo option

This commit is contained in:
nagadomi 2016-06-13 12:44:06 +09:00
parent 472215d7ee
commit eab65a1f20
13 changed files with 842 additions and 116 deletions

View file

@ -73,7 +73,7 @@
Oder wählen Sie eine Datei aus: Oder wählen Sie eine Datei aus:
<input type="file" id="file" name="file"></div> <input type="file" id="file" name="file"></div>
</div> </div>
<div class="option-hint"> <div class="option-hint file_limits">
Beschränkungen: Größe: 3MB, Rauschunterdrückung: 2560x2560px, maximale Hochskalierung: 1280x1280px. Beschränkungen: Größe: 3MB, Rauschunterdrückung: 2560x2560px, maximale Hochskalierung: 1280x1280px.
</div> </div>
</div> </div>
@ -87,11 +87,13 @@
Kunst Kunst
</span> </span>
</label> </label>
<!--
<label><input type="radio" name="style" class="radio" value="photo"> <label><input type="radio" name="style" class="radio" value="photo">
<span class="r-text"> <span class="r-text">
Foto Foto
</span> </span>
</label> </label>
-->
</div> </div>
</div> </div>
<div class="option-box"> <div class="option-box">
@ -152,6 +154,83 @@
</label> </label>
</div> </div>
</div> </div>
<div class="option-box">
<div class="option-left">
TTA:
<div class="option-left-small"></div>
</div>
<div class="option-right">
<label><input type="radio" name="tta_level" class="radio" value="1" checked>
<span class="r-text">
1 pass
</span>
</label>
<!--
<label><input type="radio" name="tta_level" class="radio" value="2" checked>
<span class="r-text">
2 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="4">
<span class="r-text">
4 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="8">
<span class="r-text">
8 pass
</span>
</label>
-->
<label><input type="radio" name="tta_level" class="radio" value="0" checked>
<span class="r-text">
n-pass auto
</span>
</label>
</div>
<div class="option-hint">
TTA makes stable quality but it limits the source image size.
<a href="#" class="tta_rule">
Show the rule of `n-pass auto`.
</a>
<div style="display:none" class="tta_rule_text">
<table>
<tr>
<td>
&lt;= 452x452
</td>
<td>
8 pass
</td>
</tr>
<tr>
<td>
&lt;= 640x640
</td>
<td>
4 pass
</td>
</tr>
<tr>
<td>
&lt;= 905x905
</td>
<td>
2 pass
</td>
</tr>
<tr>
<td>
else
</td>
<td>
1 pass
</td>
</tr>
</table>
</div>
</div>
</div>
<input type="submit" class="button" value="Konvertieren"> <input type="submit" class="button" value="Konvertieren">

View file

@ -73,7 +73,7 @@
O selecciona un archivo: O selecciona un archivo:
<input type="file" id="file" name="file"></div> <input type="file" id="file" name="file"></div>
</div> </div>
<div class="option-hint"> <div class="option-hint file_limits">
Límites: Tamaño: 3 MB, Reducción de ruido: 2560x2560px, Aumento de resolución: 1280x1280px. Límites: Tamaño: 3 MB, Reducción de ruido: 2560x2560px, Aumento de resolución: 1280x1280px.
</div> </div>
</div> </div>
@ -87,11 +87,13 @@
Ilustración Ilustración
</span> </span>
</label> </label>
<!--
<label><input type="radio" name="style" class="radio" value="photo"> <label><input type="radio" name="style" class="radio" value="photo">
<span class="r-text"> <span class="r-text">
Fotografía Fotografía
</span> </span>
</label> </label>
-->
</div> </div>
</div> </div>
<div class="option-box"> <div class="option-box">
@ -152,6 +154,83 @@
</label> </label>
</div> </div>
</div> </div>
<div class="option-box">
<div class="option-left">
TTA:
<div class="option-left-small"></div>
</div>
<div class="option-right">
<label><input type="radio" name="tta_level" class="radio" value="1" checked>
<span class="r-text">
1 pass
</span>
</label>
<!--
<label><input type="radio" name="tta_level" class="radio" value="2" checked>
<span class="r-text">
2 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="4">
<span class="r-text">
4 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="8">
<span class="r-text">
8 pass
</span>
</label>
-->
<label><input type="radio" name="tta_level" class="radio" value="0" checked>
<span class="r-text">
n-pass auto
</span>
</label>
</div>
<div class="option-hint">
TTA makes stable quality but it limits the source image size.
<a href="#" class="tta_rule">
Show the rule of `n-pass auto`.
</a>
<div style="display:none" class="tta_rule_text">
<table>
<tr>
<td>
&lt;= 452x452
</td>
<td>
8 pass
</td>
</tr>
<tr>
<td>
&lt;= 640x640
</td>
<td>
4 pass
</td>
</tr>
<tr>
<td>
&lt;= 905x905
</td>
<td>
2 pass
</td>
</tr>
<tr>
<td>
else
</td>
<td>
1 pass
</td>
</tr>
</table>
</div>
</div>
</div>
<input type="submit" class="button" value="Convertir"> <input type="submit" class="button" value="Convertir">

View file

@ -73,7 +73,7 @@
Ou choisissez un fichier : Ou choisissez un fichier :
<input type="file" id="file" name="file"></div> <input type="file" id="file" name="file"></div>
</div> </div>
<div class="option-hint"> <div class="option-hint file_limits">
Limites : Taille : 3 Mo, Réduction du bruit numérique, 2560x2560px, Agrandissement : 1280x1280px. Limites : Taille : 3 Mo, Réduction du bruit numérique, 2560x2560px, Agrandissement : 1280x1280px.
</div> </div>
</div> </div>
@ -87,11 +87,13 @@
Dessin Dessin
</span> </span>
</label> </label>
<!--
<label><input type="radio" name="style" class="radio" value="photo"> <label><input type="radio" name="style" class="radio" value="photo">
<span class="r-text"> <span class="r-text">
Photo Photo
</span> </span>
</label> </label>
-->
</div> </div>
</div> </div>
<div class="option-box"> <div class="option-box">
@ -152,6 +154,83 @@
</label> </label>
</div> </div>
</div> </div>
<div class="option-box">
<div class="option-left">
TTA:
<div class="option-left-small"></div>
</div>
<div class="option-right">
<label><input type="radio" name="tta_level" class="radio" value="1" checked>
<span class="r-text">
1 pass
</span>
</label>
<!--
<label><input type="radio" name="tta_level" class="radio" value="2" checked>
<span class="r-text">
2 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="4">
<span class="r-text">
4 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="8">
<span class="r-text">
8 pass
</span>
</label>
-->
<label><input type="radio" name="tta_level" class="radio" value="0" checked>
<span class="r-text">
n-pass auto
</span>
</label>
</div>
<div class="option-hint">
TTA makes stable quality but it limits the source image size.
<a href="#" class="tta_rule">
Show the rule of `n-pass auto`.
</a>
<div style="display:none" class="tta_rule_text">
<table>
<tr>
<td>
&lt;= 452x452
</td>
<td>
8 pass
</td>
</tr>
<tr>
<td>
&lt;= 640x640
</td>
<td>
4 pass
</td>
</tr>
<tr>
<td>
&lt;= 905x905
</td>
<td>
2 pass
</td>
</tr>
<tr>
<td>
else
</td>
<td>
1 pass
</td>
</tr>
</table>
</div>
</div>
</div>
<input type="submit" class="button" value="Convertir"> <input type="submit" class="button" value="Convertir">

View file

@ -73,7 +73,7 @@
Or choose a file: Or choose a file:
<input type="file" id="file" name="file"></div> <input type="file" id="file" name="file"></div>
</div> </div>
<div class="option-hint"> <div class="option-hint file_limits">
Limits: Size: 3MB, Noise Reduction: 2560x2560px, Upscaling: 1280x1280px. Limits: Size: 3MB, Noise Reduction: 2560x2560px, Upscaling: 1280x1280px.
</div> </div>
</div> </div>
@ -87,11 +87,13 @@
Artwork Artwork
</span> </span>
</label> </label>
<!--
<label><input type="radio" name="style" class="radio" value="photo"> <label><input type="radio" name="style" class="radio" value="photo">
<span class="r-text"> <span class="r-text">
Photo Photo
</span> </span>
</label> </label>
-->
</div> </div>
</div> </div>
<div class="option-box"> <div class="option-box">
@ -152,6 +154,83 @@
</label> </label>
</div> </div>
</div> </div>
<div class="option-box">
<div class="option-left">
TTA:
<div class="option-left-small"></div>
</div>
<div class="option-right">
<label><input type="radio" name="tta_level" class="radio" value="1" checked>
<span class="r-text">
1 pass
</span>
</label>
<!--
<label><input type="radio" name="tta_level" class="radio" value="2" checked>
<span class="r-text">
2 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="4">
<span class="r-text">
4 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="8">
<span class="r-text">
8 pass
</span>
</label>
-->
<label><input type="radio" name="tta_level" class="radio" value="0" checked>
<span class="r-text">
n-pass auto
</span>
</label>
</div>
<div class="option-hint">
TTA makes stable quality but it limits the source image size.
<a href="#" class="tta_rule">
Show the rule of `n-pass auto`.
</a>
<div style="display:none" class="tta_rule_text">
<table>
<tr>
<td>
&lt;= 452x452
</td>
<td>
8 pass
</td>
</tr>
<tr>
<td>
&lt;= 640x640
</td>
<td>
4 pass
</td>
</tr>
<tr>
<td>
&lt;= 905x905
</td>
<td>
2 pass
</td>
</tr>
<tr>
<td>
else
</td>
<td>
1 pass
</td>
</tr>
</table>
</div>
</div>
</div>
<input type="submit" class="button" value="Convert"> <input type="submit" class="button" value="Convert">

View file

@ -73,7 +73,7 @@
ファイルを選択: ファイルを選択:
<input type="file" id="file" name="file"></div> <input type="file" id="file" name="file"></div>
</div> </div>
<div class="option-hint"> <div class="option-hint file_limits">
制限: サイズ: 3MB, ノイズ除去: 2560x2560px, 拡大(前): 1280x1280px. 制限: サイズ: 3MB, ノイズ除去: 2560x2560px, 拡大(前): 1280x1280px.
</div> </div>
</div> </div>
@ -87,11 +87,13 @@
イラスト イラスト
</span> </span>
</label> </label>
<!--
<label><input type="radio" name="style" class="radio" value="photo"> <label><input type="radio" name="style" class="radio" value="photo">
<span class="r-text"> <span class="r-text">
写真 写真
</span> </span>
</label> </label>
-->
</div> </div>
</div> </div>
<div class="option-box"> <div class="option-box">
@ -152,6 +154,83 @@
</label> </label>
</div> </div>
</div> </div>
<div class="option-box">
<div class="option-left">
TTA:
<div class="option-left-small"></div>
</div>
<div class="option-right">
<label><input type="radio" name="tta_level" class="radio" value="1" checked>
<span class="r-text">
1 pass
</span>
</label>
<!--
<label><input type="radio" name="tta_level" class="radio" value="2" checked>
<span class="r-text">
2 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="4">
<span class="r-text">
4 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="8">
<span class="r-text">
8 pass
</span>
</label>
-->
<label><input type="radio" name="tta_level" class="radio" value="0" checked>
<span class="r-text">
n-pass auto
</span>
</label>
</div>
<div class="option-hint">
TTAは安定した品質を作ります。ただし画像サイズに制限があります。
<a href="#" class="tta_rule">
ルール
</a>
<div style="display:none" class="tta_rule_text">
<table>
<tr>
<td>
&lt;= 452x452
</td>
<td>
8 pass
</td>
</tr>
<tr>
<td>
&lt;= 640x640
</td>
<td>
4 pass
</td>
</tr>
<tr>
<td>
&lt;= 905x905
</td>
<td>
2 pass
</td>
</tr>
<tr>
<td>
else
</td>
<td>
1 pass
</td>
</tr>
</table>
</div>
</div>
</div>
<input type="submit" class="button" value="実行"> <input type="submit" class="button" value="実行">

View file

@ -73,7 +73,7 @@
ARQUIVO: ARQUIVO:
<input type="file" id="file" name="file"></div> <input type="file" id="file" name="file"></div>
</div> </div>
<div class="option-hint"> <div class="option-hint file_limits">
Limites: Tamanho: 3MB, Redução de ruído: 2560x2560px, Aumento de escala: 1280x1280px. Limites: Tamanho: 3MB, Redução de ruído: 2560x2560px, Aumento de escala: 1280x1280px.
</div> </div>
</div> </div>
@ -87,11 +87,13 @@
Arte Arte
</span> </span>
</label> </label>
<!--
<label><input type="radio" name="style" class="radio" value="photo"> <label><input type="radio" name="style" class="radio" value="photo">
<span class="r-text"> <span class="r-text">
Foto Foto
</span> </span>
</label> </label>
-->
</div> </div>
</div> </div>
<div class="option-box"> <div class="option-box">
@ -152,6 +154,83 @@
</label> </label>
</div> </div>
</div> </div>
<div class="option-box">
<div class="option-left">
TTA:
<div class="option-left-small"></div>
</div>
<div class="option-right">
<label><input type="radio" name="tta_level" class="radio" value="1" checked>
<span class="r-text">
1 pass
</span>
</label>
<!--
<label><input type="radio" name="tta_level" class="radio" value="2" checked>
<span class="r-text">
2 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="4">
<span class="r-text">
4 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="8">
<span class="r-text">
8 pass
</span>
</label>
-->
<label><input type="radio" name="tta_level" class="radio" value="0" checked>
<span class="r-text">
n-pass auto
</span>
</label>
</div>
<div class="option-hint">
TTA makes stable quality but it limits the source image size.
<a href="#" class="tta_rule">
Show the rule of `n-pass auto`.
</a>
<div style="display:none" class="tta_rule_text">
<table>
<tr>
<td>
&lt;= 452x452
</td>
<td>
8 pass
</td>
</tr>
<tr>
<td>
&lt;= 640x640
</td>
<td>
4 pass
</td>
</tr>
<tr>
<td>
&lt;= 905x905
</td>
<td>
2 pass
</td>
</tr>
<tr>
<td>
else
</td>
<td>
1 pass
</td>
</tr>
</table>
</div>
</div>
</div>
<input type="submit" class="button" value="Converter"> <input type="submit" class="button" value="Converter">

View file

@ -73,7 +73,7 @@
Либо выберите файл: Либо выберите файл:
<input type="file" id="file" name="file"></div> <input type="file" id="file" name="file"></div>
</div> </div>
<div class="option-hint"> <div class="option-hint file_limits">
Макс. размер файла — 3MB, устранение шума — макс. 2560x2560px, апскейл — 1280x1280px. Макс. размер файла — 3MB, устранение шума — макс. 2560x2560px, апскейл — 1280x1280px.
</div> </div>
</div> </div>
@ -87,11 +87,13 @@
Арт Арт
</span> </span>
</label> </label>
<!--
<label><input type="radio" name="style" class="radio" value="photo"> <label><input type="radio" name="style" class="radio" value="photo">
<span class="r-text"> <span class="r-text">
Фотография Фотография
</span> </span>
</label> </label>
-->
</div> </div>
</div> </div>
<div class="option-box"> <div class="option-box">
@ -152,6 +154,83 @@
</label> </label>
</div> </div>
</div> </div>
<div class="option-box">
<div class="option-left">
TTA:
<div class="option-left-small"></div>
</div>
<div class="option-right">
<label><input type="radio" name="tta_level" class="radio" value="1" checked>
<span class="r-text">
1 pass
</span>
</label>
<!--
<label><input type="radio" name="tta_level" class="radio" value="2" checked>
<span class="r-text">
2 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="4">
<span class="r-text">
4 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="8">
<span class="r-text">
8 pass
</span>
</label>
-->
<label><input type="radio" name="tta_level" class="radio" value="0" checked>
<span class="r-text">
n-pass auto
</span>
</label>
</div>
<div class="option-hint">
TTA makes stable quality but it limits the source image size.
<a href="#" class="tta_rule">
Show the rule of `n-pass auto`.
</a>
<div style="display:none" class="tta_rule_text">
<table>
<tr>
<td>
&lt;= 452x452
</td>
<td>
8 pass
</td>
</tr>
<tr>
<td>
&lt;= 640x640
</td>
<td>
4 pass
</td>
</tr>
<tr>
<td>
&lt;= 905x905
</td>
<td>
2 pass
</td>
</tr>
<tr>
<td>
else
</td>
<td>
1 pass
</td>
</tr>
</table>
</div>
</div>
</div>
<input type="submit" class="button" value="Преобразовать"> <input type="submit" class="button" value="Преобразовать">

View file

@ -73,7 +73,7 @@
Veya bir dosya seçin: Veya bir dosya seçin:
<input type="file" id="file" name="file"></div> <input type="file" id="file" name="file"></div>
</div> </div>
<div class="option-hint"> <div class="option-hint file_limits">
Limitler: Boyut: 3MB, Gürültü Azaltma: 2560x2560px, Çözünürlük Yükseltme: 1280x1280px. Limitler: Boyut: 3MB, Gürültü Azaltma: 2560x2560px, Çözünürlük Yükseltme: 1280x1280px.
</div> </div>
</div> </div>
@ -87,11 +87,13 @@
Dijital Çizim Dijital Çizim
</span> </span>
</label> </label>
<!--
<label><input type="radio" name="style" class="radio" value="photo"> <label><input type="radio" name="style" class="radio" value="photo">
<span class="r-text"> <span class="r-text">
Fotoğraf Fotoğraf
</span> </span>
</label> </label>
-->
</div> </div>
</div> </div>
<div class="option-box"> <div class="option-box">
@ -152,6 +154,83 @@
</label> </label>
</div> </div>
</div> </div>
<div class="option-box">
<div class="option-left">
TTA:
<div class="option-left-small"></div>
</div>
<div class="option-right">
<label><input type="radio" name="tta_level" class="radio" value="1" checked>
<span class="r-text">
1 pass
</span>
</label>
<!--
<label><input type="radio" name="tta_level" class="radio" value="2" checked>
<span class="r-text">
2 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="4">
<span class="r-text">
4 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="8">
<span class="r-text">
8 pass
</span>
</label>
-->
<label><input type="radio" name="tta_level" class="radio" value="0" checked>
<span class="r-text">
n-pass auto
</span>
</label>
</div>
<div class="option-hint">
TTA makes stable quality but it limits the source image size.
<a href="#" class="tta_rule">
Show the rule of `n-pass auto`.
</a>
<div style="display:none" class="tta_rule_text">
<table>
<tr>
<td>
&lt;= 452x452
</td>
<td>
8 pass
</td>
</tr>
<tr>
<td>
&lt;= 640x640
</td>
<td>
4 pass
</td>
</tr>
<tr>
<td>
&lt;= 905x905
</td>
<td>
2 pass
</td>
</tr>
<tr>
<td>
else
</td>
<td>
1 pass
</td>
</tr>
</table>
</div>
</div>
</div>
<input type="submit" class="button" value="Başlat"> <input type="submit" class="button" value="Başlat">

View file

@ -73,7 +73,7 @@
或者从本地上传: 或者从本地上传:
<input type="file" id="file" name="file"></div> <input type="file" id="file" name="file"></div>
</div> </div>
<div class="option-hint"> <div class="option-hint file_limits">
文件大小不得超过3MB可降噪图像的最大尺寸2560x2560px可放大图像的最大尺寸1280x1280px。 文件大小不得超过3MB可降噪图像的最大尺寸2560x2560px可放大图像的最大尺寸1280x1280px。
</div> </div>
</div> </div>
@ -87,11 +87,13 @@
插图 插图
</span> </span>
</label> </label>
<!--
<label><input type="radio" name="style" class="radio" value="photo"> <label><input type="radio" name="style" class="radio" value="photo">
<span class="r-text"> <span class="r-text">
照片 照片
</span> </span>
</label> </label>
-->
</div> </div>
</div> </div>
<div class="option-box"> <div class="option-box">
@ -152,6 +154,83 @@
</label> </label>
</div> </div>
</div> </div>
<div class="option-box">
<div class="option-left">
TTA:
<div class="option-left-small"></div>
</div>
<div class="option-right">
<label><input type="radio" name="tta_level" class="radio" value="1" checked>
<span class="r-text">
1 pass
</span>
</label>
<!--
<label><input type="radio" name="tta_level" class="radio" value="2" checked>
<span class="r-text">
2 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="4">
<span class="r-text">
4 pass
</span>
</label>
<label><input type="radio" name="tta_level" class="radio" value="8">
<span class="r-text">
8 pass
</span>
</label>
-->
<label><input type="radio" name="tta_level" class="radio" value="0" checked>
<span class="r-text">
n-pass auto
</span>
</label>
</div>
<div class="option-hint">
TTA makes stable quality but it limits the source image size.
<a href="#" class="tta_rule">
Show the rule of `n-pass auto`.
</a>
<div style="display:none" class="tta_rule_text">
<table>
<tr>
<td>
&lt;= 452x452
</td>
<td>
8 pass
</td>
</tr>
<tr>
<td>
&lt;= 640x640
</td>
<td>
4 pass
</td>
</tr>
<tr>
<td>
&lt;= 905x905
</td>
<td>
2 pass
</td>
</tr>
<tr>
<td>
else
</td>
<td>
1 pass
</td>
</tr>
</table>
</div>
</div>
</div>
<input type="submit" class="button" value="转换"> <input type="submit" class="button" value="转换">

View file

@ -196,3 +196,7 @@ label {
.address { .address {
text-align: center; text-align: center;
} }
.tta_rule_text td {
padding: 4px;
border: 1px solid #ccc;
}

View file

@ -1,5 +1,8 @@
$(function (){ $(function (){
var expires = 365; var g_expires = 365;
var g_max_noise_image = 2560 * 2560;
var g_max_scale_image = 1280 * 1280;
function clear_file() { function clear_file() {
var new_file = $("#file").clone(); var new_file = $("#file").clone();
new_file.change(clear_url); new_file.change(clear_url);
@ -15,17 +18,48 @@ $(function (){
} else { } else {
$(".main-title").html("w<s>/a/</s>ifu2x"); $(".main-title").html("w<s>/a/</s>ifu2x");
} }
$.cookie("style", checked.val(), {expires: expires}); $.cookie("style", checked.val(), {expires: g_expires});
}
function on_click_tta_rule(e) {
e.preventDefault();
e.stopPropagation();
$(".tta_rule_text").toggle();
}
function on_change_tta_level(e) {
var checked = $("input[name=tta_level]:checked");
$.cookie("tta_level", checked.val(), {expires: g_expires});
var level = checked.val();
if (level == 0) {
level = 1;
}
var max_noise_w = Math.floor(Math.pow(g_max_noise_image / level, 0.5));
var max_scale_w = Math.floor(Math.pow(g_max_scale_image / level, 0.5));
var limit_text = $(".file_limits").text();
var hits = 0;
limit_text = limit_text.replace(/\d+x\d+/g, function() {
hits += 1;
if (hits == 1) {
return "" + max_noise_w + "x" + max_noise_w;
} else {
return "" + max_scale_w + "x" + max_scale_w;
}
});
$(".file_limits").text(limit_text);
if (level == 1) {
$(".file_limits").css("color", "");
} else {
$(".file_limits").css("color", "blue");
}
} }
function on_change_noise_level(e) function on_change_noise_level(e)
{ {
var checked = $("input[name=noise]:checked"); var checked = $("input[name=noise]:checked");
$.cookie("noise", checked.val(), {expires: expires}); $.cookie("noise", checked.val(), {expires: g_expires});
} }
function on_change_scale_factor(e) function on_change_scale_factor(e)
{ {
var checked = $("input[name=scale]:checked"); var checked = $("input[name=scale]:checked");
$.cookie("scale", checked.val(), {expires: expires}); $.cookie("scale", checked.val(), {expires: g_expires});
} }
function restore_from_cookie() function restore_from_cookie()
{ {
@ -38,6 +72,9 @@ $(function (){
if ($.cookie("scale")) { if ($.cookie("scale")) {
$("input[name=scale]").filter("[value=" + $.cookie("scale") + "]").prop("checked", true) $("input[name=scale]").filter("[value=" + $.cookie("scale") + "]").prop("checked", true)
} }
if ($.cookie("tta_level")) {
$("input[name=tta_level]").filter("[value=" + $.cookie("tta_level") + "]").prop("checked", true)
}
} }
function uuid() function uuid()
{ {
@ -85,10 +122,13 @@ $(function (){
$("input[name=style]").change(on_change_style); $("input[name=style]").change(on_change_style);
$("input[name=noise]").change(on_change_noise_level); $("input[name=noise]").change(on_change_noise_level);
$("input[name=scale]").change(on_change_scale_factor); $("input[name=scale]").change(on_change_scale_factor);
$("input[name=tta_level]").change(on_change_tta_level);
$("input[name=download]").click(download_with_xhr); $("input[name=download]").click(download_with_xhr);
$("a.tta_rule").click(on_click_tta_rule);
restore_from_cookie(); restore_from_cookie();
on_change_style(); on_change_style();
on_change_scale_factor(); on_change_scale_factor();
on_change_noise_level(); on_change_noise_level();
on_change_tta_level();
}) })

175
web.lua
View file

@ -43,14 +43,16 @@ end
opt.force_cudnn = opt.force_cudnn == 1 opt.force_cudnn = opt.force_cudnn == 1
local ART_MODEL_DIR = path.join(ROOT, "models", "upconv_7", "art") local ART_MODEL_DIR = path.join(ROOT, "models", "upconv_7", "art")
local PHOTO_MODEL_DIR = path.join(ROOT, "models", "photo") local PHOTO_MODEL_DIR = path.join(ROOT, "models", "photo")
local art_scale2_model = w2nn.load_model(path.join(ART_MODEL_DIR, "scale2.0x_model.t7"), opt.force_cudnn) local art_model = {}
local art_noise1_model = w2nn.load_model(path.join(ART_MODEL_DIR, "noise1_model.t7"), opt.force_cudnn) art_model.scale = w2nn.load_model(path.join(ART_MODEL_DIR, "scale2.0x_model.t7"), opt.force_cudnn)
local art_noise2_model = w2nn.load_model(path.join(ART_MODEL_DIR, "noise2_model.t7"), opt.force_cudnn) art_model.noise1_scale = w2nn.load_model(path.join(ART_MODEL_DIR, "noise1_scale2.0x_model.t7"), opt.force_cudnn)
local art_noise3_model = w2nn.load_model(path.join(ART_MODEL_DIR, "noise3_model.t7"), opt.force_cudnn) art_model.noise2_scale = w2nn.load_model(path.join(ART_MODEL_DIR, "noise2_scale2.0x_model.t7"), opt.force_cudnn)
local photo_scale2_model = w2nn.load_model(path.join(PHOTO_MODEL_DIR, "scale2.0x_model.t7"), opt.force_cudnn) art_model.noise3_scale = w2nn.load_model(path.join(ART_MODEL_DIR, "noise3_scale2.0x_model.t7"), opt.force_cudnn)
local photo_noise1_model = w2nn.load_model(path.join(PHOTO_MODEL_DIR, "noise1_model.t7"), opt.force_cudnn) art_model.noise1 = w2nn.load_model(path.join(ART_MODEL_DIR, "noise1_model.t7"), opt.force_cudnn)
local photo_noise2_model = w2nn.load_model(path.join(PHOTO_MODEL_DIR, "noise2_model.t7"), opt.force_cudnn) art_model.noise2 = w2nn.load_model(path.join(ART_MODEL_DIR, "noise2_model.t7"), opt.force_cudnn)
local photo_noise3_model = w2nn.load_model(path.join(PHOTO_MODEL_DIR, "noise3_model.t7"), opt.force_cudnn) art_model.noise3 = w2nn.load_model(path.join(ART_MODEL_DIR, "noise3_model.t7"), opt.force_cudnn)
local photo_model = art_model -- TODO
collectgarbage() collectgarbage()
local CLEANUP_MODEL = false -- if you are using the low memory GPU, you could use this flag. local CLEANUP_MODEL = false -- if you are using the low memory GPU, you could use this flag.
local CACHE_DIR = path.join(ROOT, "cache") local CACHE_DIR = path.join(ROOT, "cache")
@ -63,7 +65,6 @@ local CURL_OPTIONS = {
max_redirects = 2 max_redirects = 2
} }
local CURL_MAX_SIZE = 3 * 1024 * 1024 local CURL_MAX_SIZE = 3 * 1024 * 1024
local TTA_SUPPORT = true
local function valid_size(x, scale, tta_level) local function valid_size(x, scale, tta_level)
if scale == 0 then if scale == 0 then
@ -170,67 +171,42 @@ local function convert(x, meta, options)
meta.alpha = alpha meta.alpha = alpha
return x, meta return x, meta
else else
local model = nil
if options.style == "art" then if options.style == "art" then
if options.border then model = art_model
x = alpha_util.make_border(x, alpha_orig, reconstruct.offset_size(art_scale2_model)) elseif options.style == "photo" then
end model = photo_model
if options.method == "scale" then end
x = reconstruct.scale_tta(art_scale2_model, options.tta_level, 2.0, x, if options.border then
opt.crop_size, opt.batch_size) x = alpha_util.make_border(x, alpha_orig, reconstruct.offset_size(model.scale))
if alpha then end
if not (alpha:size(2) == x:size(2) and alpha:size(3) == x:size(3)) then if (options.method == "scale" or
alpha = reconstruct.scale(art_scale2_model, 2.0, alpha, options.method == "noise1_scale" or
opt.crop_size, opt.batch_size) options.method == "noise2_scale" or
image_loader.save_png(alpha_cache_file, alpha) options.method == "noise3_scale")
end then
x = reconstruct.scale_tta(model[options.method], options.tta_level, 2.0, x,
opt.crop_size, opt.batch_size)
if alpha then
if not (alpha:size(2) == x:size(2) and alpha:size(3) == x:size(3)) then
alpha = reconstruct.scale(model.scale, 2.0, alpha,
opt.crop_size, opt.batch_size)
image_loader.save_png(alpha_cache_file, alpha)
cleanup_model(model.scale)
end end
cleanup_model(art_scale2_model)
elseif options.method == "noise1" then
x = reconstruct.image_tta(art_noise1_model, options.tta_level,
x, opt.crop_size, opt.batch_size)
cleanup_model(art_noise1_model)
elseif options.method == "noise2" then
x = reconstruct.image_tta(art_noise2_model, options.tta_level,
x, opt.crop_size, opt.batch_size)
cleanup_model(art_noise2_model)
elseif options.method == "noise3" then
x = reconstruct.image_tta(art_noise3_model, options.tta_level,
x, opt.crop_size, opt.batch_size)
cleanup_model(art_noise3_model)
end
else -- photo
if options.border then
x = alpha_util.make_border(x, alpha, reconstruct.offset_size(photo_scale2_model))
end
if options.method == "scale" then
x = reconstruct.scale_tta(photo_scale2_model, options.tta_level, 2.0, x,
opt.crop_size, opt.batch_size)
if alpha then
if not (alpha:size(2) == x:size(2) and alpha:size(3) == x:size(3)) then
alpha = reconstruct.scale(photo_scale2_model, 2.0, alpha,
opt.crop_size, opt.batch_size)
image_loader.save_png(alpha_cache_file, alpha)
end
end
cleanup_model(photo_scale2_model)
elseif options.method == "noise1" then
x = reconstruct.image_tta(photo_noise1_model, options.tta_level,
x, opt.crop_size, opt.batch_size)
cleanup_model(photo_noise1_model)
elseif options.method == "noise2" then
x = reconstruct.image_tta(photo_noise2_model, options.tta_level,
x, opt.crop_size, opt.batch_size)
cleanup_model(photo_noise2_model)
elseif options.method == "noise3" then
x = reconstruct.image_tta(photo_noise3_model, options.tta_level,
x, opt.crop_size, opt.batch_size)
cleanup_model(photo_noise3_model)
end end
cleanup_model(model[options.method])
elseif (options.method == "noise1" or
options.method == "noise2" or
options.method == "noise3")
then
x = reconstruct.image_tta(model[options.method], options.tta_level,
x, opt.crop_size, opt.batch_size)
cleanup_model(model[options.method])
end end
image_loader.save_png(cache_file, x) image_loader.save_png(cache_file, x)
meta = tablex.copy(meta) meta = tablex.copy(meta)
meta.alpha = alpha meta.alpha = alpha
return x, meta return x, meta
end end
end end
@ -264,15 +240,11 @@ function APIHandler:post()
local style = self:get_argument("style", "art") local style = self:get_argument("style", "art")
local download = (self:get_argument("download", "")):len() local download = (self:get_argument("download", "")):len()
if not TTA_SUPPORT then if tta_level == 0 then
tta_level = 1 -- disable TTA mode tta_level = auto_tta_level(x, scale)
else end
if tta_level == 0 then if not (tta_level == 0 or tta_level == 1 or tta_level == 2 or tta_level == 4 or tta_level == 8) then
tta_level = auto_tta_level(x, scale) tta_level = 1
end
if not (tta_level == 0 or tta_level == 1 or tta_level == 2 or tta_level == 4 or tta_level == 8) then
tta_level = 1
end
end end
if style ~= "art" then if style ~= "art" then
style = "photo" -- style must be art or photo style = "photo" -- style must be art or photo
@ -286,40 +258,37 @@ function APIHandler:post()
if scale ~= 0 and meta.alpha then if scale ~= 0 and meta.alpha then
border = true border = true
end end
if noise == 1 then if (scale == 1 or scale == 2) and (noise == 0) then
prefix = style .. "_noise1_tta_" .. tta_level .. "_" prefix = style .. "_scale_tta_" .. tta_level .. "_"
x = convert(x, meta, {method = "noise1", style = style, tta_level = tta_level, x, meta = convert(x, meta, {method = "scale",
prefix = prefix .. hash, style = style,
alpha_prefix = alpha_prefix, border = border}) tta_level = tta_level,
border = false prefix = prefix .. hash,
elseif noise == 2 then alpha_prefix = alpha_prefix,
prefix = style .. "_noise2_tta_" .. tta_level .. "_" border = border})
x = convert(x, meta, {method = "noise2", style = style, tta_level = tta_level,
prefix = prefix .. hash,
alpha_prefix = alpha_prefix, border = border})
border = false
elseif noise == 3 then
prefix = style .. "_noise3_tta_" .. tta_level .. "_"
x = convert(x, meta, {method = "noise3", style = style, tta_level = tta_level,
prefix = prefix .. hash,
alpha_prefix = alpha_prefix, border = border})
border = false
end
if scale == 1 or scale == 2 then
if noise == 1 then
prefix = style .. "_noise1_scale_tta_" .. tta_level .. "_"
elseif noise == 2 then
prefix = style .. "_noise2_scale_tta_" .. tta_level .. "_"
elseif noise == 3 then
prefix = style .. "_noise3_scale_tta_" .. tta_level .. "_"
else
prefix = style .. "_scale_tta_" .. tta_level .. "_"
end
x, meta = convert(x, meta, {method = "scale", style = style, tta_level = tta_level,
prefix = prefix .. hash, alpha_prefix = alpha_prefix, border = border})
if scale == 1 then if scale == 1 then
x = iproc.scale(x, x:size(3) * (1.6 / 2.0), x:size(2) * (1.6 / 2.0), "Sinc") x = iproc.scale(x, x:size(3) * (1.6 / 2.0), x:size(2) * (1.6 / 2.0), "Sinc")
end end
elseif (scale == 1 or scale == 2) and (noise == 1 or noise == 2 or noise == 3) then
prefix = style .. string.format("_noise%d_scale_tta_", noise) .. tta_level .. "_"
x, meta = convert(x, meta, {method = string.format("noise%d_scale", noise),
style = style,
tta_level = tta_level,
prefix = prefix .. hash,
alpha_prefix = alpha_prefix,
border = border})
if scale == 1 then
x = iproc.scale(x, x:size(3) * (1.6 / 2.0), x:size(2) * (1.6 / 2.0), "Sinc")
end
elseif (noise == 1 or noise == 2 or noise == 3) then
prefix = style .. string.format("_noise%d_tta_", noise) .. tta_level .. "_"
x = convert(x, meta, {method = string.format("noise%d", noise),
style = style,
tta_level = tta_level,
prefix = prefix .. hash,
alpha_prefix = alpha_prefix,
border = border})
border = false
end end
end end
local name = nil local name = nil

View file

@ -87,11 +87,13 @@
<%= t[:artwork] %> <%= t[:artwork] %>
</span> </span>
</label> </label>
<!--
<label><input type="radio" name="style" class="radio" value="photo"> <label><input type="radio" name="style" class="radio" value="photo">
<span class="r-text"> <span class="r-text">
<%= t[:photo] %> <%= t[:photo] %>
</span> </span>
</label> </label>
-->
</div> </div>
</div> </div>
<div class="option-box"> <div class="option-box">