diff --git a/HEAD/.buildinfo b/HEAD/.buildinfo
index 266a25ce69fb210bd6d3de43fdd6d4d850006c3d..4949c45bb2981428680aa23d72c4d5c74a54b1e8 100644
--- a/HEAD/.buildinfo
+++ b/HEAD/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 96bb33fbf174e6f374e1388ad5f102ab
+config: 071495c32241709812a48ab5da346204
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/HEAD/.doctrees/api_doc/ascii/drawing.doctree b/HEAD/.doctrees/api_doc/ascii/drawing.doctree
index 99c95242e86a4493c9008f6de0a8cf3ce6a16a93..0e102ebe53de89fb030e600dff0693cacd16bd52 100644
Binary files a/HEAD/.doctrees/api_doc/ascii/drawing.doctree and b/HEAD/.doctrees/api_doc/ascii/drawing.doctree differ
diff --git a/HEAD/.doctrees/api_doc/ascii/index.doctree b/HEAD/.doctrees/api_doc/ascii/index.doctree
index 9055e0c90f25d8c0567a409f5240f64f418ee947..bb62bf871c755f0b3e51886b5831f7f01dc952dc 100644
Binary files a/HEAD/.doctrees/api_doc/ascii/index.doctree and b/HEAD/.doctrees/api_doc/ascii/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/config/index.doctree b/HEAD/.doctrees/api_doc/config/index.doctree
index 6e67e64f442850ac8217f985f66d28776a619b71..ffceb1ac8d8327ddf65ee2b38922ebfc87a52a7e 100644
Binary files a/HEAD/.doctrees/api_doc/config/index.doctree and b/HEAD/.doctrees/api_doc/config/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/config/meta.doctree b/HEAD/.doctrees/api_doc/config/meta.doctree
index 435e23f4daf5fc654a1dad533eeb0b6ccbc946da..815c5902d0a8fc4ea46c4f2d129c114da3aea1d8 100644
Binary files a/HEAD/.doctrees/api_doc/config/meta.doctree and b/HEAD/.doctrees/api_doc/config/meta.doctree differ
diff --git a/HEAD/.doctrees/api_doc/data/background.doctree b/HEAD/.doctrees/api_doc/data/background.doctree
index add6805362e664f8c7251c266654a8bbd76caef6..e1768fc232299ab9484e1bf67f28889ece318d68 100644
Binary files a/HEAD/.doctrees/api_doc/data/background.doctree and b/HEAD/.doctrees/api_doc/data/background.doctree differ
diff --git a/HEAD/.doctrees/api_doc/data/blob.doctree b/HEAD/.doctrees/api_doc/data/blob.doctree
index f4c72f09ca5a989639fdd654b485cb67546dd181..c5f97ed2f601c105f7e884a917d117ef441ffc67 100644
Binary files a/HEAD/.doctrees/api_doc/data/blob.doctree and b/HEAD/.doctrees/api_doc/data/blob.doctree differ
diff --git a/HEAD/.doctrees/api_doc/data/decode.doctree b/HEAD/.doctrees/api_doc/data/decode.doctree
index 56902f29a2e539d20d77522a15a30d046d8b0723..431ddc335d339b66592bb1739e128b1d8fdc6e75 100644
Binary files a/HEAD/.doctrees/api_doc/data/decode.doctree and b/HEAD/.doctrees/api_doc/data/decode.doctree differ
diff --git a/HEAD/.doctrees/api_doc/data/encode.doctree b/HEAD/.doctrees/api_doc/data/encode.doctree
index 61f439bebb710078ba143469b6d276bbc2cc5f40..17bc036ded17eed905e9dedb9850456658a47589 100644
Binary files a/HEAD/.doctrees/api_doc/data/encode.doctree and b/HEAD/.doctrees/api_doc/data/encode.doctree differ
diff --git a/HEAD/.doctrees/api_doc/data/image.doctree b/HEAD/.doctrees/api_doc/data/image.doctree
index 78cedc0aa583d0a8692bfa7d84f9e7c0de05cffa..ce100c365a6eb1dc4afa6d4a4c5fe3df83d3da01 100644
Binary files a/HEAD/.doctrees/api_doc/data/image.doctree and b/HEAD/.doctrees/api_doc/data/image.doctree differ
diff --git a/HEAD/.doctrees/api_doc/data/index.doctree b/HEAD/.doctrees/api_doc/data/index.doctree
index 153d24e1d2ec39bcc93f71e0af702e3c905c0c39..4aafad8a13ed6f712b41a5dd31c49b900e08720e 100644
Binary files a/HEAD/.doctrees/api_doc/data/index.doctree and b/HEAD/.doctrees/api_doc/data/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/data/layer.doctree b/HEAD/.doctrees/api_doc/data/layer.doctree
index 947eac5591991791a36fa021650b787d4fde2745..0b218cddbf541f88161a01a88194f0acb0664dc5 100644
Binary files a/HEAD/.doctrees/api_doc/data/layer.doctree and b/HEAD/.doctrees/api_doc/data/layer.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/booru_yolo.doctree b/HEAD/.doctrees/api_doc/detect/booru_yolo.doctree
index f241536c0665186fe8fc7a2b5bf855e11f5d5324..e85a859c9742d4da0f3bab62db119b18304b13e8 100644
Binary files a/HEAD/.doctrees/api_doc/detect/booru_yolo.doctree and b/HEAD/.doctrees/api_doc/detect/booru_yolo.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/censor.doctree b/HEAD/.doctrees/api_doc/detect/censor.doctree
index 3f74848bfaa60f7535f8abb90f9170c778019e77..973af8bb041068d6b56136f8a31333719204333e 100644
Binary files a/HEAD/.doctrees/api_doc/detect/censor.doctree and b/HEAD/.doctrees/api_doc/detect/censor.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/eye.doctree b/HEAD/.doctrees/api_doc/detect/eye.doctree
index 706a4b29075da4b5ca9f9504f76a5866958d06a3..d401b7361e8b47fbdc44f11f25817cefc4bbe883 100644
Binary files a/HEAD/.doctrees/api_doc/detect/eye.doctree and b/HEAD/.doctrees/api_doc/detect/eye.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/face.doctree b/HEAD/.doctrees/api_doc/detect/face.doctree
index 525b3985b7163a589d4fb1948a9d790423d20d9e..d984e4c623cc192a7aab9a70891d634ad9471b84 100644
Binary files a/HEAD/.doctrees/api_doc/detect/face.doctree and b/HEAD/.doctrees/api_doc/detect/face.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/halfbody.doctree b/HEAD/.doctrees/api_doc/detect/halfbody.doctree
index aca8fd61475587de9145d7220a8252d2b8147c5d..828e71e94c0a208c9666ca82e1730ae9af2766db 100644
Binary files a/HEAD/.doctrees/api_doc/detect/halfbody.doctree and b/HEAD/.doctrees/api_doc/detect/halfbody.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/hand.doctree b/HEAD/.doctrees/api_doc/detect/hand.doctree
index d4c3c02a2de951c09184d9aa7f1cdf670f471d79..201ee1792664174ec47b5334a2de430e89f6094c 100644
Binary files a/HEAD/.doctrees/api_doc/detect/hand.doctree and b/HEAD/.doctrees/api_doc/detect/hand.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/head.doctree b/HEAD/.doctrees/api_doc/detect/head.doctree
index c79f84f04ebeada8e75486ddcefa3e932979fb8d..d4ee08dc6ba18ae85137b3c2b591bb19c56cc5c2 100644
Binary files a/HEAD/.doctrees/api_doc/detect/head.doctree and b/HEAD/.doctrees/api_doc/detect/head.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/index.doctree b/HEAD/.doctrees/api_doc/detect/index.doctree
index c240eb318dd8ca1960c057c1feeb5a38dd742c83..653fadcb089eaf545bd3bb7677194bce0d0ce09c 100644
Binary files a/HEAD/.doctrees/api_doc/detect/index.doctree and b/HEAD/.doctrees/api_doc/detect/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/nudenet.doctree b/HEAD/.doctrees/api_doc/detect/nudenet.doctree
index 99a558663a6ea3190cb7b669e1c44279d2660e48..61366dfe1d3efb937eb15ccb43daa918025d62a7 100644
Binary files a/HEAD/.doctrees/api_doc/detect/nudenet.doctree and b/HEAD/.doctrees/api_doc/detect/nudenet.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/person.doctree b/HEAD/.doctrees/api_doc/detect/person.doctree
index 649931fd232a67796e42487b6f5c208d02159a9c..a03e316a48b8610b0aa06096fdddef2feb7b00f0 100644
Binary files a/HEAD/.doctrees/api_doc/detect/person.doctree and b/HEAD/.doctrees/api_doc/detect/person.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/similarity.doctree b/HEAD/.doctrees/api_doc/detect/similarity.doctree
index 19e9228f47f0f9bbe1a786f8c15978173722d69c..fce1a9e56c89e99e00518328217cee2b9c09f3c7 100644
Binary files a/HEAD/.doctrees/api_doc/detect/similarity.doctree and b/HEAD/.doctrees/api_doc/detect/similarity.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/text.doctree b/HEAD/.doctrees/api_doc/detect/text.doctree
index 89dc574fd85793d9fba7ac36be2c1e68704db8e4..c7a82f67752ec88b39f059c34d39620d578ec183 100644
Binary files a/HEAD/.doctrees/api_doc/detect/text.doctree and b/HEAD/.doctrees/api_doc/detect/text.doctree differ
diff --git a/HEAD/.doctrees/api_doc/detect/visual.doctree b/HEAD/.doctrees/api_doc/detect/visual.doctree
index 7304d4c7ddc05e41ee4c7ad7e0d029852ea0815f..5b26f6afb155bbccb381c984b2ec8e5c79b71e79 100644
Binary files a/HEAD/.doctrees/api_doc/detect/visual.doctree and b/HEAD/.doctrees/api_doc/detect/visual.doctree differ
diff --git a/HEAD/.doctrees/api_doc/edge/canny.doctree b/HEAD/.doctrees/api_doc/edge/canny.doctree
index 24ca3b581b6474127864b9b4d8dc7042a37b6119..077b6e32b68fa1b5d3e62af483ca72905c56e42a 100644
Binary files a/HEAD/.doctrees/api_doc/edge/canny.doctree and b/HEAD/.doctrees/api_doc/edge/canny.doctree differ
diff --git a/HEAD/.doctrees/api_doc/edge/index.doctree b/HEAD/.doctrees/api_doc/edge/index.doctree
index 0ad38ad2ae3694a5f2eb22510256eb29e453df90..627e98c1b4b1b313000e41d833b2af94b794b0a2 100644
Binary files a/HEAD/.doctrees/api_doc/edge/index.doctree and b/HEAD/.doctrees/api_doc/edge/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/edge/lineart.doctree b/HEAD/.doctrees/api_doc/edge/lineart.doctree
index 32adc03818fbabeed5bdcef242684994629a7112..6e86e86842079e22332b1f0df4c5f4a7fb326d2e 100644
Binary files a/HEAD/.doctrees/api_doc/edge/lineart.doctree and b/HEAD/.doctrees/api_doc/edge/lineart.doctree differ
diff --git a/HEAD/.doctrees/api_doc/edge/lineart_anime.doctree b/HEAD/.doctrees/api_doc/edge/lineart_anime.doctree
index 79d6a8fb1b419d7495248ab54a48caedeb75eaa4..65620eb56d4c548d37ce3cac46dad0f1894add5f 100644
Binary files a/HEAD/.doctrees/api_doc/edge/lineart_anime.doctree and b/HEAD/.doctrees/api_doc/edge/lineart_anime.doctree differ
diff --git a/HEAD/.doctrees/api_doc/generic/classify.doctree b/HEAD/.doctrees/api_doc/generic/classify.doctree
index b33f7acae37a83f71cdd1a0cb320e35f4851b716..b0ec94ce976814784db6dffe13014f4557eb8b4d 100644
Binary files a/HEAD/.doctrees/api_doc/generic/classify.doctree and b/HEAD/.doctrees/api_doc/generic/classify.doctree differ
diff --git a/HEAD/.doctrees/api_doc/generic/clip.doctree b/HEAD/.doctrees/api_doc/generic/clip.doctree
index 5c56cc607832ab8bdd22d73b586673121ef6cad6..3aa7b446880035ff5bdd47b8d855e37acdb15634 100644
Binary files a/HEAD/.doctrees/api_doc/generic/clip.doctree and b/HEAD/.doctrees/api_doc/generic/clip.doctree differ
diff --git a/HEAD/.doctrees/api_doc/generic/enhance.doctree b/HEAD/.doctrees/api_doc/generic/enhance.doctree
index c3d5d73c039dde72db336435505261fb20ba460d..b2d8e44410fd0ff97b1b287fd2c7394cf2f33c75 100644
Binary files a/HEAD/.doctrees/api_doc/generic/enhance.doctree and b/HEAD/.doctrees/api_doc/generic/enhance.doctree differ
diff --git a/HEAD/.doctrees/api_doc/generic/index.doctree b/HEAD/.doctrees/api_doc/generic/index.doctree
index e2db849079168e55e5c0056f00add4d81eae9da8..837f0635e335e1556d6a44b39ed29da5166bd7c1 100644
Binary files a/HEAD/.doctrees/api_doc/generic/index.doctree and b/HEAD/.doctrees/api_doc/generic/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/generic/siglip.doctree b/HEAD/.doctrees/api_doc/generic/siglip.doctree
index 8f0d1c735073631582062d2e76f0da4818340f4c..074458f505cedc3ab99185c8c4e8bb3ec1cfb1b3 100644
Binary files a/HEAD/.doctrees/api_doc/generic/siglip.doctree and b/HEAD/.doctrees/api_doc/generic/siglip.doctree differ
diff --git a/HEAD/.doctrees/api_doc/generic/yolo.doctree b/HEAD/.doctrees/api_doc/generic/yolo.doctree
index 0f9008f46a1c961027bc2425bb6968f78d75cff7..661e6f279f2148e8af7b9b2aa5acd873d03102b0 100644
Binary files a/HEAD/.doctrees/api_doc/generic/yolo.doctree and b/HEAD/.doctrees/api_doc/generic/yolo.doctree differ
diff --git a/HEAD/.doctrees/api_doc/metadata/geninfo.doctree b/HEAD/.doctrees/api_doc/metadata/geninfo.doctree
index 91fd33fbb78b9233c4ab469eb500d23d3cb82c72..d81f5b25b914f083c48572e7c5a03897128ada70 100644
Binary files a/HEAD/.doctrees/api_doc/metadata/geninfo.doctree and b/HEAD/.doctrees/api_doc/metadata/geninfo.doctree differ
diff --git a/HEAD/.doctrees/api_doc/metadata/index.doctree b/HEAD/.doctrees/api_doc/metadata/index.doctree
index 0e28471ff1eafe756ceb0a23e4876032ced658e9..42298d07a0f31bd2eaa9483eb7c6c0132e0cf1c7 100644
Binary files a/HEAD/.doctrees/api_doc/metadata/index.doctree and b/HEAD/.doctrees/api_doc/metadata/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/metadata/lsb.doctree b/HEAD/.doctrees/api_doc/metadata/lsb.doctree
index 2941e637a8b56bb5279d7da9c5896953e784a05c..13bbc20ef4938b857b18c291cc5d9774599162bc 100644
Binary files a/HEAD/.doctrees/api_doc/metadata/lsb.doctree and b/HEAD/.doctrees/api_doc/metadata/lsb.doctree differ
diff --git a/HEAD/.doctrees/api_doc/metrics/aesthetic.doctree b/HEAD/.doctrees/api_doc/metrics/aesthetic.doctree
index 95aafb4ddc83115049edbdb9b3a0e09e50e357bb..31871a67e375b15193250495729bcd40736dcaf3 100644
Binary files a/HEAD/.doctrees/api_doc/metrics/aesthetic.doctree and b/HEAD/.doctrees/api_doc/metrics/aesthetic.doctree differ
diff --git a/HEAD/.doctrees/api_doc/metrics/ccip.doctree b/HEAD/.doctrees/api_doc/metrics/ccip.doctree
index c9ee6b2584c61c05ed790849cb8c756519190396..b07ab9bed2d97a5f9f06d6636dca0be000c6c9ca 100644
Binary files a/HEAD/.doctrees/api_doc/metrics/ccip.doctree and b/HEAD/.doctrees/api_doc/metrics/ccip.doctree differ
diff --git a/HEAD/.doctrees/api_doc/metrics/dbaesthetic.doctree b/HEAD/.doctrees/api_doc/metrics/dbaesthetic.doctree
index 1f0dd2242fea25f36bdafcdc5ca3fb66d7c03c85..f17e92d01fb84e8c4bd994079afd47f5a600a012 100644
Binary files a/HEAD/.doctrees/api_doc/metrics/dbaesthetic.doctree and b/HEAD/.doctrees/api_doc/metrics/dbaesthetic.doctree differ
diff --git a/HEAD/.doctrees/api_doc/metrics/index.doctree b/HEAD/.doctrees/api_doc/metrics/index.doctree
index 0e543731ccab812e4bb0e9a104905df2d413d2fe..bc4d2aa4b72c16d075be53d2689b2d7b26104ae6 100644
Binary files a/HEAD/.doctrees/api_doc/metrics/index.doctree and b/HEAD/.doctrees/api_doc/metrics/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/metrics/laplacian.doctree b/HEAD/.doctrees/api_doc/metrics/laplacian.doctree
index 61fe8dc9c1903eab65e3d6b2c0f91ce41c304d25..7eb664f603bdc8af61ecbffe04be1021eec30560 100644
Binary files a/HEAD/.doctrees/api_doc/metrics/laplacian.doctree and b/HEAD/.doctrees/api_doc/metrics/laplacian.doctree differ
diff --git a/HEAD/.doctrees/api_doc/metrics/lpips.doctree b/HEAD/.doctrees/api_doc/metrics/lpips.doctree
index 62dbb0e7f43810306976ba984072f8c92972c368..5286663346ff2f4d824ad099166540af264a1e6b 100644
Binary files a/HEAD/.doctrees/api_doc/metrics/lpips.doctree and b/HEAD/.doctrees/api_doc/metrics/lpips.doctree differ
diff --git a/HEAD/.doctrees/api_doc/metrics/psnr_.doctree b/HEAD/.doctrees/api_doc/metrics/psnr_.doctree
index 34107e5c24dbedad05e0b4eb31d7e8c25a1ffc0c..66a42977673a5b4ba0b219b21141a3845177f67f 100644
Binary files a/HEAD/.doctrees/api_doc/metrics/psnr_.doctree and b/HEAD/.doctrees/api_doc/metrics/psnr_.doctree differ
diff --git a/HEAD/.doctrees/api_doc/ocr/index.doctree b/HEAD/.doctrees/api_doc/ocr/index.doctree
index 0dda0559de98774d69fe342a1c19cc8ec93fb6dd..d076cb9f58c57ccf4333187717bd2b8c59fd4312 100644
Binary files a/HEAD/.doctrees/api_doc/ocr/index.doctree and b/HEAD/.doctrees/api_doc/ocr/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/operate/align.doctree b/HEAD/.doctrees/api_doc/operate/align.doctree
index b9841d8d6ad2349daf394b9991b02a58f6e37143..537574f7df6e7a9cc7cd91ab01a5fa2fd7400b55 100644
Binary files a/HEAD/.doctrees/api_doc/operate/align.doctree and b/HEAD/.doctrees/api_doc/operate/align.doctree differ
diff --git a/HEAD/.doctrees/api_doc/operate/censor.doctree b/HEAD/.doctrees/api_doc/operate/censor.doctree
index 5f5139a4a4a42088c7aeef69228cff533306261a..06f1fc63d43c6256f9cad1b7c90d381af923c03f 100644
Binary files a/HEAD/.doctrees/api_doc/operate/censor.doctree and b/HEAD/.doctrees/api_doc/operate/censor.doctree differ
diff --git a/HEAD/.doctrees/api_doc/operate/imgcensor.doctree b/HEAD/.doctrees/api_doc/operate/imgcensor.doctree
index 1721e4ebb1ba8a8dd6206324d3e5b7bc11cbb0cf..03c4177a94c76f8b9b258cefbdd3d6a7eba79708 100644
Binary files a/HEAD/.doctrees/api_doc/operate/imgcensor.doctree and b/HEAD/.doctrees/api_doc/operate/imgcensor.doctree differ
diff --git a/HEAD/.doctrees/api_doc/operate/index.doctree b/HEAD/.doctrees/api_doc/operate/index.doctree
index 6ed0e0cdcd520dc6fa2e2cb2e08bf9427bb46af1..ad43eb6446842a4f14e90f5c44a4196081b38170 100644
Binary files a/HEAD/.doctrees/api_doc/operate/index.doctree and b/HEAD/.doctrees/api_doc/operate/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/operate/squeeze.doctree b/HEAD/.doctrees/api_doc/operate/squeeze.doctree
index 756140d0426fe343972fea0e27c580d540e59f5b..f628966551e113c4c16d3889d96b95c6f511c302 100644
Binary files a/HEAD/.doctrees/api_doc/operate/squeeze.doctree and b/HEAD/.doctrees/api_doc/operate/squeeze.doctree differ
diff --git a/HEAD/.doctrees/api_doc/pose/dwpose.doctree b/HEAD/.doctrees/api_doc/pose/dwpose.doctree
index c3bcfd4226130cbb6e24558d94f09a1e75edf574..f43ed103f2843af7aba2379603ff81ba1ce3bd95 100644
Binary files a/HEAD/.doctrees/api_doc/pose/dwpose.doctree and b/HEAD/.doctrees/api_doc/pose/dwpose.doctree differ
diff --git a/HEAD/.doctrees/api_doc/pose/format.doctree b/HEAD/.doctrees/api_doc/pose/format.doctree
index afc483f48aba0de0fd3fd6d05a2288d6c42308e3..d9a4f926865dc217b3076721313439c06f140ae9 100644
Binary files a/HEAD/.doctrees/api_doc/pose/format.doctree and b/HEAD/.doctrees/api_doc/pose/format.doctree differ
diff --git a/HEAD/.doctrees/api_doc/pose/index.doctree b/HEAD/.doctrees/api_doc/pose/index.doctree
index c8017bab1c0a5f474deeeabe872414ebc9d70714..b0a171d6dd2c7165fc8993be5da7fdca6ced6aeb 100644
Binary files a/HEAD/.doctrees/api_doc/pose/index.doctree and b/HEAD/.doctrees/api_doc/pose/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/pose/visual.doctree b/HEAD/.doctrees/api_doc/pose/visual.doctree
index 15502b869725fffcd4723b4e7439b340a5f693dd..473ecd6d0d82c0970d300387c32e3db85f1f0fe3 100644
Binary files a/HEAD/.doctrees/api_doc/pose/visual.doctree and b/HEAD/.doctrees/api_doc/pose/visual.doctree differ
diff --git a/HEAD/.doctrees/api_doc/preprocess/base.doctree b/HEAD/.doctrees/api_doc/preprocess/base.doctree
index 57b638c8fa7c027b40825d75523912f204d92cfa..2635017219cd3ac3a4e65380019d6bccc602b476 100644
Binary files a/HEAD/.doctrees/api_doc/preprocess/base.doctree and b/HEAD/.doctrees/api_doc/preprocess/base.doctree differ
diff --git a/HEAD/.doctrees/api_doc/preprocess/index.doctree b/HEAD/.doctrees/api_doc/preprocess/index.doctree
index 8c3cf3cc822e23317981ffa99df8669cd990a0e2..10c05ca4a806b1caa40242150bcb212361375694 100644
Binary files a/HEAD/.doctrees/api_doc/preprocess/index.doctree and b/HEAD/.doctrees/api_doc/preprocess/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/preprocess/pillow.doctree b/HEAD/.doctrees/api_doc/preprocess/pillow.doctree
index b58588a46df010956ba5f5f9064a595a8d7820b8..4514c80b715ead5ebf7b28584cb9a5e287b85ea6 100644
Binary files a/HEAD/.doctrees/api_doc/preprocess/pillow.doctree and b/HEAD/.doctrees/api_doc/preprocess/pillow.doctree differ
diff --git a/HEAD/.doctrees/api_doc/preprocess/torchvision.doctree b/HEAD/.doctrees/api_doc/preprocess/torchvision.doctree
index 1240f9a54759554df8d164efb8b2013ac0e16a74..f3b9ec978aea45bf16547bcac42589c91b1650ae 100644
Binary files a/HEAD/.doctrees/api_doc/preprocess/torchvision.doctree and b/HEAD/.doctrees/api_doc/preprocess/torchvision.doctree differ
diff --git a/HEAD/.doctrees/api_doc/preprocess/transformers.doctree b/HEAD/.doctrees/api_doc/preprocess/transformers.doctree
index 3deea1e9667a8ea8551df024fa60c27f11af3004..8349ff256e01fc2e5f92286db9a6c6dea943073c 100644
Binary files a/HEAD/.doctrees/api_doc/preprocess/transformers.doctree and b/HEAD/.doctrees/api_doc/preprocess/transformers.doctree differ
diff --git a/HEAD/.doctrees/api_doc/resource/background.doctree b/HEAD/.doctrees/api_doc/resource/background.doctree
index 5cc95f6772924cd0d8e643c06525fe5d1425e825..7b298513e37004cc22e2cc791794cbc19797690d 100644
Binary files a/HEAD/.doctrees/api_doc/resource/background.doctree and b/HEAD/.doctrees/api_doc/resource/background.doctree differ
diff --git a/HEAD/.doctrees/api_doc/resource/index.doctree b/HEAD/.doctrees/api_doc/resource/index.doctree
index 6b233f9442d968d7b00ca5b7572412068f1879fe..d2c3c69f16c2336ef01e0ae8550d4bb8499ee835 100644
Binary files a/HEAD/.doctrees/api_doc/resource/index.doctree and b/HEAD/.doctrees/api_doc/resource/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/restore/adversarial.doctree b/HEAD/.doctrees/api_doc/restore/adversarial.doctree
index 933828ff7a28c193a2119b1c2308b502bd2d0ff7..948a111c0c8c8e687712eb732004d32f65f1fd5a 100644
Binary files a/HEAD/.doctrees/api_doc/restore/adversarial.doctree and b/HEAD/.doctrees/api_doc/restore/adversarial.doctree differ
diff --git a/HEAD/.doctrees/api_doc/restore/index.doctree b/HEAD/.doctrees/api_doc/restore/index.doctree
index c0192497ba3f5044791382038520cbde7fae6573..2d212809449490c3b774eb1f025d5a4ed24f6a7b 100644
Binary files a/HEAD/.doctrees/api_doc/restore/index.doctree and b/HEAD/.doctrees/api_doc/restore/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/restore/nafnet.doctree b/HEAD/.doctrees/api_doc/restore/nafnet.doctree
index b7c8865f800f03b0ba5e1a82ff8197af795ebeab..58d1c908f7dc946665edb6f84753fb4059073a07 100644
Binary files a/HEAD/.doctrees/api_doc/restore/nafnet.doctree and b/HEAD/.doctrees/api_doc/restore/nafnet.doctree differ
diff --git a/HEAD/.doctrees/api_doc/restore/scunet.doctree b/HEAD/.doctrees/api_doc/restore/scunet.doctree
index f91c1ccdeaddc6aecf429f569ab08ccc099c3cf4..81310e1efe54be757284111e850ea34601080ace 100644
Binary files a/HEAD/.doctrees/api_doc/restore/scunet.doctree and b/HEAD/.doctrees/api_doc/restore/scunet.doctree differ
diff --git a/HEAD/.doctrees/api_doc/sd/index.doctree b/HEAD/.doctrees/api_doc/sd/index.doctree
index 5afa9a3582d356a3da9b9a55b756899213a31dc5..d544a1036af9f79267332e4b2b4f3251d671f56c 100644
Binary files a/HEAD/.doctrees/api_doc/sd/index.doctree and b/HEAD/.doctrees/api_doc/sd/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/sd/metadata.doctree b/HEAD/.doctrees/api_doc/sd/metadata.doctree
index 8f25340b1cff4d15725c170d1f41f4f9579a7a52..c0dc57b4cdf446d29551c746d1576a4c0af6960a 100644
Binary files a/HEAD/.doctrees/api_doc/sd/metadata.doctree and b/HEAD/.doctrees/api_doc/sd/metadata.doctree differ
diff --git a/HEAD/.doctrees/api_doc/sd/model.doctree b/HEAD/.doctrees/api_doc/sd/model.doctree
index a6c85f24a0da6ef6a6c8ee2618f935084e3a33fa..6c92249c528ccf0fad5cf5d707701285de1bb94d 100644
Binary files a/HEAD/.doctrees/api_doc/sd/model.doctree and b/HEAD/.doctrees/api_doc/sd/model.doctree differ
diff --git a/HEAD/.doctrees/api_doc/sd/nai.doctree b/HEAD/.doctrees/api_doc/sd/nai.doctree
index 97769eea5ef80bee217a25d18312eeb0428785c4..33221261de54c39b9e1e3847510b9e93d14a00a2 100644
Binary files a/HEAD/.doctrees/api_doc/sd/nai.doctree and b/HEAD/.doctrees/api_doc/sd/nai.doctree differ
diff --git a/HEAD/.doctrees/api_doc/segment/index.doctree b/HEAD/.doctrees/api_doc/segment/index.doctree
index a919e3b99bb8d8e852cb6f645ad02564ef5dd86a..ecdbfad48789bd51a9350090913cd5a49557e266 100644
Binary files a/HEAD/.doctrees/api_doc/segment/index.doctree and b/HEAD/.doctrees/api_doc/segment/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/segment/isnetis.doctree b/HEAD/.doctrees/api_doc/segment/isnetis.doctree
index e2eb53bde2cd037df8da281b2b9d39eb71a9da71..a4b9abb076313bf1917fe959ec76cf8b44fd78a9 100644
Binary files a/HEAD/.doctrees/api_doc/segment/isnetis.doctree and b/HEAD/.doctrees/api_doc/segment/isnetis.doctree differ
diff --git a/HEAD/.doctrees/api_doc/tagging/blacklist.doctree b/HEAD/.doctrees/api_doc/tagging/blacklist.doctree
index 366a97342ee57c5b0ff6728d43cfdd8bbeac7183..16c90289b7be234c2f521dd63ceb2210ba203bcb 100644
Binary files a/HEAD/.doctrees/api_doc/tagging/blacklist.doctree and b/HEAD/.doctrees/api_doc/tagging/blacklist.doctree differ
diff --git a/HEAD/.doctrees/api_doc/tagging/character.doctree b/HEAD/.doctrees/api_doc/tagging/character.doctree
index 245ee7ac03a7c1071692a985399d34ce90ee5bcd..7d8a9a3f6e84766538efc7a8f78e9cb67d899bd1 100644
Binary files a/HEAD/.doctrees/api_doc/tagging/character.doctree and b/HEAD/.doctrees/api_doc/tagging/character.doctree differ
diff --git a/HEAD/.doctrees/api_doc/tagging/deepdanbooru.doctree b/HEAD/.doctrees/api_doc/tagging/deepdanbooru.doctree
index 34bbb52958986a5f9f1e4d0cda25af3725df6e2d..359059a788c37112cac7470470fea49a63f0545a 100644
Binary files a/HEAD/.doctrees/api_doc/tagging/deepdanbooru.doctree and b/HEAD/.doctrees/api_doc/tagging/deepdanbooru.doctree differ
diff --git a/HEAD/.doctrees/api_doc/tagging/deepgelbooru.doctree b/HEAD/.doctrees/api_doc/tagging/deepgelbooru.doctree
index 2dc5e0920cc3969d250eb24847b53266d0a173b6..3a596bc459694f999cb960b8349d4a60533691bd 100644
Binary files a/HEAD/.doctrees/api_doc/tagging/deepgelbooru.doctree and b/HEAD/.doctrees/api_doc/tagging/deepgelbooru.doctree differ
diff --git a/HEAD/.doctrees/api_doc/tagging/format.doctree b/HEAD/.doctrees/api_doc/tagging/format.doctree
index edeca56d4b418a3204ae77a04e1862c4433b6b1e..6dbe6a35f2c53779a4ba549b5c334edb05cc059d 100644
Binary files a/HEAD/.doctrees/api_doc/tagging/format.doctree and b/HEAD/.doctrees/api_doc/tagging/format.doctree differ
diff --git a/HEAD/.doctrees/api_doc/tagging/index.doctree b/HEAD/.doctrees/api_doc/tagging/index.doctree
index 0a949e7507627f25ae4e9b15e87c93fe6680ba75..a16e6fe78c5968c5816aa682b42e635118993064 100644
Binary files a/HEAD/.doctrees/api_doc/tagging/index.doctree and b/HEAD/.doctrees/api_doc/tagging/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/tagging/match.doctree b/HEAD/.doctrees/api_doc/tagging/match.doctree
index c9b87b1a7eb90edd54e4f52bb47f690008028b00..3f355cd4d0a3aa8005a934105161761a314fbe4c 100644
Binary files a/HEAD/.doctrees/api_doc/tagging/match.doctree and b/HEAD/.doctrees/api_doc/tagging/match.doctree differ
diff --git a/HEAD/.doctrees/api_doc/tagging/mldanbooru.doctree b/HEAD/.doctrees/api_doc/tagging/mldanbooru.doctree
index 1ee46c36c95622828c130a51a17ee4e546e5f818..a97cec9ee2e1473c18ebac1879d3e74dbf4a73e4 100644
Binary files a/HEAD/.doctrees/api_doc/tagging/mldanbooru.doctree and b/HEAD/.doctrees/api_doc/tagging/mldanbooru.doctree differ
diff --git a/HEAD/.doctrees/api_doc/tagging/order.doctree b/HEAD/.doctrees/api_doc/tagging/order.doctree
index 307902b24c51b030c15fef51bb6ad02fbe0759a4..573ff10b64187cf0664a296e61c12a4309a45a26 100644
Binary files a/HEAD/.doctrees/api_doc/tagging/order.doctree and b/HEAD/.doctrees/api_doc/tagging/order.doctree differ
diff --git a/HEAD/.doctrees/api_doc/tagging/overlap.doctree b/HEAD/.doctrees/api_doc/tagging/overlap.doctree
index 9d36dd78db46214ab310b95bfae50b723f157129..a272b8d0f1930dfd7d562444317e13be7f2c6893 100644
Binary files a/HEAD/.doctrees/api_doc/tagging/overlap.doctree and b/HEAD/.doctrees/api_doc/tagging/overlap.doctree differ
diff --git a/HEAD/.doctrees/api_doc/tagging/wd14.doctree b/HEAD/.doctrees/api_doc/tagging/wd14.doctree
index 35f58964513bf16a181c31b19e38d4803e22a2cc..22ce3f1a993cb1eee98947220ed7c7876654c79e 100644
Binary files a/HEAD/.doctrees/api_doc/tagging/wd14.doctree and b/HEAD/.doctrees/api_doc/tagging/wd14.doctree differ
diff --git a/HEAD/.doctrees/api_doc/upscale/cdc.doctree b/HEAD/.doctrees/api_doc/upscale/cdc.doctree
index fb3a23cbb54855ed37c5ac8b29c04e903ee16649..5adefa2f27fca88e0a1a5351d5be0ac592afb81b 100644
Binary files a/HEAD/.doctrees/api_doc/upscale/cdc.doctree and b/HEAD/.doctrees/api_doc/upscale/cdc.doctree differ
diff --git a/HEAD/.doctrees/api_doc/upscale/index.doctree b/HEAD/.doctrees/api_doc/upscale/index.doctree
index dbe0bab124f36280ccacce173ae0db525df8febb..d82fe70de3e446f524111156e73f5f76974c76cd 100644
Binary files a/HEAD/.doctrees/api_doc/upscale/index.doctree and b/HEAD/.doctrees/api_doc/upscale/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/utils/cache.doctree b/HEAD/.doctrees/api_doc/utils/cache.doctree
index 145d18335ea03499749679c85b8ef0a62af4e6aa..ec61864501394da937fa4b75f9d7a824516dda7d 100644
Binary files a/HEAD/.doctrees/api_doc/utils/cache.doctree and b/HEAD/.doctrees/api_doc/utils/cache.doctree differ
diff --git a/HEAD/.doctrees/api_doc/utils/func.doctree b/HEAD/.doctrees/api_doc/utils/func.doctree
index 705c74fdee2fab8b8ba8a52cf135607ac77d2b24..62d443e104b52628e2d5c35df853f318da89ee08 100644
Binary files a/HEAD/.doctrees/api_doc/utils/func.doctree and b/HEAD/.doctrees/api_doc/utils/func.doctree differ
diff --git a/HEAD/.doctrees/api_doc/utils/index.doctree b/HEAD/.doctrees/api_doc/utils/index.doctree
index 8fec54eda03a51fc3d91df87d2046f32702b1db5..8a2409c85c60d3213f91e71144f472dfc7a3b133 100644
Binary files a/HEAD/.doctrees/api_doc/utils/index.doctree and b/HEAD/.doctrees/api_doc/utils/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/utils/onnxruntime.doctree b/HEAD/.doctrees/api_doc/utils/onnxruntime.doctree
index 8a947d738d97cb91c479b58bdae58a89ec1a9ab3..29f6627c7c048f1953a2f05c0d1078605667963d 100644
Binary files a/HEAD/.doctrees/api_doc/utils/onnxruntime.doctree and b/HEAD/.doctrees/api_doc/utils/onnxruntime.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/aicheck.doctree b/HEAD/.doctrees/api_doc/validate/aicheck.doctree
index 2427cd74b323ea3713b4d7b796f9ddb191dfe6ba..5c17e448815f8ac0c707f58d8d803d5f3ae5cf95 100644
Binary files a/HEAD/.doctrees/api_doc/validate/aicheck.doctree and b/HEAD/.doctrees/api_doc/validate/aicheck.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/bangumi_char.doctree b/HEAD/.doctrees/api_doc/validate/bangumi_char.doctree
index 794b26f16d02e8ba8d215be837ab0392ae4bb528..875e3e2eaa24afeb581e71f38d64bcd2f1647dc1 100644
Binary files a/HEAD/.doctrees/api_doc/validate/bangumi_char.doctree and b/HEAD/.doctrees/api_doc/validate/bangumi_char.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/classify.doctree b/HEAD/.doctrees/api_doc/validate/classify.doctree
index 4f45f9a7f977e4ee91c2d6816bd6df54d899c2a0..6a9118a31d7b4fd9142ed4479dd03a1455c414d3 100644
Binary files a/HEAD/.doctrees/api_doc/validate/classify.doctree and b/HEAD/.doctrees/api_doc/validate/classify.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/color.doctree b/HEAD/.doctrees/api_doc/validate/color.doctree
index e04b0d6a7cdec13afa889e1fe4e690ba4218cbb5..4515f2b17a1e984877542d305dde3c3cfa191847 100644
Binary files a/HEAD/.doctrees/api_doc/validate/color.doctree and b/HEAD/.doctrees/api_doc/validate/color.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/completeness.doctree b/HEAD/.doctrees/api_doc/validate/completeness.doctree
index 0e22db6ed8a3d3921c496e567ba5c7e1a811c5ed..554acf913dadc202dae068940e6b5bd3a399d36b 100644
Binary files a/HEAD/.doctrees/api_doc/validate/completeness.doctree and b/HEAD/.doctrees/api_doc/validate/completeness.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/dbrating.doctree b/HEAD/.doctrees/api_doc/validate/dbrating.doctree
index be4a4c0cd60378ead6ba6e45a2ec3dbd9fbc7d1b..9ce0c7d8bb8579fc3f2a07c47a171233498ff8cc 100644
Binary files a/HEAD/.doctrees/api_doc/validate/dbrating.doctree and b/HEAD/.doctrees/api_doc/validate/dbrating.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/furry.doctree b/HEAD/.doctrees/api_doc/validate/furry.doctree
index 99c55b4fc7d85fa5301ee42dd26f0886911c9ca0..bf22388768e9073902a3e10fae08fe2b444eda30 100644
Binary files a/HEAD/.doctrees/api_doc/validate/furry.doctree and b/HEAD/.doctrees/api_doc/validate/furry.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/index.doctree b/HEAD/.doctrees/api_doc/validate/index.doctree
index 94b1637a40759ace1e6d263ff04b1186becd4333..a80c289bc19d5f2fe613526bb29690e337830d02 100644
Binary files a/HEAD/.doctrees/api_doc/validate/index.doctree and b/HEAD/.doctrees/api_doc/validate/index.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/monochrome.doctree b/HEAD/.doctrees/api_doc/validate/monochrome.doctree
index 5e874434ed592e9bab2114de49e86edab3ab7238..8580ea6a42cc7b1e5d2269615a0fb451f063cd01 100644
Binary files a/HEAD/.doctrees/api_doc/validate/monochrome.doctree and b/HEAD/.doctrees/api_doc/validate/monochrome.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/nsfw.doctree b/HEAD/.doctrees/api_doc/validate/nsfw.doctree
index a791075642c680cc92532bec4298eb55541e930c..ba51877f1cdad697b411fd6a52694f41648d8752 100644
Binary files a/HEAD/.doctrees/api_doc/validate/nsfw.doctree and b/HEAD/.doctrees/api_doc/validate/nsfw.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/portrait.doctree b/HEAD/.doctrees/api_doc/validate/portrait.doctree
index 755fde0bff5ec6a3a130df1828c1e9a855765be0..924b25919576be06ce4991ad187633ec8a803c61 100644
Binary files a/HEAD/.doctrees/api_doc/validate/portrait.doctree and b/HEAD/.doctrees/api_doc/validate/portrait.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/rating.doctree b/HEAD/.doctrees/api_doc/validate/rating.doctree
index c7becb5a8320bf7e4ca78c433ad34727ba2d567c..83e0ada7d3573ee3ab68f234525ae1d390529d66 100644
Binary files a/HEAD/.doctrees/api_doc/validate/rating.doctree and b/HEAD/.doctrees/api_doc/validate/rating.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/real.doctree b/HEAD/.doctrees/api_doc/validate/real.doctree
index 8b13fc933b6352a04cee27f50f7424803f12d634..dc052dae8c448771cf4bef0a197be0edb8d32e99 100644
Binary files a/HEAD/.doctrees/api_doc/validate/real.doctree and b/HEAD/.doctrees/api_doc/validate/real.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/safe.doctree b/HEAD/.doctrees/api_doc/validate/safe.doctree
index 557b6260971c3bfd8659be9e022c36ad1a055cda..a37fa6f4e75ac442bb1e7bd3c34f13425cfdaf4d 100644
Binary files a/HEAD/.doctrees/api_doc/validate/safe.doctree and b/HEAD/.doctrees/api_doc/validate/safe.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/style_age.doctree b/HEAD/.doctrees/api_doc/validate/style_age.doctree
index 7d1a052006758fe3717a3add05fcd72b1e501dd3..18e96e6430b304a3bef3146397e42c3d5b846e34 100644
Binary files a/HEAD/.doctrees/api_doc/validate/style_age.doctree and b/HEAD/.doctrees/api_doc/validate/style_age.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/teen.doctree b/HEAD/.doctrees/api_doc/validate/teen.doctree
index 2bf9609baa95ece635199d67ba5d4a724ce17c23..0c26bb41b7edb60d73d1ccb47ebda61e0f17ec72 100644
Binary files a/HEAD/.doctrees/api_doc/validate/teen.doctree and b/HEAD/.doctrees/api_doc/validate/teen.doctree differ
diff --git a/HEAD/.doctrees/api_doc/validate/truncate.doctree b/HEAD/.doctrees/api_doc/validate/truncate.doctree
index 1c1a60abd797c8472a4c95491beda9b2e3e68438..b864dfddf9f16cca33707c48a39a0cf123d82cd5 100644
Binary files a/HEAD/.doctrees/api_doc/validate/truncate.doctree and b/HEAD/.doctrees/api_doc/validate/truncate.doctree differ
diff --git a/HEAD/.doctrees/environment.pickle b/HEAD/.doctrees/environment.pickle
index 0db950379eecfa19f3787853e78efff79f85ab4e..cc4f298913144e0fe7aa8c5b90c688288284f138 100644
Binary files a/HEAD/.doctrees/environment.pickle and b/HEAD/.doctrees/environment.pickle differ
diff --git a/HEAD/.doctrees/index.doctree b/HEAD/.doctrees/index.doctree
index 10ce5ecf930b80d31248d18bfa4586655942f359..ebe07d40cf6307d21a6a64f1451cf70cf2536cb1 100644
Binary files a/HEAD/.doctrees/index.doctree and b/HEAD/.doctrees/index.doctree differ
diff --git a/HEAD/.doctrees/information/environment.doctree b/HEAD/.doctrees/information/environment.doctree
index fe6c6b34d341cc482cdebdbc695cc83b3cfea75c..501b408505bd566c94cc275571d47e0641878619 100644
Binary files a/HEAD/.doctrees/information/environment.doctree and b/HEAD/.doctrees/information/environment.doctree differ
diff --git a/HEAD/.doctrees/information/environment.result.doctree b/HEAD/.doctrees/information/environment.result.doctree
index a2fdf3ed6847b091e6b11c78989c93c396bd5254..a9b1be2327fe558fd19571a45d1d4586d10cc838 100644
Binary files a/HEAD/.doctrees/information/environment.result.doctree and b/HEAD/.doctrees/information/environment.result.doctree differ
diff --git a/HEAD/.doctrees/nbsphinx/information/environment.ipynb b/HEAD/.doctrees/nbsphinx/information/environment.ipynb
index 62875168e7173fbeae80db1d35ed4a873e54caa3..451c3ee498c5bc12ebcfddde34c89f06c55aeb31 100644
--- a/HEAD/.doctrees/nbsphinx/information/environment.ipynb
+++ b/HEAD/.doctrees/nbsphinx/information/environment.ipynb
@@ -29,10 +29,10 @@
"execution_count": 1,
"metadata": {
"execution": {
- "iopub.execute_input": "2025-03-10T06:20:51.055181Z",
- "iopub.status.busy": "2025-03-10T06:20:51.054959Z",
- "iopub.status.idle": "2025-03-10T06:20:52.222311Z",
- "shell.execute_reply": "2025-03-10T06:20:52.221479Z"
+ "iopub.execute_input": "2025-03-10T08:10:47.663742Z",
+ "iopub.status.busy": "2025-03-10T08:10:47.663541Z",
+ "iopub.status.idle": "2025-03-10T08:10:48.826899Z",
+ "shell.execute_reply": "2025-03-10T08:10:48.826124Z"
},
"pycharm": {
"name": "#%%\n"
@@ -53,7 +53,7 @@
"text": [
"CPU Brand: AMD EPYC 7763 64-Core Processor\n",
"CPU Count: 4\n",
- "CPU Freq: 2935.65625 MHz\n",
+ "CPU Freq: 3240.9792500000003 MHz\n",
"Memory Size: 15.615 GiB\n",
"Has CUDA: No\n"
]
diff --git a/HEAD/.doctrees/nbsphinx/information/environment.result.ipynb b/HEAD/.doctrees/nbsphinx/information/environment.result.ipynb
index facd6488815d90614074fa26d3f65a5fff9d116b..a9eec3ea458d65e72a3edc63569f69ef5a16496f 100644
--- a/HEAD/.doctrees/nbsphinx/information/environment.result.ipynb
+++ b/HEAD/.doctrees/nbsphinx/information/environment.result.ipynb
@@ -29,10 +29,10 @@
"execution_count": 1,
"metadata": {
"execution": {
- "iopub.execute_input": "2025-03-10T06:17:29.298559Z",
- "iopub.status.busy": "2025-03-10T06:17:29.298369Z",
- "iopub.status.idle": "2025-03-10T06:17:30.464634Z",
- "shell.execute_reply": "2025-03-10T06:17:30.463861Z"
+ "iopub.execute_input": "2025-03-10T08:06:06.189440Z",
+ "iopub.status.busy": "2025-03-10T08:06:06.189238Z",
+ "iopub.status.idle": "2025-03-10T08:06:07.356952Z",
+ "shell.execute_reply": "2025-03-10T08:06:07.356210Z"
},
"pycharm": {
"name": "#%%\n"
@@ -53,7 +53,7 @@
"text": [
"CPU Brand: AMD EPYC 7763 64-Core Processor\n",
"CPU Count: 4\n",
- "CPU Freq: 3290.982 MHz\n",
+ "CPU Freq: 3079.0992499999998 MHz\n",
"Memory Size: 15.615 GiB\n",
"Has CUDA: No\n"
]
diff --git a/HEAD/.doctrees/tutorials/installation/index.doctree b/HEAD/.doctrees/tutorials/installation/index.doctree
index 0748a4c4b0f12fc551da05c012cb8c969be56976..158dd5847a559821bc8650f78c486d4327e881c4 100644
Binary files a/HEAD/.doctrees/tutorials/installation/index.doctree and b/HEAD/.doctrees/tutorials/installation/index.doctree differ
diff --git a/HEAD/.doctrees/tutorials/quick_start/index.doctree b/HEAD/.doctrees/tutorials/quick_start/index.doctree
index 1846248ab3d8d80c7d25763672679103d1a813ef..25a84f3ee3d034cce34f3d55b9b44b86d088bed1 100644
Binary files a/HEAD/.doctrees/tutorials/quick_start/index.doctree and b/HEAD/.doctrees/tutorials/quick_start/index.doctree differ
diff --git a/HEAD/_modules/imgutils/ascii/drawing.html b/HEAD/_modules/imgutils/ascii/drawing.html
index ce36a809b2daa0bfd7159b7a1666a94544aeeb6c..e8757facaf2602205baf0c21099acf126e615f3e 100644
--- a/HEAD/_modules/imgutils/ascii/drawing.html
+++ b/HEAD/_modules/imgutils/ascii/drawing.html
@@ -268,10 +268,10 @@
Branches
- dev/mit
+ main
HEAD
dev/attachments
- main
+ dev/download
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ imgutils
+
+
+
+
+
+
+
+
+
+
+
Source code for imgutils.data.url
+"""
+This module provides utilities for downloading and handling images from URLs, with special support for GitHub and Hugging Face URLs.
+
+The module includes functions for:
+
+- Downloading images from URLs with progress tracking
+- URL validation and processing
+- Special handling for GitHub and Hugging Face hosted images
+
+Main components:
+
+- download_image_from_url: Downloads and returns an image from a given URL
+- is_http_url: Checks if a given URL is a valid HTTP/HTTPS URL
+- Internal utilities for processing GitHub and Hugging Face URLs
+"""
+
+import io
+from typing import Optional
+
+import pyrfc6266
+from PIL import Image
+from hbutils.system import urlsplit
+from huggingface_hub import get_session
+from tqdm import tqdm
+from urlobject import URLObject
+
+__all__ = [
+ 'download_image_from_url' ,
+ 'is_http_url' ,
+]
+
+
+[docs] def download_image_from_url ( url : str , silent : bool = False , expected_size : Optional [ int ] = None ,
+
** kwargs ) -> Image . Image :
+
"""
+
Download an image from a URL and return it as a PIL Image object.
+
+
:param url: URL of the image to download
+
:type url: str
+
:param silent: If True, suppress progress bar display
+
:type silent: bool
+
:param expected_size: Expected file size in bytes, used for progress bar
+
:type expected_size: Optional[int]
+
:param kwargs: Additional keyword arguments passed to the session.get() method
+
+
:return: Downloaded image as PIL Image object
+
:rtype: Image.Image
+
+
:raises ValueError: If the URL is not supported (especially for HF URLs)
+
:raises requests.RequestException: If download fails
+
:raises PIL.UnidentifiedImageError: If downloaded content is not a valid image
+
+
:example:
+
>>> image = download_image_from_url('https://example.com/image.jpg')
+
>>> image.show()
+
"""
+
if _is_github_url ( url ):
+
url = _process_github_url_for_downloading ( url )
+
elif _is_hf_url ( url ):
+
url = _process_hf_url_for_downloading ( url )
+
+
session = get_session ()
+
with session . get ( url , stream = True , allow_redirects = True , ** kwargs ) as response :
+
expected_size = expected_size or response . headers . get ( 'Content-Length' , None )
+
expected_size = int ( expected_size ) if expected_size is not None else expected_size
+
filename = None
+
if response . headers . get ( 'Content-Disposition' ):
+
filename = pyrfc6266 . parse_filename ( response . headers . get ( 'Content-Disposition' ))
+
filename = filename or urlsplit ( url ) . filename
+
+
with io . BytesIO () as bf :
+
with tqdm ( total = expected_size , unit = 'B' , unit_scale = True , unit_divisor = 1024 ,
+
desc = filename , disable = silent ) as pbar :
+
for chunk in response . iter_content ( chunk_size = 1024 ):
+
bf . write ( chunk )
+
pbar . update ( len ( chunk ))
+
+
bf . seek ( 0 )
+
image = Image . open ( bf )
+
image . load ()
+
return image
+
+
+[docs] def is_http_url ( url : str ) -> bool :
+
"""
+
Check if a given URL is a valid HTTP or HTTPS URL.
+
+
:param url: URL to check
+
:type url: str
+
+
:return: True if URL is a valid HTTP/HTTPS URL, False otherwise
+
:rtype: bool
+
+
:example:
+
>>> is_http_url('https://example.com')
+
True
+
>>> is_http_url('ftp://example.com')
+
False
+
"""
+
if not isinstance ( url , str ):
+
return False
+
+
split = urlsplit ( url )
+
return split . scheme == 'http' or split . scheme == 'https'
+
+
+_GITHUB_SUFFIX = {( 'github' , 'com' )}
+
+
+def _is_github_url ( url : str ) -> bool :
+ """
+ Check if a URL is a GitHub URL.
+
+ :param url: URL to check
+ :type url: str
+
+ :return: True if URL is a GitHub URL, False otherwise
+ :rtype: bool
+ """
+ return tuple ( urlsplit ( url ) . host . split ( '.' )[ - 2 :]) in _GITHUB_SUFFIX
+
+
+def _process_github_url_for_downloading ( url : str ) -> str :
+ """
+ Process a GitHub URL to make it suitable for raw file downloading.
+
+ :param url: GitHub URL to process
+ :type url: str
+
+ :return: Processed URL for downloading
+ :rtype: str
+ """
+ return str ( URLObject ( url ) . with_query ( 'raw=True' ))
+
+
+_HF_SUFFIX = {( 'hf' , 'co' ), ( 'huggingface' , 'co' )}
+
+
+def _is_hf_url ( url : str ) -> bool :
+ """
+ Check if a URL is a Hugging Face URL.
+
+ :param url: URL to check
+ :type url: str
+
+ :return: True if URL is a Hugging Face URL, False otherwise
+ :rtype: bool
+ """
+ return tuple ( urlsplit ( url ) . host . split ( '.' )[ - 2 :]) in _HF_SUFFIX
+
+
+def _process_hf_url_for_downloading ( url : str ) -> str :
+ """
+ Process a Hugging Face URL to make it suitable for file downloading.
+
+ :param url: Hugging Face URL to process
+ :type url: str
+
+ :return: Processed URL for downloading
+ :rtype: str
+
+ :raises ValueError: If the URL format is not supported
+ """
+ split = urlsplit ( url )
+ segments = split . path_segments
+ if len ( segments ) >= 2 and ( segments [ 1 ] == 'datasets' or segments [ 1 ] == 'spaces' ):
+ position = 4
+ else :
+ position = 3
+
+ if len ( segments ) > position and segments [ position ] == 'blob' :
+ segments = [ * segments [: position ], 'resolve' , * segments [ position + 1 :]]
+ elif len ( segments ) > position and segments [ position ] == 'resolve' :
+ pass
+ else :
+ raise ValueError ( f 'Unsupported huggingface URL - { url !r} .' )
+ return f ' { split . scheme } :// { split . host }{ "/" . join ( segments ) } '
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Other Versions
+ v: dev/download
+
+
+
+
+
+
+