pub struct StockArgs {Show 15 fields
pub film: String,
pub film_file: Option<PathBuf>,
pub paper: String,
pub filters: String,
pub heat_glass: Option<String>,
pub dev_time: Option<f64>,
pub temp: Option<f64>,
pub spectral: bool,
pub lut_size: usize,
pub dictionary: Vec<PathBuf>,
pub lut: Option<PathBuf>,
pub allow_model_mismatch: bool,
pub camera: Option<String>,
pub spectral_print: bool,
pub spectral_scan: bool,
}Expand description
Options shared by every command that touches a film and a paper.
Fields§
§film: StringFilm stock id (see kalo stocks).
Every built-in stock is digitised from a manufacturer’s data sheet; its file says field by field what was measured and what was borrowed. The default is the one stock with nothing borrowed at all.
film_file: Option<PathBuf>A .kalofilm file to render instead of a compiled stock.
The file carries the film’s curves, spectra and a field-by-field account
of what was measured; data/films/ in the repository has twenty-four.
Loading one needs no recompile, which is the point of the format.
paper: StringPaper stock id (see kalo stocks).
filters: StringThe enlarger’s colour pack, in Kodak CC units: 30M, 20Y+10M.
Empty is the model without a filter pack. The dial settings are the film’s own convention — 1 CC is 0.01 of density — and the spectra behind them are KODAK’s tables, so a pack moves the print the way the filter it names would.
heat_glass: Option<String>A heat-absorbing glass in the light path, e.g. kg3.
dev_time: Option<f64>Development time in minutes. Defaults to the time the stock’s data sheet drew its curves at, which is not the same for every film.
temp: Option<f64>Developer temperature in degrees Celsius. Defaults to the sheet’s.
spectral: boolExpose through the spectral path instead of the per-channel scalar one.
lut_size: usizeBake the spectral exposure into a table of this size per axis. Requires –spectral. Zero disables the table.
dictionary: Vec<PathBuf>Reflectance CSV to use as the spectral dictionary prior. Repeat it to mix material families into one dictionary. Requires –spectral. Without it the polynomial prior is used alone.
lut: Option<PathBuf>Use a table baked by kalo bake instead of computing the exposure.
allow_model_mismatch: boolLoad a table even if it was baked for a different camera or film.
camera: Option<String>Which sensor the input is assumed to have come from.
srgb (the input’s own definition, the default), observer (CIE 1931,
for input that is already XYZ), generic (three broad Gaussians), or a
path to a measured sensitivity CSV. Requires –spectral.
spectral_print: boolPrint through spectral dye absorption and paper layer sensitivities.
spectral_scan: boolScan through spectral reflectance, illuminant and observer.
Trait Implementations§
Source§impl Args for StockArgs
impl Args for StockArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl From<&StockArgs> for StockChoice
impl From<&StockArgs> for StockChoice
Source§impl FromArgMatches for StockArgs
impl FromArgMatches for StockArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Forget for StockArgs
impl Freeze for StockArgs
impl Move for StockArgs
impl RefUnwindSafe for StockArgs
impl Send for StockArgs
impl Sync for StockArgs
impl Unpin for StockArgs
impl UnsafeUnpin for StockArgs
impl UnwindSafe for StockArgs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more