public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var id1 = reader.ReadInt("imageId1"); var id2 = reader.ReadInt("imageId2"); reader.ExpectNoMoreArgs(); if (id1 < 0 || id1 >= model.Images.NumImages) { throw new Exception("imageId1 out of range"); } if (id2 < 0 || id2 >= model.Images.NumImages) { throw new Exception("imageId2 out of range"); } var ssim = model.SSIM.GetStats(model.Images.Images[id1].Image, model.Images.Images[id2].Image, LayerMipmapRange.MostDetailed); Console.Error.Write("luminance:\t"); Console.Out.WriteLine(ssim.Luminance); Console.Error.Write("contrast:\t"); Console.Out.WriteLine(ssim.Contrast); Console.Error.Write("structure:\t"); Console.Out.WriteLine(ssim.Structure); Console.Error.Write("ssim:\t\t"); Console.Out.WriteLine(ssim.SSIM); Console.Error.Write("dssim:\t\t"); Console.Out.WriteLine(ssim.DSSIM); }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var idx1 = reader.ReadInt("oldIndex"); var idx2 = reader.ReadInt("newIndex"); reader.ExpectNoMoreArgs(); model.Images.MoveImage(idx1, idx2); }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var idx = reader.ReadInt("index"); reader.ExpectNoMoreArgs(); var filter = model.Filter.Filter[idx]; foreach (var fp in filter.Parameters) { Console.Out.Write($"{fp.GetBase().Name} "); switch (fp.GetParamterType()) { case ParameterType.Float: Console.Out.WriteLine(fp.GetFloatModel().Value); break; case ParameterType.Int: Console.Out.WriteLine(fp.GetIntModel().Value); break; case ParameterType.Bool: Console.Out.WriteLine(fp.GetBoolModel().Value); break; } } foreach (var tp in filter.TextureParameters) { Console.Out.WriteLine($"{tp.Name}: (image) {tp.Source}"); } Console.Out.WriteLine(); // signal params end }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var q = reader.ReadInt("quality"); reader.ExpectNoMoreArgs(); model.Export.Quality = q; }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var mip = reader.ReadInt("mipmap"); reader.ExpectNoMoreArgs(); export.Mipmap = mip; }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var layer = reader.ReadInt("layer"); reader.ExpectNoMoreArgs(); export.Layer = layer; }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var x = reader.ReadInt("x"); var y = reader.ReadInt("y"); var layer = reader.ReadInt("layer", 0); var mipmap = reader.ReadInt("mipmap", 0); var radius = reader.ReadInt("radius", 0); reader.ExpectNoMoreArgs(); model.Apply(); var color = model.GetPixelValue(model.Pipelines[0].Image, new Size3(x, y, 0), new LayerMipmapSlice(layer, mipmap), radius); Console.Out.WriteLine(color.ToDecimalString(true, 5)); color = color.ToSrgb(); Console.Out.WriteLine(color.ToBitString(true)); }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var mip = reader.ReadInt("mipmapIndex", 0); reader.ExpectNoMoreArgs(); Console.Out.WriteLine(model.Images.GetWidth(mip)); Console.Out.WriteLine(model.Images.GetHeight(mip)); }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var idx = reader.ReadInt("index"); var name = reader.ReadString("param name"); foreach (var fp in model.Filter.Filter[idx].Parameters) { if (fp.GetBase().Name == name) { switch (fp.GetParamterType()) { case ParameterType.Float: fp.GetFloatModel().Value = reader.ReadInt("value"); break; case ParameterType.Int: fp.GetIntModel().Value = reader.ReadInt("value"); break; case ParameterType.Bool: fp.GetBoolModel().Value = reader.ReadBool("value"); break; } reader.ExpectNoMoreArgs(); return; } } foreach (var tp in model.Filter.Filter[idx].TextureParameters) { if (tp.Name == name) { tp.Source = reader.ReadInt("value"); reader.ExpectNoMoreArgs(); return; } } throw new Exception($"parameter {name} not found"); }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var enable = reader.ReadBool("enabled"); if (!reader.HasMoreArgs()) { export.UseCropping = enable; } else { var xStart = reader.ReadInt("xStart"); var yStart = reader.ReadInt("yStart"); var xEnd = reader.ReadInt("xEnd"); var yEnd = reader.ReadInt("yEnd"); reader.ExpectNoMoreArgs(); export.UseCropping = enable; export.CropStart = new Size3(xStart, yStart, 0).ToCoords(model.Images.Size); export.CropEnd = new Size3(xEnd, yEnd, 0).ToCoords(model.Images.Size); } }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var enable = reader.ReadBool("enabled"); if (!reader.HasMoreArgs()) { model.Export.UseCropping = enable; } else { var xStart = reader.ReadInt("xStart"); var yStart = reader.ReadInt("yStart"); var xEnd = reader.ReadInt("xEnd"); var yEnd = reader.ReadInt("yEnd"); reader.ExpectNoMoreArgs(); model.Export.UseCropping = enable; model.Export.CropStartX = xStart; model.Export.CropStartY = yStart; model.Export.CropEndX = xEnd; model.Export.CropEndY = yEnd; } }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); if (reader.HasMoreArgs()) { var idx = reader.ReadInt("index"); reader.ExpectNoMoreArgs(); model.Filter.DeleteFilter(idx); } else { // delete all model.Filter.SetFilter(new List <FilterModel>()); } }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); if (reader.HasMoreArgs()) { var idx = reader.ReadInt("image index"); reader.ExpectNoMoreArgs(); model.Images.DeleteImage(idx); } else { // TODO add clear method to images while (model.Images.NumImages != 0) { model.Images.DeleteImage(0); } } }
public override void Execute(List <string> arguments, Models model) { var reader = new ParameterReader(arguments); var size = reader.ReadInt("size"); reader.ExpectNoMoreArgs(); model.Apply(); using (var tex = model.CreateThumbnail(size, model.Pipelines[0].Image)) { var width = tex.Size.Width; var heigth = tex.Size.Height; var bytes = tex.GetBytes(0, 0, (uint)(width * heigth * 4)); Console.Out.WriteLine(width); Console.Out.WriteLine(heigth); using (var stream = Console.OpenStandardOutput()) { stream.Write(bytes, 0, bytes.Length); } } }