SYMBOL INDEX (1048 symbols across 98 files) FILE: MangaJaNaiConverterGui/App.axaml.cs class App (line 18) | public partial class App : Application method Initialize (line 20) | public override void Initialize() method OnFrameworkInitializationCompleted (line 25) | public override void OnFrameworkInitializationCompleted() FILE: MangaJaNaiConverterGui/Drivers/NewtonsoftJsonSuspensionDriver.cs class NewtonsoftJsonSuspensionDriver (line 10) | public class NewtonsoftJsonSuspensionDriver : ISuspensionDriver method NewtonsoftJsonSuspensionDriver (line 19) | public NewtonsoftJsonSuspensionDriver(string file) => _file = file; method InvalidateState (line 21) | public IObservable InvalidateState() method LoadState (line 28) | public IObservable LoadState() method SaveState (line 35) | public IObservable SaveState(object state) FILE: MangaJaNaiConverterGui/Program.cs class Program (line 9) | internal class Program method Main (line 24) | [STAThread] method BuildAvaloniaApp (line 51) | public static AppBuilder BuildAvaloniaApp() FILE: MangaJaNaiConverterGui/Services/Downloader.cs class Downloader (line 9) | public class Downloader method DownloadFileAsync (line 13) | public static async Task DownloadFileAsync(string url, string destinat... FILE: MangaJaNaiConverterGui/Services/ETACalculator.cs type IETACalculator (line 9) | public interface IETACalculator method Reset (line 13) | void Reset(); method Update (line 19) | void Update(float progress); class ETACalculator (line 39) | public class ETACalculator : IETACalculator method ETACalculator (line 49) | public ETACalculator(int minimumData, double maximumDuration) method Reset (line 65) | public void Reset() method ClearExpired (line 73) | private void ClearExpired() method Update (line 86) | public void Update(float progress) FILE: MangaJaNaiConverterGui/Services/IPythonService.cs type IPythonService (line 7) | public interface IPythonService method IsPythonInstalled (line 9) | bool IsPythonInstalled(); method IsPythonUpdated (line 11) | Task IsPythonUpdated(); method IsBackendUpdated (line 12) | Task IsBackendUpdated(); method AreModelsInstalled (line 13) | bool AreModelsInstalled(); method ExtractTgz (line 26) | void ExtractTgz(string gzArchiveName, string destFolder); method ExtractZip (line 27) | void ExtractZip(string archivePath, string outFolder, ProgressChanged ... method Extract7z (line 28) | void Extract7z(string archivePath, string outFolder); method AddPythonPth (line 29) | void AddPythonPth(string destFolder); FILE: MangaJaNaiConverterGui/Services/ISuspensionDriverService.cs type ISuspensionDriverService (line 5) | public interface ISuspensionDriverService FILE: MangaJaNaiConverterGui/Services/IUpdateManagerService.cs type IUpdateManagerService (line 7) | public interface IUpdateManagerService method ApplyUpdatesAndRestart (line 13) | void ApplyUpdatesAndRestart(UpdateInfo update); method CheckForUpdatesAsync (line 14) | Task CheckForUpdatesAsync(); method DownloadUpdatesAsync (line 15) | Task DownloadUpdatesAsync(UpdateInfo update, Action? progress = n... FILE: MangaJaNaiConverterGui/Services/PythonService.cs class PythonService (line 21) | public class PythonService : IPythonService method PythonService (line 43) | public PythonService(IUpdateManagerService? updateManagerService = null) method IsPythonInstalled (line 61) | public bool IsPythonInstalled() => File.Exists(PythonPath); method IsPythonUpdated (line 63) | public async Task IsPythonUpdated() method IsBackendUpdated (line 119) | public async Task IsBackendUpdated() method AreModelsInstalled (line 131) | public bool AreModelsInstalled() => Directory.Exists(ModelsDirectory) ... class PythonDownload (line 133) | public class PythonDownload method ExtractTgz (line 141) | public void ExtractTgz(string gzArchiveName, string destFolder) method ExtractZip (line 154) | public void ExtractZip(string archivePath, string outFolder, ProgressC... method Extract7z (line 203) | public void Extract7z(string archiveName, string outFolder) method AddPythonPth (line 209) | public void AddPythonPth(string destFolder) FILE: MangaJaNaiConverterGui/Services/SuspensionDriverService.cs class SuspensionDriverService (line 6) | public class SuspensionDriverService(IPythonService pythonService) : ISu... FILE: MangaJaNaiConverterGui/Services/UpdateManagerService.cs class UpdateManagerService (line 8) | public class UpdateManagerService : IUpdateManagerService method UpdateManagerService (line 12) | public UpdateManagerService() method ApplyUpdatesAndRestart (line 24) | public void ApplyUpdatesAndRestart(UpdateInfo update) method CheckForUpdatesAsync (line 29) | public async Task CheckForUpdatesAsync() method DownloadUpdatesAsync (line 34) | public Task DownloadUpdatesAsync(UpdateInfo update, Action? progr... FILE: MangaJaNaiConverterGui/ViewLocator.cs class ViewLocator (line 8) | public class ViewLocator : IDataTemplate method Build (line 10) | public Control Build(object data) method Match (line 23) | public bool Match(object data) FILE: MangaJaNaiConverterGui/ViewModels/MainWindowViewModel.cs class MainWindowViewModel (line 27) | [DataContract] method MainWindowViewModel (line 42) | public MainWindowViewModel(IPythonService? pythonService = null, IUpda... method _timer_Tick (line 385) | private void _timer_Tick(object? sender, EventArgs e) method HandleWorkflowSelected (line 729) | public void HandleWorkflowSelected(int workflowIndex) method HandleAppSettingsSelected (line 735) | public void HandleAppSettingsSelected() method RunUpscale (line 743) | public async Task RunUpscale() method CancelUpscale (line 790) | public void CancelUpscale() method CheckInputs (line 807) | public void CheckInputs() method AddChain (line 963) | public void AddChain() method DeleteChain (line 972) | public void DeleteChain(UpscaleChain chain) method UpdateChainHeaders (line 986) | public void UpdateChainHeaders() method RunCommand (line 996) | public async Task RunCommand(string command) method InitializeDeviceList (line 1071) | public async Task InitializeDeviceList() method RunPythonPipList (line 1133) | public async Task RunPythonPipList() method ShowSettingsDialog (line 1183) | public async void ShowSettingsDialog() method UpdateEtas (line 1188) | private void UpdateEtas() method ConsoleQueueClear (line 1206) | private void ConsoleQueueClear() method ConsoleQueueEnqueue (line 1212) | private void ConsoleQueueEnqueue(string value) method BackendSetupSubStatusQueueEnqueue (line 1222) | private void BackendSetupSubStatusQueueEnqueue(string value) method ReadWorkflowFileToCurrentWorkflow (line 1232) | public void ReadWorkflowFileToCurrentWorkflow(string fullPath) method WriteCurrentWorkflowToFile (line 1249) | public void WriteCurrentWorkflowToFile(string fullPath) method CheckAndExtractBackend (line 1255) | public async Task CheckAndExtractBackend() method ReinstallBackend (line 1319) | public async Task ReinstallBackend() method DownloadModels (line 1334) | public async Task DownloadModels() method InstallUpdatePythonDependencies (line 1385) | public async Task InstallUpdatePythonDependencies() method CheckAndDoBackup (line 1443) | public void CheckAndDoBackup() method FilesAreEqual (line 1493) | private static bool FilesAreEqual(string path1, string path2) method ResetCurrentWorkflow (line 1506) | public void ResetCurrentWorkflow() method PopulateDevicesAsync (line 1534) | public async Task> PopulateDevicesAsync(string? se... method CheckForUpdates (line 1563) | public async Task CheckForUpdates() method DownloadUpdate (line 1588) | public async Task DownloadUpdate() method ApplyUpdate (line 1605) | public void ApplyUpdate() method UpdateStatus (line 1614) | private void UpdateStatus() method Progress (line 1643) | private void Progress(int percent) method OpenModelsDirectory (line 1649) | public async void OpenModelsDirectory() class UpscaleWorkflow (line 1658) | [DataContract] method UpscaleWorkflow (line 1661) | public UpscaleWorkflow() method SetUpscaleScaleFactor (line 1993) | public void SetUpscaleScaleFactor(int scaleFactor) method SetWebpSelected (line 2133) | public void SetWebpSelected() method SetPngSelected (line 2141) | public void SetPngSelected() method SetJpegSelected (line 2149) | public void SetJpegSelected() method SetAvifSelected (line 2157) | public void SetAvifSelected() method SetModeScaleSelected (line 2165) | public void SetModeScaleSelected() method SetModeWidthSelected (line 2173) | public void SetModeWidthSelected() method SetModeHeightSelected (line 2181) | public void SetModeHeightSelected() method SetModeFitToDisplaySelected (line 2189) | public void SetModeFitToDisplaySelected() method Validate (line 2197) | public void Validate() class UpscaleChain (line 2276) | [DataContract] method UpscaleChain (line 2281) | public UpscaleChain(IPythonService? pythonService = null) class ReaderDevice (line 2438) | public class ReaderDevice method ToString (line 2446) | public override string ToString() class DeviceResponse (line 2469) | public class DeviceResponse class AcceleratorDevice (line 2478) | public class AcceleratorDevice FILE: MangaJaNaiConverterGui/ViewModels/ViewModelBase.cs class ViewModelBase (line 6) | public class ViewModelBase : ReactiveObject FILE: MangaJaNaiConverterGui/Views/MainWindow.axaml.cs class MainWindow (line 20) | public partial class MainWindow : AppWindow method MainWindow (line 25) | public MainWindow() method MainWindow_Opened (line 45) | private async void MainWindow_Opened(object? sender, EventArgs e) method MainWindow_Closing (line 53) | private async void MainWindow_Closing(object? sender, WindowClosingEve... method ConsoleScrollViewer_PropertyChanged (line 78) | private void ConsoleScrollViewer_PropertyChanged(object? sender, Avalo... method ConsoleTextBlock_PropertyChanged (line 90) | private void ConsoleTextBlock_PropertyChanged(object? sender, Avalonia... method MainWindow_Resized (line 107) | private void MainWindow_Resized(object? sender, WindowResizedEventArgs e) method SetInputFilePath (line 117) | public void SetInputFilePath(object? sender, DragEventArgs e) method SetInputFolderPath (line 135) | public void SetInputFolderPath(object? sender, DragEventArgs e) method SetOutputFolderPath (line 153) | public void SetOutputFolderPath(object? sender, DragEventArgs e) method OpenInputFileButtonClick (line 171) | private async void OpenInputFileButtonClick(object? sender, RoutedEven... method OpenInputFolderButtonClick (line 209) | private async void OpenInputFolderButtonClick(object? sender, RoutedEv... method OpenOutputFolderButtonClick (line 240) | private async void OpenOutputFolderButtonClick(object? sender, RoutedE... method ImportCurrentWorkflowButtonClick (line 271) | private async void ImportCurrentWorkflowButtonClick(object? sender, Ro... method ResetWorkflow (line 335) | private async void ResetWorkflow(object? sender, RoutedEventArgs e) method ExportCurrentWorkflowButtonClick (line 377) | private async void ExportCurrentWorkflowButtonClick(object? sender, Ro... method ReinstallBackendClick (line 411) | private async void ReinstallBackendClick(object? sender, RoutedEventAr... method ShowConfirmationDialog (line 424) | private async Task ShowConfirmationDialog(string title, string m... method HandleDevicesGotFocus (line 503) | public void HandleDevicesGotFocus(object? sender, GotFocusEventArgs e) method HandleDevicesTapped (line 514) | private void HandleDevicesTapped(object? sender, Avalonia.Input.Tapped... FILE: MangaJaNaiConverterGui/backend/src/accelerator_detection.py class AcceleratorType (line 17) | class AcceleratorType(Enum): class AcceleratorDevice (line 27) | class AcceleratorDevice: method __post_init__ (line 38) | def __post_init__(self): method torch_device (line 46) | def torch_device(self) -> torch.device: method __eq__ (line 51) | def __eq__(self, other: object) -> bool: method __hash__ (line 57) | def __hash__(self) -> int: class AcceleratorDetector (line 62) | class AcceleratorDetector: method __init__ (line 65) | def __init__(self): method available_devices (line 69) | def available_devices(self) -> list[AcceleratorDevice]: method _detect_all_devices (line 75) | def _detect_all_devices(self) -> list[AcceleratorDevice]: method _detect_cuda_devices (line 102) | def _detect_cuda_devices(self) -> list[AcceleratorDevice]: method _detect_rocm_devices (line 133) | def _detect_rocm_devices(self) -> list[AcceleratorDevice]: method _detect_mps_devices (line 165) | def _detect_mps_devices(self) -> list[AcceleratorDevice]: method _detect_xpu_devices (line 188) | def _detect_xpu_devices(self) -> list[AcceleratorDevice]: method _cuda_supports_fp16 (line 221) | def _cuda_supports_fp16(self, device_props: Any, device_index: int) ->... method _cuda_supports_bf16 (line 246) | def _cuda_supports_bf16(self, device_props: Any) -> bool: method get_devices_by_type (line 256) | def get_devices_by_type(self, accelerator_type: AcceleratorType) -> li... method get_best_device (line 260) | def get_best_device(self, prefer_gpu: bool = True) -> AcceleratorDevice: method get_cpu_device (line 274) | def get_cpu_device(self) -> AcceleratorDevice: method get_device_by_index (line 281) | def get_device_by_index(self, device_type: AcceleratorType, index: int... function get_autocast_device_type (line 290) | def get_autocast_device_type(device: torch.device) -> str: function is_device_type_supported_for_autocast (line 306) | def is_device_type_supported_for_autocast(device: torch.device) -> bool: function get_accelerator_detector (line 316) | def get_accelerator_detector() -> AcceleratorDetector: function get_available_devices (line 324) | def get_available_devices() -> list[AcceleratorDevice]: function get_best_device (line 329) | def get_best_device(prefer_gpu: bool = True) -> AcceleratorDevice: FILE: MangaJaNaiConverterGui/backend/src/api/api.py function _process_inputs (line 40) | def _process_inputs(base_inputs: Iterable[BaseInput | NestedGroup]): function _process_outputs (line 68) | def _process_outputs(base_outputs: Iterable[BaseOutput]): class NodeGroup (line 82) | class NodeGroup: method add_node (line 89) | def add_node(self, node: NodeData) -> None: method to_dict (line 93) | def to_dict(self): method register (line 101) | def register( class Category (line 215) | class Category: method add_node_group (line 225) | def add_node_group(self, name: str) -> NodeGroup: method to_dict (line 234) | def to_dict(self): class Dependency (line 247) | class Dependency: method to_dict (line 257) | def to_dict(self): method from_dict (line 268) | def from_dict(data: dict[str, Any]) -> Dependency: class Feature (line 280) | class Feature: method add_behavior (line 286) | def add_behavior(self, check: Callable[[], Awaitable[FeatureState]]) -... method to_dict (line 293) | def to_dict(self): method from_dict (line 301) | def from_dict(data: dict[str, Any]) -> Feature: class FeatureBehavior (line 310) | class FeatureBehavior: class FeatureState (line 315) | class FeatureState: method enabled (line 320) | def enabled(details: str | None = None) -> FeatureState: method disabled (line 324) | def disabled(details: str | None = None) -> FeatureState: class Package (line 329) | class Package: method add_category (line 341) | def add_category( method add_dependency (line 361) | def add_dependency(self, dependency: Dependency) -> None: method add_setting (line 364) | def add_setting(self, setting: Setting) -> None: method add_feature (line 367) | def add_feature( method to_dict (line 380) | def to_dict(self): method from_dict (line 393) | def from_dict(data: dict[str, Any]) -> Package: function _iter_py_files (line 409) | def _iter_py_files(directory: str): class LoadErrorInfo (line 417) | class LoadErrorInfo: class PackageRegistry (line 423) | class PackageRegistry: method __init__ (line 424) | def __init__(self) -> None: method get_node (line 429) | def get_node(self, schema_id: str) -> NodeData: method get_package (line 432) | def get_package(self, schema_id: str) -> Package: method add (line 435) | def add(self, package: Package) -> Package: method load_nodes (line 440) | def load_nodes(self, current_file: str) -> list[LoadErrorInfo]: method _refresh_nodes (line 466) | def _refresh_nodes(self) -> None: function add_package (line 484) | def add_package( FILE: MangaJaNaiConverterGui/backend/src/api/group.py class GroupInfo (line 14) | class GroupInfo: method __init__ (line 15) | def __init__( class Group (line 26) | class Group(Generic[T]): method __init__ (line 27) | def __init__(self, info: GroupInfo, items: list[T]) -> None: method to_dict (line 31) | def to_dict(self): function group (line 45) | def group(kind: str, options: dict[str, Any] | None = None, id: int = -1): FILE: MangaJaNaiConverterGui/backend/src/api/input.py class InputConversion (line 27) | class InputConversion: method to_dict (line 48) | def to_dict(self): class IOFusion (line 56) | class IOFusion: class LiteralErrorValue (line 60) | class LiteralErrorValue(TypedDict): class FormattedErrorValue (line 65) | class FormattedErrorValue(TypedDict): class PendingErrorValue (line 70) | class PendingErrorValue(TypedDict): class UnknownErrorValue (line 74) | class UnknownErrorValue(TypedDict): class BaseInput (line 87) | class BaseInput(Generic[T]): method __init__ (line 88) | def __init__( method enforce (line 116) | def enforce(self, value: object) -> T: method enforce_ (line 121) | def enforce_(self, value: object | None) -> T | None: method get_error_value (line 130) | def get_error_value(self, value: object) -> ErrorValue: method to_dict (line 151) | def to_dict(self) -> Mapping[str, Any]: method with_id (line 173) | def with_id(self, input_id: InputId | int): method with_docs (line 177) | def with_docs(self, *description: str, hint: bool = False): method suggest (line 182) | def suggest(self): method make_optional (line 186) | def make_optional(self): method make_lazy (line 193) | def make_lazy(self): method make_fused (line 197) | def make_fused(self, with_output: OutputId | int = 0): FILE: MangaJaNaiConverterGui/backend/src/api/iter.py class Generator (line 12) | class Generator(Generic[I]): method with_fail_fast (line 18) | def with_fail_fast(self, fail_fast: bool): method with_metadata (line 22) | def with_metadata(self, metadata: object): method from_iter (line 27) | def from_iter( method from_list (line 33) | def from_list(l: list[L], map_fn: Callable[[L, int], I]) -> Generator[I]: method from_range (line 49) | def from_range(count: int, map_fn: Callable[[int], I]) -> Generator[I]: class Collector (line 71) | class Collector(Generic[N, R]): FILE: MangaJaNaiConverterGui/backend/src/api/lazy.py class _Result (line 11) | class _Result(Generic[T]): method __init__ (line 14) | def __init__(self, value: T | None, error: Exception | None) -> None: method result (line 18) | def result(self) -> T: method is_ok (line 25) | def is_ok(self) -> bool: method ok (line 30) | def ok(value: T) -> _Result[T]: method err (line 34) | def err(error: Exception) -> _Result[T]: function _to_result (line 38) | def _to_result(fn: Callable[[], T]) -> Callable[[], _Result[T]]: class Lazy (line 48) | class Lazy(Generic[T]): method __init__ (line 49) | def __init__(self, factory: Callable[[], T]) -> None: method ready (line 56) | def ready(value: T) -> Lazy[T]: method from_coroutine (line 62) | def from_coroutine( method has_value (line 78) | def has_value(self) -> bool: method has_error (line 83) | def has_error(self) -> bool: method evaluation_time (line 88) | def evaluation_time(self) -> float: method value (line 93) | def value(self) -> T: FILE: MangaJaNaiConverterGui/backend/src/api/node_check.py class CheckFailedError (line 18) | class CheckFailedError(Exception): class CheckLevel (line 22) | class CheckLevel(Enum): method parse (line 29) | def parse(s: str) -> CheckLevel: function _get_check_level (line 43) | def _get_check_level(name: str, default: CheckLevel) -> CheckLevel: class TypeTransformer (line 56) | class TypeTransformer(ast.NodeTransformer): method visit_BinOp (line 57) | def visit_BinOp(self, node: ast.BinOp): # noqa method visit_Subscript (line 75) | def visit_Subscript(self, node: ast.Subscript): # noqa function compile_type_string (line 85) | def compile_type_string(s: str, filename: str = ""): function eval_type (line 91) | def eval_type(t: str | _Ty, __globals: dict[str, Any], /): function union_types (line 108) | def union_types(types: list[_Ty]) -> _Ty: function union_to_set (line 116) | def union_to_set(t: _Ty) -> set[_Ty]: function is_subset_of (line 126) | def is_subset_of(a: _Ty, b: _Ty) -> bool: function is_tuple (line 133) | def is_tuple(t: _Ty) -> bool: class FailedToParse (line 138) | class FailedToParse: function get_type_annotations (line 142) | def get_type_annotations(fn: Callable) -> dict[str, _Ty | FailedToParse]: function validate_return_type (line 158) | def validate_return_type(return_type: _Ty, node: NodeData) -> None: function check_schema_types (line 195) | def check_schema_types( function check_naming_conventions (line 284) | def check_naming_conventions( FILE: MangaJaNaiConverterGui/backend/src/api/node_context.py class Aborted (line 10) | class Aborted(Exception): class Progress (line 14) | class Progress(ABC): method aborted (line 17) | def aborted(self) -> bool: method paused (line 24) | def paused(self) -> bool: method check_aborted (line 29) | def check_aborted(self) -> None: method suspend (line 37) | def suspend(self) -> None: method set_progress (line 50) | def set_progress(self, progress: float) -> None: method sub_progress (line 57) | def sub_progress(self, offset: float, length: float) -> "Progress": method noop_progress (line 70) | def noop_progress() -> "Progress": class _NoopProgress (line 77) | class _NoopProgress(Progress): method aborted (line 79) | def aborted(self) -> Literal[False]: method paused (line 83) | def paused(self) -> Literal[False]: method check_aborted (line 86) | def check_aborted(self) -> None: method suspend (line 89) | def suspend(self) -> None: method set_progress (line 92) | def set_progress(self, progress: float) -> None: method sub_progress (line 95) | def sub_progress(self, offset: float, length: float) -> "Progress": class _SubProgress (line 99) | class _SubProgress(Progress): method __init__ (line 100) | def __init__(self, parent: Progress, offset: float, length: float) -> ... method aborted (line 106) | def aborted(self) -> bool: method paused (line 110) | def paused(self) -> bool: method check_aborted (line 113) | def check_aborted(self) -> None: method suspend (line 116) | def suspend(self) -> None: method set_progress (line 119) | def set_progress(self, progress: float) -> None: method sub_progress (line 122) | def sub_progress(self, offset: float, length: float) -> "_SubProgress": class NodeContext (line 130) | class NodeContext(Progress, ABC): method settings (line 137) | def settings(self) -> SettingsParser: method storage_dir (line 144) | def storage_dir(self) -> Path: method add_cleanup (line 152) | def add_cleanup( FILE: MangaJaNaiConverterGui/backend/src/api/node_data.py class IteratorInputInfo (line 25) | class IteratorInputInfo: method __init__ (line 26) | def __init__( method to_dict (line 39) | def to_dict(self): class AnyConstructor (line 50) | class AnyConstructor(Protocol, Generic[M_co]): method __call__ (line 51) | def __call__(self, *args: Any, **kwargs: Any) -> M_co: ... class IteratorOutputInfo (line 54) | class IteratorOutputInfo: method __init__ (line 55) | def __init__( method with_item_types (line 73) | def with_item_types( method to_dict (line 82) | def to_dict(self): method get_broadcast_sequence_type (line 89) | def get_broadcast_sequence_type(self, generator: Generator) -> navi.Ex... method get_broadcast_item_types (line 92) | def get_broadcast_item_types( class KeyInfo (line 102) | class KeyInfo: method __init__ (line 103) | def __init__(self, data: dict[str, Any]) -> None: method enum (line 107) | def enum(enum_input: InputId | int) -> KeyInfo: method number (line 111) | def number(number_input: InputId | int) -> KeyInfo: method type (line 115) | def type(expression: navi.ExpressionJson) -> KeyInfo: method to_dict (line 118) | def to_dict(self): class SpecialSuggestion (line 122) | class SpecialSuggestion: method __init__ (line 137) | def __init__( method _parse_query (line 149) | def _parse_query(query: str) -> tuple[str, InputId | None]: method to_dict (line 157) | def to_dict(self): class NodeData (line 174) | class NodeData: method single_iterable_input (line 200) | def single_iterable_input(self) -> IteratorInputInfo: method single_iterable_output (line 205) | def single_iterable_output(self) -> IteratorOutputInfo: FILE: MangaJaNaiConverterGui/backend/src/api/output.py class BaseOutput (line 16) | class BaseOutput(Generic[T]): method __init__ (line 17) | def __init__( method to_dict (line 39) | def to_dict(self): method with_id (line 52) | def with_id(self, output_id: OutputId | int): method with_never_reason (line 56) | def with_never_reason(self, reason: str): method with_docs (line 60) | def with_docs(self, *description: str): method suggest (line 64) | def suggest(self): method as_passthrough_of (line 68) | def as_passthrough_of(self, input_id: InputId | int): method get_broadcast_data (line 72) | def get_broadcast_data(self, _value: T) -> BroadcastData | None: method get_broadcast_type (line 75) | def get_broadcast_type(self, _value: T) -> navi.ExpressionJson | None: method enforce (line 78) | def enforce(self, value: object) -> T: FILE: MangaJaNaiConverterGui/backend/src/api/settings.py class ExecutionOptions (line 12) | class ExecutionOptions: method __init__ (line 13) | def __init__( method parse (line 23) | def parse(json: JsonExecutionOptions) -> ExecutionOptions: method get_package_settings_json (line 26) | def get_package_settings_json(self, package_id: str) -> SettingsJson: method get_package_settings (line 29) | def get_package_settings(self, package_id: str) -> SettingsParser: class SettingsParser (line 37) | class SettingsParser: method __init__ (line 38) | def __init__(self, raw: SettingsJson) -> None: method get_bool (line 41) | def get_bool(self, key: str, default: bool) -> bool: method get_int (line 47) | def get_int(self, key: str, default: int, parse_str: bool = False) -> ... method get_str (line 55) | def get_str(self, key: str, default: str) -> str: method get_cache_location (line 61) | def get_cache_location(self, key: str) -> str | None: class ToggleSetting (line 69) | class ToggleSetting: class DropdownOption (line 78) | class DropdownOption(TypedDict): class DropdownSetting (line 84) | class DropdownSetting: class NumberSetting (line 95) | class NumberSetting: class CacheSetting (line 107) | class CacheSetting: FILE: MangaJaNaiConverterGui/backend/src/gpu.py class MemoryUsage (line 24) | class MemoryUsage: class NvDevice (line 31) | class NvDevice: method from_index (line 37) | def from_index(index: int) -> NvDevice: method architecture (line 47) | def architecture(self) -> int: method supports_fp16 (line 55) | def supports_fp16(self): method get_current_vram_usage (line 65) | def get_current_vram_usage(self) -> MemoryUsage: class NvInfo (line 70) | class NvInfo: method __init__ (line 71) | def __init__( method unavailable (line 78) | def unavailable(): method __del__ (line 81) | def __del__(self) -> None: method devices (line 85) | def devices(self) -> Sequence[NvDevice]: method is_available (line 89) | def is_available(self): method all_support_fp16 (line 93) | def all_support_fp16(self) -> bool: function _try_nvml_init (line 97) | def _try_nvml_init() -> bool | None: function _try_nvml_shutdown (line 111) | def _try_nvml_shutdown() -> None: function _get_nvidia_info (line 118) | def _get_nvidia_info() -> NvInfo: FILE: MangaJaNaiConverterGui/backend/src/navi.py function to_number_json (line 9) | def to_number_json(n: int | float) -> NumberJson: function from_number_json (line 19) | def from_number_json(n: NumberJson) -> int | float: class NumericLiteralTypeJson (line 49) | class NumericLiteralTypeJson(TypedDict): class IntervalTypeJson (line 54) | class IntervalTypeJson(TypedDict): class IntIntervalTypeJson (line 60) | class IntIntervalTypeJson(TypedDict): class StringLiteralTypeJson (line 66) | class StringLiteralTypeJson(TypedDict): class UnionExpressionJson (line 71) | class UnionExpressionJson(TypedDict): class IntersectionExpressionJson (line 76) | class IntersectionExpressionJson(TypedDict): class NamedExpressionJson (line 81) | class NamedExpressionJson(TypedDict): class FieldAccessExpressionJson (line 87) | class FieldAccessExpressionJson(TypedDict): class FunctionCallExpressionJson (line 93) | class FunctionCallExpressionJson(TypedDict): class MatchArmJson (line 99) | class MatchArmJson(TypedDict): class MatchExpressionJson (line 105) | class MatchExpressionJson(TypedDict): function literal (line 111) | def literal(value: str | (int | float)) -> ExpressionJson: function interval (line 123) | def interval( function int_interval (line 134) | def int_interval( function union (line 145) | def union(*items: ExpressionJson) -> ExpressionJson: function intersect (line 149) | def intersect(*items: ExpressionJson) -> ExpressionJson: function intersect_with_error (line 153) | def intersect_with_error(*items: ExpressionJson) -> ExpressionJson: function named (line 157) | def named(name: str, fields: dict[str, ExpressionJson] | None = None) ->... function field (line 161) | def field(of: ExpressionJson, field_name: str) -> ExpressionJson: function fn (line 165) | def fn(name: str, *args: ExpressionJson) -> ExpressionJson: function match (line 169) | def match( function Image (line 182) | def Image( # noqa: N802 function Color (line 210) | def Color( # noqa: N802 FILE: MangaJaNaiConverterGui/backend/src/nodes/condition.py class _AndConditionJson (line 29) | class _AndConditionJson(TypedDict): class _OrConditionJson (line 34) | class _OrConditionJson(TypedDict): class _NotConditionJson (line 39) | class _NotConditionJson(TypedDict): class _EnumConditionJson (line 44) | class _EnumConditionJson(TypedDict): class _TypeConditionJson (line 50) | class _TypeConditionJson(TypedDict): class Condition (line 57) | class Condition: method __init__ (line 58) | def __init__(self, value: ConditionJson) -> None: method to_json (line 61) | def to_json(self): method __and__ (line 64) | def __and__(self, other: Condition) -> Condition: method __or__ (line 67) | def __or__(self, other: Condition) -> Condition: method __invert__ (line 70) | def __invert__(self) -> Condition: method enum (line 74) | def enum(enum: int, values: EnumValues) -> Condition: method bool (line 104) | def bool(input_id: int, value: bool) -> Condition: method type (line 117) | def type( method const (line 136) | def const(value: bool) -> Condition: FILE: MangaJaNaiConverterGui/backend/src/nodes/group.py class GroupInfo (line 12) | class GroupInfo: method __init__ (line 13) | def __init__( class Group (line 24) | class Group(Generic[T]): method __init__ (line 25) | def __init__(self, info: GroupInfo, items: list[T]) -> None: method toDict (line 29) | def toDict(self): function group (line 43) | def group(kind: str, options: dict[str, Any] | None = None, id: int = -1): FILE: MangaJaNaiConverterGui/backend/src/nodes/groups.py function if_group (line 14) | def if_group(condition: Condition): function if_enum_group (line 18) | def if_enum_group(enum: int, condition: EnumValues): function required (line 22) | def required(condition: Condition | None = None): function seed_group (line 52) | def seed_group(seed_input: BaseInput): function optional_list_group (line 67) | def optional_list_group(*inputs: BaseInput | NestedGroup): function linked_inputs_group (line 80) | def linked_inputs_group(*inputs: BaseInput): function ncnn_file_inputs_group (line 92) | def ncnn_file_inputs_group(param_input: BaseInput, bin_input: BaseInput): function from_to_dropdowns_group (line 99) | def from_to_dropdowns_group(from_dd: BaseInput, to_dd: BaseInput): function icon_set_group (line 107) | def icon_set_group(label: str): function menu_icon_row_group (line 115) | def menu_icon_row_group(): FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/blend.py class BlendMode (line 10) | class BlendMode(Enum): function blend_mode_normalized (line 63) | def blend_mode_normalized(blend_mode: BlendMode) -> bool: class ImageBlender (line 70) | class ImageBlender: method __init__ (line 73) | def __init__(self) -> None: method apply_blend (line 100) | def apply_blend( method __normal (line 105) | def __normal(self, a: np.ndarray, _: np.ndarray) -> np.ndarray: method __multiply (line 108) | def __multiply(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __darken (line 111) | def __darken(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __lighten (line 114) | def __lighten(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __add (line 117) | def __add(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __color_burn (line 120) | def __color_burn(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __color_dodge (line 125) | def __color_dodge(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __reflect (line 128) | def __reflect(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __glow (line 131) | def __glow(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __overlay (line 134) | def __overlay(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __difference (line 137) | def __difference(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __negation (line 140) | def __negation(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __screen (line 143) | def __screen(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __xor (line 146) | def __xor(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __subtract (line 151) | def __subtract(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __divide (line 154) | def __divide(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __exclusion (line 157) | def __exclusion(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __soft_light (line 160) | def __soft_light(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __hard_light (line 165) | def __hard_light(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __vivid_light (line 168) | def __vivid_light(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __linear_light (line 173) | def __linear_light(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __pin_light (line 176) | def __pin_light(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: method __linear_burn (line 181) | def __linear_burn(self, a: np.ndarray, b: np.ndarray) -> np.ndarray: function blend_images (line 185) | def blend_images(overlay: np.ndarray, base: np.ndarray, blend_mode: Blen... FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/color/color.py function _norm (line 13) | def _norm(n: FloatLike) -> float: class ColorJson (line 20) | class ColorJson(TypedDict): class Color (line 25) | class Color: method __init__ (line 26) | def __init__(self, value: tuple[float, ...]) -> None: method channels (line 31) | def channels(self) -> int: method gray (line 35) | def gray(gray: FloatLike) -> Color: method bgr (line 39) | def bgr(value: Iterable[FloatLike]) -> Color: method bgra (line 45) | def bgra(value: Iterable[FloatLike]) -> Color: method from_1x1_image (line 51) | def from_1x1_image(img: np.ndarray) -> Color: method from_json (line 65) | def from_json(color_json: ColorJson | str) -> Color: method to_1x1_image (line 83) | def to_1x1_image(self) -> np.ndarray: method to_image (line 86) | def to_image(self, width: int, height: int) -> np.ndarray: method to_json (line 93) | def to_json(self) -> ColorJson: FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/color/convert.py function color_space_from_id (line 20) | def color_space_from_id(id_: int) -> ColorSpace: function color_space_or_detector_from_id (line 27) | def color_space_or_detector_from_id(id_: int) -> ColorSpace | ColorSpace... class __ProcessingItem (line 38) | class __ProcessingItem(Generic[T]): # noqa: N801 function get_shortest_path (line 43) | def get_shortest_path( function convert (line 94) | def convert( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/color/convert_data.py function is_alpha_partner (line 43) | def is_alpha_partner(c: ColorSpace) -> bool: function get_alpha_partner (line 50) | def get_alpha_partner(c: ColorSpace) -> ColorSpace | None: function __rev3 (line 87) | def __rev3(image: np.ndarray) -> np.ndarray: function __rgb_to_hsv (line 93) | def __rgb_to_hsv(img: np.ndarray) -> np.ndarray: function __hsv_to_rgb (line 99) | def __hsv_to_rgb(img: np.ndarray) -> np.ndarray: function __rgb_to_hsl (line 105) | def __rgb_to_hsl(img: np.ndarray) -> np.ndarray: function __hsl_to_rgb (line 113) | def __hsl_to_rgb(img: np.ndarray) -> np.ndarray: function __hsv_to_hsl (line 120) | def __hsv_to_hsl(img: np.ndarray) -> np.ndarray: function __hsl_to_hsv (line 129) | def __hsl_to_hsv(img: np.ndarray) -> np.ndarray: function __rgb_to_cmyk (line 138) | def __rgb_to_cmyk(img: np.ndarray) -> np.ndarray: function __cmyk_to_rgb (line 149) | def __cmyk_to_rgb(img: np.ndarray) -> np.ndarray: function __rgb_to_lab (line 158) | def __rgb_to_lab(img: np.ndarray) -> np.ndarray: function __lab_to_rgb (line 167) | def __lab_to_rgb(img: np.ndarray) -> np.ndarray: function __lab_to_lch (line 175) | def __lab_to_lch(img: np.ndarray) -> np.ndarray: function __lch_to_lab (line 211) | def __lch_to_lab(img: np.ndarray) -> np.ndarray: function create_convert (line 350) | def create_convert(old_conv: Conversion): FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/color/convert_model.py class ColorSpace (line 11) | class ColorSpace: method __init__ (line 12) | def __init__(self, id_: int, name: str, channels: int) -> None: class ColorSpaceDetector (line 19) | class ColorSpaceDetector: method __init__ (line 20) | def __init__(self, id_: int, name: str, color_spaces: Iterable[ColorSp... method detect (line 30) | def detect(self, image: np.ndarray) -> ColorSpace: function assert_input_channels (line 43) | def assert_input_channels( function assert_output_channels (line 55) | def assert_output_channels( class Conversion (line 72) | class Conversion: method __init__ (line 73) | def __init__( method convert (line 87) | def convert(self, img: np.ndarray) -> np.ndarray: FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/image_formats.py function get_opencv_formats (line 1) | def get_opencv_formats(): function get_pil_formats (line 33) | def get_pil_formats(): function get_available_image_formats (line 76) | def get_available_image_formats(): FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/image_op.py function clipped (line 15) | def clipped(op: ImageOp) -> ImageOp: function to_op (line 25) | def to_op(fn: Callable[Concatenate[np.ndarray, P], np.ndarray]) -> Calla... FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/image_utils.py class FillColor (line 28) | class FillColor(Enum): method get_color (line 33) | def get_color(self, channels: int): class FlipAxis (line 46) | class FlipAxis(Enum): method flip (line 52) | def flip(self, img: np.ndarray) -> np.ndarray: class BorderType (line 58) | class BorderType(Enum): class NormalMapType (line 68) | class NormalMapType(Enum): function convert_to_bgra (line 74) | def convert_to_bgra(img: np.ndarray, in_c: int) -> np.ndarray: function _get_iinfo (line 84) | def _get_iinfo(img: np.ndarray) -> np.iinfo | None: function normalize (line 91) | def normalize(img: np.ndarray) -> np.ndarray: function to_uint8 (line 108) | def to_uint8(img: np.ndarray, normalized: bool = False) -> np.ndarray: function to_uint16 (line 123) | def to_uint16(img: np.ndarray, normalized: bool = False) -> np.ndarray: class ShiftFill (line 138) | class ShiftFill(Enum): method to_fill_color (line 144) | def to_fill_color(self) -> FillColor: function shift (line 154) | def shift( function as_2d_grayscale (line 190) | def as_2d_grayscale(img: np.ndarray) -> np.ndarray: function as_3d (line 199) | def as_3d(img: np.ndarray) -> np.ndarray: function as_target_channels (line 206) | def as_target_channels( function create_border (line 249) | def create_border( function calculate_ssim (line 301) | def calculate_ssim( function cv_save_image (line 330) | def cv_save_image(path: Path | str, img: np.ndarray, params: list[int]) ... function cartesian_product (line 345) | def cartesian_product(arrays: list[np.ndarray]) -> np.ndarray: function fast_gaussian_blur (line 361) | def fast_gaussian_blur( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/onnx/auto_split.py function _into_batched_form (line 13) | def _into_batched_form(img: np.ndarray, change_shape: bool) -> np.ndarray: function _into_standard_image_form (line 33) | def _into_standard_image_form(img: np.ndarray, change_shape: bool) -> np... function _flip_r_b_channels (line 56) | def _flip_r_b_channels(img: np.ndarray) -> np.ndarray: function _pad (line 69) | def _pad( function onnx_auto_split (line 97) | def onnx_auto_split( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/onnx/load.py function _detect_size_req (line 30) | def _detect_size_req(infer: ModelShapeInference): function load_onnx_model (line 47) | def load_onnx_model(model_or_bytes: onnx.ModelProto | bytes) -> OnnxModel: FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/onnx/model.py function _ceil_div (line 11) | def _ceil_div(a: int, b: int): class SizeReq (line 16) | class SizeReq: method __init__ (line 20) | def __init__(self, minimum: int = 1, multiple_of: int = 1) -> None: method get_padding (line 29) | def get_padding(self, width: int, height: int) -> tuple[int, int]: class OnnxInfo (line 49) | class OnnxInfo: class OnnxGeneric (line 65) | class OnnxGeneric: method __init__ (line 66) | def __init__(self, model_as_bytes: bytes, info: OnnxInfo) -> None: class OnnxRemBg (line 72) | class OnnxRemBg: method __init__ (line 73) | def __init__( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/onnx/np_tensor_utils.py function np_denorm (line 8) | def np_denorm(x: np.ndarray, min_max: tuple[float, float] = (-1.0, 1.0))... function np_norm (line 19) | def np_norm(x: np.ndarray) -> np.ndarray: function np_bgr_to_rgb (line 25) | def np_bgr_to_rgb(img: np.ndarray) -> np.ndarray: function np_rgb_to_bgr (line 30) | def np_rgb_to_bgr(img: np.ndarray) -> np.ndarray: function np_bgra_to_rgba (line 35) | def np_bgra_to_rgba(img: np.ndarray) -> np.ndarray: function np_rgba_to_bgra (line 40) | def np_rgba_to_bgra(img: np.ndarray) -> np.ndarray: function np2nptensor (line 45) | def np2nptensor( function nptensor2np (line 87) | def nptensor2np( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/onnx/onnx_to_ncnn.py class Onnx2NcnnConverter (line 58) | class Onnx2NcnnConverter: method __init__ (line 59) | def __init__(self, onnx_model: ModelProto) -> None: method add_weight (line 72) | def add_weight( method clear_container (line 84) | def clear_container( method swap_nodes (line 90) | def swap_nodes(self, a: int, b: int) -> None: method fuse_rewrite_gather (line 96) | def fuse_rewrite_gather(self) -> None: method fuse_weight_reshape (line 117) | def fuse_weight_reshape(self, reduced_node_count: list[int]) -> None: method fuse_weight_transpose (line 143) | def fuse_weight_transpose(self, reduced_node_count: list[int]) -> None: method fuse_shufflechannel (line 179) | def fuse_shufflechannel(self, reduced_node_count: list[int]) -> None: method fuse_shufflechannel_split (line 283) | def fuse_shufflechannel_split(self, reduced_node_count: list[int]) -> ... method fuse_hardswish (line 344) | def fuse_hardswish(self, reduced_node_count: list[int]) -> None: method fuse_hardsigmoid (line 495) | def fuse_hardsigmoid(self, reduced_node_count: list[int]) -> None: method fuse_swish (line 592) | def fuse_swish(self, reduced_node_count: list[int]) -> None: method fuse_batchnorm1d_squeeze_unsqueeze (line 624) | def fuse_batchnorm1d_squeeze_unsqueeze(self, reduced_node_count: list[... method fuse_unsqueeze_prelu (line 662) | def fuse_unsqueeze_prelu(self, reduced_node_count: list[int]) -> None: method fuse_normalize (line 702) | def fuse_normalize(self, reduced_node_count: list[int]) -> None: method fuse_groupnorm (line 795) | def fuse_groupnorm(self, reduced_node_count: list[int]) -> None: method fuse_layernorm (line 929) | def fuse_layernorm(self, reduced_node_count: list[int]) -> None: method fuse_flatten (line 1110) | def fuse_flatten(self, reduced_node_count: list[int]) -> None: method fuse_pixelshuffle (line 1222) | def fuse_pixelshuffle(self, reduced_node_count: list[int]) -> None: method fuse_reorg (line 1320) | def fuse_reorg(self, reduced_node_count: list[int]) -> None: method fuse_expand_broadcast (line 1415) | def fuse_expand_broadcast(self, reduced_node_count: list[int]) -> None: method fuse_lstm_gru_rnn (line 1451) | def fuse_lstm_gru_rnn(self, reduced_node_count: list[int]) -> None: method fuse_multiheadattention (line 1651) | def fuse_multiheadattention(self, reduced_node_count: list[int]) -> None: method fuse_binaryop_with_scalar (line 2230) | def fuse_binaryop_with_scalar(self) -> None: method convert (line 2294) | def convert(self, is_fp16: bool = False, include_mem_data: bool = True): FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/onnx/session.py function create_inference_session (line 14) | def create_inference_session( function get_onnx_session (line 57) | def get_onnx_session( function get_input_shape (line 77) | def get_input_shape(session: ort.InferenceSession) -> OnnxParsedTensorSh... function get_output_shape (line 85) | def get_output_shape(session: ort.InferenceSession) -> OnnxParsedTensorS... FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/onnx/tensorproto_utils.py function get_node_attr_ai (line 15) | def get_node_attr_ai(node: NodeProto, key: str) -> np.ndarray: function set_node_attr_ai (line 25) | def set_node_attr_ai(node: NodeProto, key: str, value: np.ndarray) -> None: function get_node_attr_af (line 30) | def get_node_attr_af(node: NodeProto, key: str) -> np.ndarray: function get_node_attr_i (line 38) | def get_node_attr_i(node: NodeProto, key: str, default: int = 0) -> int: function get_node_attr_f (line 46) | def get_node_attr_f(node: NodeProto, key: str, default: float = 0) -> fl... function get_node_attr_s (line 54) | def get_node_attr_s(node: NodeProto, key: str, default: str = ""): function get_node_attr_tensor (line 62) | def get_node_attr_tensor(node: NodeProto, key: str) -> TensorProto: function get_node_attr_from_input_f (line 70) | def get_node_attr_from_input_f(tp: TensorProto) -> float: function get_node_attr_from_input_ai (line 83) | def get_node_attr_from_input_ai(tp: TensorProto) -> np.ndarray: function get_node_attr_from_input_af (line 103) | def get_node_attr_from_input_af(tp: TensorProto) -> np.ndarray: function get_tensor_proto_data_size (line 113) | def get_tensor_proto_data_size(tp: TensorProto, fpmode: int = TPT.FLOAT)... FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/onnx/update_model_dims.py function update_inputs_outputs_dims (line 15) | def update_inputs_outputs_dims( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/onnx/utils.py function _as_int (line 32) | def _as_int(value: object) -> int | None: function _or_else (line 38) | def _or_else(value: int | None, default: int) -> int: function parse_onnx_shape (line 42) | def parse_onnx_shape(shape: OnnxTensorShape) -> OnnxParsedTensorShape: function to_onnx_tensor_shape (line 51) | def to_onnx_tensor_shape( function is_tensor_input (line 63) | def is_tensor_input(input: ValueInfoProto) -> bool: function is_image_to_image (line 67) | def is_image_to_image(model: ModelProto) -> bool: class ModelShapeInference (line 79) | class ModelShapeInference: method __init__ (line 80) | def __init__(self, model: ModelProto) -> None: method infer_shape (line 105) | def infer_shape( function get_tensor_fp_datatype (line 165) | def get_tensor_fp_datatype(model: ModelProto) -> str: function get_opset (line 180) | def get_opset(model: onnx.ModelProto) -> int: function safely_optimize_onnx_model (line 187) | def safely_optimize_onnx_model(model_proto: ModelProto) -> ModelProto: FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/pil_utils.py class InterpolationMethod (line 12) | class InterpolationMethod(Enum): class RotationInterpolationMethod (line 21) | class RotationInterpolationMethod(Enum): method interpolation_method (line 27) | def interpolation_method(self) -> InterpolationMethod: class RotateSizeChange (line 40) | class RotateSizeChange(Enum): function resize (line 45) | def resize( function rotate (line 66) | def rotate( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/pytorch/auto_split.py function _into_standard_image_form (line 17) | def _into_standard_image_form(t: torch.Tensor) -> torch.Tensor: function _into_batched_form (line 31) | def _into_batched_form(t: torch.Tensor) -> torch.Tensor: function _rgb_to_bgr (line 42) | def _rgb_to_bgr(t: torch.Tensor) -> torch.Tensor: function _into_tensor (line 53) | def _into_tensor( function pytorch_auto_split (line 82) | def pytorch_auto_split( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/pytorch/convert_to_onnx_impl.py function is_onnx_supported (line 10) | def is_onnx_supported(model: ModelDescriptor) -> bool: function convert_to_onnx_impl (line 14) | def convert_to_onnx_impl( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/pytorch/pix_transform/auto_split.py class _PixTiler (line 18) | class _PixTiler(Tiler): method __init__ (line 19) | def __init__(self, max_tile_size: int = 2048) -> None: method allow_smaller_tile_size (line 22) | def allow_smaller_tile_size(self) -> bool: method starting_tile_size (line 25) | def starting_tile_size(self, width: int, height: int, channels: int) -... method split (line 29) | def split(self, tile_size: Size) -> Size: function _as_3d (line 37) | def _as_3d(img: np.ndarray) -> np.ndarray: function pix_transform_auto_split (line 43) | def pix_transform_auto_split( function _run_pix_transform (line 96) | def _run_pix_transform(): FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/pytorch/pix_transform/pix_transform.py class Params (line 15) | class Params: function pix_transform (line 25) | def pix_transform( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/pytorch/pix_transform/pix_transform_net.py class PixTransformNet (line 6) | class PixTransformNet(nn.Module): method __init__ (line 7) | def __init__( method forward (line 60) | def forward(self, input_): # noqa: ANN001 FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/pytorch/rife/IFNet_HDv3_v4_14_align.py function conv (line 20) | def conv(in_planes, out_planes, kernel_size=3, stride=1, padding=1, dila... function conv_bn (line 35) | def conv_bn(in_planes, out_planes, kernel_size=3, stride=1, padding=1, d... class Head (line 51) | class Head(nn.Module): method __init__ (line 52) | def __init__(self) -> None: method forward (line 60) | def forward(self, x, feat=False): # noqa: ANN001 class ResConv (line 73) | class ResConv(nn.Module): method __init__ (line 74) | def __init__(self, c, dilation=1) -> None: # noqa: ANN001 method forward (line 80) | def forward(self, x): # noqa: ANN001 class IFBlock (line 84) | class IFBlock(nn.Module): method __init__ (line 85) | def __init__(self, in_planes, c=64) -> None: # noqa: ANN001 method forward (line 105) | def forward(self, x, flow=None, scale=1): # noqa: ANN001 class IFNet (line 129) | class IFNet(nn.Module): method __init__ (line 130) | def __init__(self) -> None: method align_images (line 138) | def align_images( method forward (line 241) | def forward( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/pytorch/rife/warplayer.py function warp (line 7) | def warp(tenInput, tenFlow, device): # noqa: ANN001, N803 FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/pytorch/utils.py function bgr_to_rgb (line 11) | def bgr_to_rgb(image: Tensor) -> Tensor: function rgb_to_bgr (line 20) | def rgb_to_bgr(image: Tensor) -> Tensor: function bgra_to_rgba (line 25) | def bgra_to_rgba(image: Tensor) -> Tensor: function rgba_to_bgra (line 30) | def rgba_to_bgra(image: Tensor) -> Tensor: function norm (line 35) | def norm(x: Tensor): function np2tensor (line 41) | def np2tensor( function tensor2np (line 85) | def tensor2np( function safe_cuda_cache_empty (line 149) | def safe_cuda_cache_empty() -> None: function safe_accelerator_cache_empty (line 162) | def safe_accelerator_cache_empty(device: torch.device) -> None: FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/resize.py class ResizeFilter (line 12) | class ResizeFilter(Enum): function resize (line 45) | def resize( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/upscale/auto_split.py class Split (line 15) | class Split: function auto_split (line 22) | def auto_split( class _SplitEx (line 54) | class _SplitEx(Exception): function _exact_split (line 58) | def _exact_split( function _max_split (line 93) | def _max_split( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/upscale/auto_split_tiles.py function estimate_tile_size (line 13) | def estimate_tile_size( function parse_tile_size_input (line 46) | def parse_tile_size_input(tile_size: TileSize, estimate: Callable[[], Ti... FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/upscale/basic_upscale.py class UpscaleInfo (line 15) | class UpscaleInfo: method supports_custom_scale (line 21) | def supports_custom_scale(self) -> bool: class PaddingType (line 25) | class PaddingType(Enum): method to_border_type (line 31) | def to_border_type(self) -> BorderType: function _custom_scale_upscale (line 49) | def _custom_scale_upscale( function basic_upscale (line 83) | def basic_upscale( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/upscale/convenient_upscale.py function with_black_and_white_backgrounds (line 10) | def with_black_and_white_backgrounds(img: np.ndarray) -> tuple[np.ndarra... function denoise_and_flatten_alpha (line 23) | def denoise_and_flatten_alpha(img: np.ndarray) -> np.ndarray: function convenient_upscale (line 31) | def convenient_upscale( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/upscale/custom_scale.py function custom_scale_upscale (line 9) | def custom_scale_upscale( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/upscale/exact_split.py function _pad_image (line 15) | def _pad_image(img: np.ndarray, min_size: Size): class _Segment (line 28) | class _Segment: method length (line 35) | def length(self) -> int: method padded_length (line 39) | def padded_length(self) -> int: function _exact_split_into_segments (line 43) | def _exact_split_into_segments(length: int, exact: int, overlap: int) ->... function _exact_split_into_regions (line 88) | def _exact_split_into_regions( function _exact_split_without_padding (line 125) | def _exact_split_without_padding( function exact_split (line 200) | def exact_split( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/upscale/grayscale.py class SplitMode (line 12) | class SplitMode(Enum): method split (line 16) | def split(self, img: np.ndarray) -> list[np.ndarray]: method combine (line 42) | def combine(self, channels: list[np.ndarray]) -> np.ndarray: function grayscale_split (line 62) | def grayscale_split( FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/upscale/passthrough.py function passthrough_single_color (line 7) | def passthrough_single_color(img: np.ndarray, scale: int, op: ImageOp) -... FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/upscale/tile_blending.py function sin_blend_fn (line 12) | def sin_blend_fn(x: np.ndarray) -> np.ndarray: function half_sin_blend_fn (line 16) | def half_sin_blend_fn(i: np.ndarray) -> np.ndarray: class BlendDirection (line 22) | class BlendDirection(Enum): class TileOverlap (line 28) | class TileOverlap: method total (line 33) | def total(self) -> int: function _fast_mix (line 37) | def _fast_mix(a: np.ndarray, b: np.ndarray, blend: np.ndarray) -> np.nda... class TileBlender (line 49) | class TileBlender: method __init__ (line 50) | def __init__( method width (line 81) | def width(self) -> int: method height (line 85) | def height(self) -> int: method channels (line 89) | def channels(self) -> int: method _get_blend (line 92) | def _get_blend(self, blend_size: int) -> np.ndarray: method add_tile (line 117) | def add_tile(self, tile: np.ndarray, overlap: TileOverlap) -> None: method get_result (line 207) | def get_result(self) -> np.ndarray: FILE: MangaJaNaiConverterGui/backend/src/nodes/impl/upscale/tiler.py class Tiler (line 6) | class Tiler(ABC): method allow_smaller_tile_size (line 8) | def allow_smaller_tile_size(self) -> bool: method starting_tile_size (line 17) | def starting_tile_size(self, width: int, height: int, channels: int) -... method split (line 24) | def split(self, tile_size: Size) -> Size: class NoTiling (line 30) | class NoTiling(Tiler): method allow_smaller_tile_size (line 31) | def allow_smaller_tile_size(self) -> bool: method starting_tile_size (line 34) | def starting_tile_size(self, width: int, height: int, channels: int) -... method split (line 39) | def split(self, tile_size: Size) -> Size: class MaxTileSize (line 43) | class MaxTileSize(Tiler): method __init__ (line 44) | def __init__(self, tile_size: int = 2**31) -> None: method allow_smaller_tile_size (line 47) | def allow_smaller_tile_size(self) -> bool: method starting_tile_size (line 50) | def starting_tile_size(self, width: int, height: int, channels: int) -... class ExactTileSize (line 58) | class ExactTileSize(Tiler): method __init__ (line 59) | def __init__(self, exact_size: Size) -> None: method allow_smaller_tile_size (line 62) | def allow_smaller_tile_size(self) -> bool: method starting_tile_size (line 65) | def starting_tile_size(self, width: int, height: int, channels: int) -... method split (line 68) | def split(self, tile_size: Size) -> Size: FILE: MangaJaNaiConverterGui/backend/src/nodes/node_cache.py class CachedNumpyArray (line 21) | class CachedNumpyArray: method __init__ (line 22) | def __init__(self, arr: np.ndarray) -> None: method value (line 29) | def value(self) -> np.ndarray: class NodeOutputCache (line 37) | class NodeOutputCache: method __init__ (line 38) | def __init__(self) -> None: method _args_to_key (line 46) | def _args_to_key(args: Iterable[object]) -> CacheKey: method _estimate_bytes (line 67) | def _estimate_bytes(output: list[object]) -> int: method empty (line 78) | def empty(self) -> bool: method oldest (line 81) | def oldest(self) -> tuple[CacheKey, float]: method size (line 84) | def size(self): method _enforce_limits (line 88) | def _enforce_limits() -> None: method _write_arrays_to_disk (line 106) | def _write_arrays_to_disk(output: list) -> list: method _read_arrays_from_disk (line 113) | def _read_arrays_from_disk(output: list) -> list: method _output_to_list (line 120) | def _output_to_list(output: object) -> list[object]: method _list_to_output (line 129) | def _list_to_output(output: list[object]): method get (line 134) | def get(self, args: Iterable[object]) -> object | None: method put (line 143) | def put(self, args: Iterable[object], output: object) -> None: method drop (line 150) | def drop(self, key: CacheKey) -> None: function cached (line 156) | def cached(run: RunFn): FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/inputs/__system_inputs.py class StaticValueInput (line 11) | class StaticValueInput(BaseInput): method __init__ (line 12) | def __init__( method to_dict (line 24) | def to_dict(self): method enforce (line 30) | def enforce(self, value: object): FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/inputs/file_inputs.py class FileInput (line 27) | class FileInput(BaseInput): method __init__ (line 30) | def __init__( method to_dict (line 57) | def to_dict(self): method enforce (line 65) | def enforce(self, value: object) -> Path: function ImageFileInput (line 74) | def ImageFileInput(primary_input: bool = False) -> FileInput: function VideoFileInput (line 85) | def VideoFileInput(primary_input: bool = False) -> FileInput: function PthFileInput (line 108) | def PthFileInput(primary_input: bool = False) -> FileInput: class DirectoryInput (line 118) | class DirectoryInput(BaseInput[Path]): method __init__ (line 121) | def __init__( method to_dict (line 142) | def to_dict(self): method enforce (line 148) | def enforce(self, value: object) -> Path: function BinFileInput (line 159) | def BinFileInput(primary_input: bool = False) -> FileInput: function ParamFileInput (line 169) | def ParamFileInput(primary_input: bool = False) -> FileInput: function OnnxFileInput (line 179) | def OnnxFileInput(primary_input: bool = False) -> FileInput: function _is_abs_path (line 192) | def _is_abs_path(path: str) -> bool: class RelativePathInput (line 196) | class RelativePathInput(TextInput): method __init__ (line 197) | def __init__( method enforce (line 220) | def enforce(self, value: object) -> str: FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/inputs/generic_inputs.py class DropDownOption (line 38) | class DropDownOption(TypedDict): class DropDownGroup (line 60) | class DropDownGroup: method divider (line 65) | def divider(start_at: str | int | Enum): method to_dict (line 68) | def to_dict(self): class DropDownInput (line 78) | class DropDownInput(BaseInput[T]): method __init__ (line 81) | def __init__( method to_dict (line 112) | def to_dict(self): method make_optional (line 122) | def make_optional(self) -> Never: method enforce (line 125) | def enforce(self, value: object) -> T: method wrap_with_conditional_group (line 129) | def wrap_with_conditional_group(self): class _BoolEnumInput (line 150) | class _BoolEnumInput(DropDownInput[bool]): method __init__ (line 151) | def __init__( method enforce (line 175) | def enforce(self, value: object) -> bool: class _BoolGenericInput (line 180) | class _BoolGenericInput(BaseInput[bool]): method __init__ (line 181) | def __init__(self, label: str) -> None: method enforce (line 185) | def enforce(self, value: object) -> bool: function BoolInput (line 196) | def BoolInput( class EnumInput (line 211) | class EnumInput(DropDownInput[E]): method __init__ (line 232) | def __init__( method get_variant_type (line 305) | def get_variant_type(variant: Enum, type_name: str | None = None) -> str: method enforce (line 320) | def enforce(self, value: object) -> E: class TextInput (line 325) | class TextInput(BaseInput[str]): method __init__ (line 328) | def __init__( method enforce (line 368) | def enforce(self, value: object) -> str: method to_dict (line 386) | def to_dict(self): class ClipboardInput (line 400) | class ClipboardInput(BaseInput): method __init__ (line 403) | def __init__(self, label: str = "Clipboard input") -> None: method enforce (line 409) | def enforce(self, value: object): method to_dict (line 419) | def to_dict(self): class AnyInput (line 426) | class AnyInput(BaseInput[object]): method __init__ (line 427) | def __init__(self, label: str) -> None: method enforce_ (line 431) | def enforce_(self, value: object): class SeedInput (line 436) | class SeedInput(NumberInput): method __init__ (line 437) | def __init__(self, label: str = "Seed", *, has_handle: bool = True) ->... method enforce (line 459) | def enforce(self, value: object) -> Seed: # type: ignore method make_optional (line 466) | def make_optional(self) -> Never: class ColorInput (line 470) | class ColorInput(BaseInput[Color]): method __init__ (line 471) | def __init__( method enforce (line 519) | def enforce(self, value: object) -> Color: method to_dict (line 535) | def to_dict(self): method make_optional (line 542) | def make_optional(self) -> Never: function BlendModeDropdown (line 546) | def BlendModeDropdown() -> DropDownInput: function FillColorDropdown (line 562) | def FillColorDropdown() -> DropDownInput: function TileSizeDropdown (line 578) | def TileSizeDropdown( class AudioStreamInput (line 602) | class AudioStreamInput(BaseInput): method __init__ (line 603) | def __init__(self, label: str = "Audio Stream") -> None: class OrderEnum (line 607) | class OrderEnum(Enum): function RowOrderDropdown (line 612) | def RowOrderDropdown() -> DropDownInput: class Anchor (line 620) | class Anchor(Enum): function AnchorInput (line 632) | def AnchorInput(label: str = "Anchor", icon: str = "BsFillImageFill") ->... FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/inputs/image_dropdown_inputs.py function ColorSpaceDetectorInput (line 17) | def ColorSpaceDetectorInput(label: str = "Color Space") -> DropDownInput: function ColorSpaceInput (line 32) | def ColorSpaceInput(label: str = "Color Space") -> DropDownInput: function ResizeFilterInput (line 54) | def ResizeFilterInput() -> DropDownInput: function RotateInterpolationInput (line 71) | def RotateInterpolationInput() -> DropDownInput: function BorderInput (line 81) | def BorderInput() -> DropDownInput: FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/inputs/label.py function get_default_label_style (line 6) | def get_default_label_style(label: str) -> LabelStyle: FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/inputs/ncnn_inputs.py class NcnnModelInput (line 6) | class NcnnModelInput(BaseInput): method __init__ (line 9) | def __init__(self, label: str = "Model") -> None: FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/inputs/numeric_inputs.py function _get_step (line 16) | def _get_step(precision: Precision) -> float: function _is_int (line 22) | def _is_int(precision: Precision) -> bool: function clamp_number (line 26) | def clamp_number( function get_number_type (line 49) | def get_number_type( class NumberInput (line 60) | class NumberInput(BaseInput): method __init__ (line 63) | def __init__( method to_dict (line 97) | def to_dict(self): method make_optional (line 112) | def make_optional(self) -> Never: method enforce (line 115) | def enforce(self, value: object): class SliderInput (line 124) | class SliderInput(NumberInput): method __init__ (line 127) | def __init__( method to_dict (line 167) | def to_dict(self): FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/inputs/numpy_inputs.py class AudioInput (line 16) | class AudioInput(BaseInput): method __init__ (line 19) | def __init__(self, label: str = "Audio") -> None: class ImageInput (line 23) | class ImageInput(BaseInput): method __init__ (line 26) | def __init__( method enforce (line 50) | def enforce(self, value: object): method get_error_value (line 83) | def get_error_value(self, value: object) -> ErrorValue: class VideoInput (line 108) | class VideoInput(BaseInput): method __init__ (line 111) | def __init__(self, label: str = "Video") -> None: FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/inputs/onnx_inputs.py class OnnxModelInput (line 9) | class OnnxModelInput(BaseInput): method __init__ (line 12) | def __init__( class OnnxGenericModelInput (line 19) | class OnnxGenericModelInput(OnnxModelInput): method __init__ (line 22) | def __init__( method enforce (line 28) | def enforce(self, value: object): class OnnxRemBgModelInput (line 34) | class OnnxRemBgModelInput(OnnxModelInput): method __init__ (line 37) | def __init__( method enforce (line 43) | def enforce(self, value: object): function OnnxFpDropdown (line 49) | def OnnxFpDropdown() -> DropDownInput: FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/inputs/pytorch_inputs.py function _model_with_purpose (line 14) | def _model_with_purpose(purpose: set[Purpose]): class ModelInput (line 19) | class ModelInput(BaseInput): method __init__ (line 22) | def __init__( method enforce (line 31) | def enforce(self, value: object): class SrModelInput (line 40) | class SrModelInput(ModelInput): method __init__ (line 41) | def __init__( method enforce (line 55) | def enforce(self, value: object): class FaceModelInput (line 66) | class FaceModelInput(ModelInput): method __init__ (line 67) | def __init__( method enforce (line 79) | def enforce(self, value: object): class InpaintModelInput (line 90) | class InpaintModelInput(ModelInput): method __init__ (line 91) | def __init__( method enforce (line 103) | def enforce(self, value: object): class TorchScriptInput (line 112) | class TorchScriptInput(BaseInput): method __init__ (line 115) | def __init__(self, label: str = "Traced Model") -> None: FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/outputs/file_outputs.py class DirectoryOutput (line 10) | class DirectoryOutput(BaseOutput[Path]): method __init__ (line 13) | def __init__( method get_broadcast_type (line 27) | def get_broadcast_type(self, value: Path): method enforce (line 30) | def enforce(self, value: object) -> Path: FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/outputs/generic_outputs.py class NumberOutput (line 14) | class NumberOutput(BaseOutput[Union[int, float]]): method __init__ (line 15) | def __init__( method get_broadcast_type (line 26) | def get_broadcast_type(self, value: int | float): method enforce (line 29) | def enforce(self, value: object) -> int | float: class TextOutput (line 34) | class TextOutput(BaseOutput): method __init__ (line 35) | def __init__( method get_broadcast_type (line 42) | def get_broadcast_type(self, value: str): method enforce (line 45) | def enforce(self, value: object) -> str: function FileNameOutput (line 50) | def FileNameOutput(label: str = "Name", of_input: int | None = None): class SeedOutput (line 60) | class SeedOutput(BaseOutput): method __init__ (line 61) | def __init__(self, label: str = "Seed") -> None: method enforce (line 64) | def enforce(self, value: object) -> Seed: class ColorOutput (line 69) | class ColorOutput(BaseOutput): method __init__ (line 70) | def __init__( method enforce (line 86) | def enforce(self, value: object) -> Color: class BoolOutput (line 101) | class BoolOutput(BaseOutput): method __init__ (line 102) | def __init__( class AudioStreamOutput (line 115) | class AudioStreamOutput(BaseOutput): method __init__ (line 116) | def __init__(self, label: str = "Audio Stream") -> None: class AnyOutput (line 124) | class AnyOutput(BaseOutput): method __init__ (line 125) | def __init__( method enforce (line 134) | def enforce(self, value: object) -> object: FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/outputs/ncnn_outputs.py class NcnnModelOutput (line 9) | class NcnnModelOutput(BaseOutput): method __init__ (line 10) | def __init__( method get_broadcast_data (line 18) | def get_broadcast_data(self, value: NcnnModelWrapper): method get_broadcast_type (line 27) | def get_broadcast_type(self, value: NcnnModelWrapper): FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/outputs/numpy_outputs.py class NumPyOutput (line 17) | class NumPyOutput(BaseOutput[np.ndarray]): method __init__ (line 20) | def __init__( method enforce (line 35) | def enforce(self, value: object) -> np.ndarray: function AudioOutput (line 40) | def AudioOutput(): class ImageOutput (line 45) | class ImageOutput(NumPyOutput): method __init__ (line 46) | def __init__( method get_broadcast_data (line 78) | def get_broadcast_data(self, value: np.ndarray) -> BroadcastData: method get_broadcast_type (line 86) | def get_broadcast_type(self, value: np.ndarray): method enforce (line 90) | def enforce(self, value: object) -> np.ndarray: function preview_encode (line 131) | def preview_encode( class LargeImageOutput (line 157) | class LargeImageOutput(ImageOutput): method __init__ (line 158) | def __init__( method get_broadcast_data (line 174) | def get_broadcast_data(self, value: np.ndarray): function VideoOutput (line 216) | def VideoOutput(): FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/outputs/onnx_outputs.py class OnnxModelOutput (line 11) | class OnnxModelOutput(BaseOutput): method __init__ (line 14) | def __init__( method get_broadcast_data (line 22) | def get_broadcast_data(self, value: OnnxModel): method get_broadcast_type (line 34) | def get_broadcast_type(self, value: OnnxModel): FILE: MangaJaNaiConverterGui/backend/src/nodes/properties/outputs/pytorch_outputs.py class ModelOutput (line 11) | class ModelOutput(BaseOutput): method __init__ (line 12) | def __init__( method get_broadcast_data (line 20) | def get_broadcast_data(self, value: ModelDescriptor) -> dict[str, list... method get_broadcast_type (line 29) | def get_broadcast_type(self, value: ModelDescriptor): function TorchScriptOutput (line 50) | def TorchScriptOutput(): FILE: MangaJaNaiConverterGui/backend/src/nodes/utils/format.py function join_english (line 10) | def join_english( function format_image_with_channels (line 27) | def format_image_with_channels( function format_color_with_channels (line 49) | def format_color_with_channels( function format_channel_numbers (line 74) | def format_channel_numbers(input_channels: int, output_channels: int) ->... FILE: MangaJaNaiConverterGui/backend/src/nodes/utils/seed.py class Seed (line 8) | class Seed: method from_bytes (line 15) | def from_bytes(b: bytes): method to_range (line 18) | def to_range(self, a: int, b: int) -> int: method to_u32 (line 28) | def to_u32(self) -> int: method cache_key_func (line 34) | def cache_key_func(self): FILE: MangaJaNaiConverterGui/backend/src/nodes/utils/utils.py function round_half_up (line 23) | def round_half_up(number: float | int) -> int: function get_h_w_c (line 35) | def get_h_w_c(image: np.ndarray) -> tuple[int, int, int]: function alphanumeric_sort (line 42) | def alphanumeric_sort(value: str) -> list[str | int]: function split_snake_case (line 56) | def split_snake_case(s: str) -> list[str]: function split_pascal_case (line 63) | def split_pascal_case(s: str) -> list[str]: function join_pascal_case (line 70) | def join_pascal_case(words: list[str]) -> str: function smart_capitalize (line 77) | def smart_capitalize(word: str) -> str: function join_space_case (line 83) | def join_space_case(words: list[str]) -> str: function split_file_path (line 87) | def split_file_path(path: Path | str) -> tuple[Path, str, str]: function walk_error_handler (line 96) | def walk_error_handler(exception_instance: Exception) -> None: function list_all_files_sorted (line 102) | def list_all_files_sorted( class Padding (line 119) | class Padding: method all (line 126) | def all(value: int) -> Padding: method to (line 130) | def to(value: Padding | int) -> Padding: method horizontal (line 136) | def horizontal(self) -> int: method vertical (line 140) | def vertical(self) -> int: method empty (line 144) | def empty(self) -> bool: method scale (line 147) | def scale(self, factor: int) -> Padding: method min (line 155) | def min(self, other: Padding | int) -> Padding: method remove_from (line 164) | def remove_from(self, image: np.ndarray) -> np.ndarray: class Region (line 175) | class Region: method size (line 182) | def size(self) -> Size: method scale (line 185) | def scale(self, factor: int) -> Region: method intersect (line 193) | def intersect(self, other: Region) -> Region: method add_padding (line 200) | def add_padding(self, pad: Padding) -> Region: method remove_padding (line 208) | def remove_padding(self, pad: Padding) -> Region: method child_padding (line 211) | def child_padding(self, child: Region) -> Padding: method read_from (line 221) | def read_from(self, image: np.ndarray) -> np.ndarray: method write_into (line 232) | def write_into(self, lhs: np.ndarray, rhs: np.ndarray) -> None: FILE: MangaJaNaiConverterGui/backend/src/packages/chaiNNer_pytorch/__init__.py function get_pytorch (line 41) | def get_pytorch(): FILE: MangaJaNaiConverterGui/backend/src/packages/chaiNNer_pytorch/pytorch/io/load_model.py function parse_ckpt_state_dict (line 22) | def parse_ckpt_state_dict(checkpoint: dict): function load_model_node (line 71) | def load_model_node( FILE: MangaJaNaiConverterGui/backend/src/packages/chaiNNer_pytorch/pytorch/processing/upscale_image.py function upscale (line 41) | def upscale( function upscale_image_node (line 317) | def upscale_image_node( FILE: MangaJaNaiConverterGui/backend/src/packages/chaiNNer_pytorch/settings.py class PyTorchSettings (line 119) | class PyTorchSettings: method __post_init__ (line 128) | def __post_init__(self): method device (line 134) | def device(self) -> torch.device: method accelerator_device (line 163) | def accelerator_device(self) -> 'AcceleratorDevice': function get_settings (line 185) | def get_settings(context: NodeContext) -> PyTorchSettings: FILE: MangaJaNaiConverterGui/backend/src/progress_controller.py class Aborted (line 6) | class Aborted(Exception): class ProgressToken (line 10) | class ProgressToken(ABC): method paused (line 13) | def paused(self) -> bool: method aborted (line 18) | def aborted(self) -> bool: method suspend (line 22) | async def suspend(self) -> None: class ProgressController (line 29) | class ProgressController(ProgressToken): method __init__ (line 30) | def __init__(self) -> None: method paused (line 42) | def paused(self) -> bool: method aborted (line 46) | def aborted(self) -> bool: method pause (line 49) | def pause(self) -> None: method resume (line 52) | def resume(self) -> None: method abort (line 55) | def abort(self) -> None: method suspend (line 58) | async def suspend(self) -> None: FILE: MangaJaNaiConverterGui/backend/src/run_upscale.py class _ExecutorNodeContext (line 53) | class _ExecutorNodeContext(NodeContext): method __init__ (line 54) | def __init__( method aborted (line 67) | def aborted(self) -> bool: method paused (line 71) | def paused(self) -> bool: method set_progress (line 75) | def set_progress(self, progress: float) -> None: method settings (line 81) | def settings(self) -> SettingsParser: method storage_dir (line 88) | def storage_dir(self) -> Path: method add_cleanup (line 91) | def add_cleanup( function get_tile_size (line 102) | def get_tile_size(tile_size_str: str) -> TileSize: function standard_resize (line 121) | def standard_resize(image: np.ndarray, new_size: tuple[int, int]) -> np.... function dotgain20_resize (line 139) | def dotgain20_resize(image: np.ndarray, new_size: tuple[int, int]) -> np... function image_resize (line 160) | def image_resize( function get_system_codepage (line 169) | def get_system_codepage() -> Any: function enhance_contrast (line 173) | def enhance_contrast(image: np.ndarray) -> MatLike: function _read_image (line 238) | def _read_image(img_stream: bytes, filename: str) -> np.ndarray: function _read_image_from_path (line 242) | def _read_image_from_path(path: str) -> np.ndarray: function _read_vips (line 246) | def _read_vips(img_stream: bytes) -> np.ndarray: function cv_image_is_grayscale (line 250) | def cv_image_is_grayscale(image: np.ndarray, user_threshold: float) -> b... function convert_image_to_grayscale (line 286) | def convert_image_to_grayscale(image: np.ndarray) -> np.ndarray: function get_chain_for_image (line 296) | def get_chain_for_image( function should_chain_activate_for_image (line 329) | def should_chain_activate_for_image( function ai_upscale_image (line 364) | def ai_upscale_image( function postprocess_image (line 389) | def postprocess_image(image: np.ndarray) -> np.ndarray: function final_target_resize (line 394) | def final_target_resize( function save_image_zip (line 439) | def save_image_zip( function save_image (line 480) | def save_image( function preprocess_worker_archive (line 513) | def preprocess_worker_archive( function preprocess_worker_archive_file (line 556) | def preprocess_worker_archive_file( function preprocess_worker_folder (line 699) | def preprocess_worker_folder( function preprocess_worker_image (line 880) | def preprocess_worker_image( function upscale_worker (line 1000) | def upscale_worker(upscale_queue: Queue, postprocess_queue: Queue) -> None: function postprocess_worker_zip (line 1033) | def postprocess_worker_zip( function postprocess_worker_folder (line 1081) | def postprocess_worker_folder( function postprocess_worker_image (line 1120) | def postprocess_worker_image( function upscale_archive_file (line 1157) | def upscale_archive_file( function upscale_image_file (line 1220) | def upscale_image_file( function upscale_file (line 1283) | def upscale_file( function upscale_folder (line 1351) | def upscale_folder( function get_model_abs_path (line 1429) | def get_model_abs_path(chain_model_file_path: str) -> str: function get_gamma_icc_profile (line 1433) | def get_gamma_icc_profile() -> ImageCmsProfile: function get_dot20_icc_profile (line 1440) | def get_dot20_icc_profile() -> ImageCmsProfile: function parse_settings_from_cli (line 1447) | def parse_settings_from_cli(): function parse_auto_settings (line 1485) | def parse_auto_settings(args): function parse_manual_settings (line 1492) | def parse_manual_settings(args): FILE: MangaJaNaiConverterGui/backend/src/spandrel_custom/__init__.py function install (line 15) | def install(*, ignore_duplicates: bool = False) -> list[ArchSupport]: FILE: MangaJaNaiConverterGui/backend/src/spandrel_custom/architectures/FDAT/__arch/fdat.py class DySample (line 30) | class DySample(nn.Module): method __init__ (line 36) | def __init__( method _init_pos (line 67) | def _init_pos(self) -> Tensor: method forward (line 76) | def forward(self, x: Tensor) -> Tensor: class LayerNorm (line 117) | class LayerNorm(nn.Module): method __init__ (line 118) | def __init__(self, dim: int = 64, eps: float = 1e-6) -> None: method forward (line 125) | def forward(self, x): class LDA_AQU (line 136) | class LDA_AQU(nn.Module): method __init__ (line 137) | def __init__( method init_weights (line 201) | def init_weights(self) -> None: method get_offset (line 211) | def get_offset(self, offset, Hout, Wout): method extract_feats (line 231) | def extract_feats(self, x, offset, ks=3): method forward (line 242) | def forward(self, x): class PA (line 283) | class PA(nn.Module): method __init__ (line 284) | def __init__(self, dim) -> None: method forward (line 288) | def forward(self, x): class UniUpsampleV3 (line 292) | class UniUpsampleV3(nn.Sequential): method __init__ (line 293) | def __init__( class FastSpatialWindowAttention (line 444) | class FastSpatialWindowAttention(nn.Module): method __init__ (line 445) | def __init__(self, dim, window_size=8, num_heads=4, qkv_bias=False) ->... method forward (line 458) | def forward(self, x, H, W): class FastChannelAttention (line 498) | class FastChannelAttention(nn.Module): method __init__ (line 499) | def __init__(self, dim, num_heads=4, qkv_bias=False) -> None: method forward (line 508) | def forward(self, x, H, W): # H, W are unused but kept for API consis... class SimplifiedAIM (line 522) | class SimplifiedAIM(nn.Module): method __init__ (line 523) | def __init__(self, dim, reduction_ratio=8) -> None: method forward (line 534) | def forward(self, attn_feat, conv_feat, interaction_type, H, W): class SimplifiedFFN (line 552) | class SimplifiedFFN(nn.Module): method __init__ (line 553) | def __init__(self, dim, expansion_ratio=2.0, drop=0.0) -> None: method forward (line 564) | def forward(self, x, H, W): class SimplifiedDATBlock (line 575) | class SimplifiedDATBlock(nn.Module): method __init__ (line 576) | def __init__(self, dim, nh, ws, ffn_exp, aim_re, btype, dp, qkv_b=Fals... method _conv_fwd (line 592) | def _conv_fwd(self, x, H, W): method forward (line 598) | def forward(self, x, H, W): class SimplifiedResidualGroup (line 611) | class SimplifiedResidualGroup(nn.Module): method __init__ (line 612) | def __init__(self, dim, depth, nh, ws, ffn_exp, aim_re, pattern, dp_ra... method forward (line 624) | def forward(self, x: Tensor) -> Tensor: class FDAT (line 633) | class FDAT(nn.Module): method __init__ (line 636) | def __init__( method load_state_dict (line 698) | def load_state_dict( method _init_weights (line 707) | def _init_weights(self, m: nn.Module) -> None: method check_img_size (line 722) | def check_img_size(self, x: Tensor, h: int, w: int) -> Tensor: method forward (line 729) | def forward(self, x: Tensor) -> Tensor: FILE: MangaJaNaiConverterGui/backend/src/spandrel_custom/architectures/FDAT/__init__.py class FDATArch (line 9) | class FDATArch(Architecture[FDAT]): method __init__ (line 10) | def __init__(self): method load (line 33) | def load(self, state_dict: StateDict) -> ImageModelDescriptor[FDAT]: FILE: MangaJaNaiConverterGui/backend/src/test_accelerators.py function test_accelerator_detection (line 10) | def test_accelerator_detection():