Skip to content

Unexpected verbose output for ops.help("create") #167

@elevans

Description

@elevans

The improvements made to ops.help() have been great for helping me explore the new API. But there is some unexpected behavior like ops.help("create").

For example here's the output for deconvolve:

print(ops.help("deconvolve"))
Names:
	> deconvolve.accelerate
	> deconvolve.firstGuess
	> deconvolve.normalizationFactor
	> deconvolve.richardsonLucy
	> deconvolve.richardsonLucyCorrection
	> deconvolve.richardsonLucyTV
	> deconvolve.richardsonLucyUpdate

But when I do the same for create I get this:

print(ops.help("create"))
Ops:
	> create(
		 Inputs:
			Dimensions null
			Object null
		 Outputs:
			ImgFactory<Object> output1 -> imgFactory
	)
	Aliases: [create.imgFactory]
	
	> create(
		 Inputs:
			Dimensions null
			Type null
		 Outputs:
			Img<Type> output1 -> img
	)
	Aliases: [create.img]
	
	> create(
		 Inputs:
			Dimensions null
			Type null
			ImgFactory<Type> null
		 Outputs:
			Img<Type> output1 -> img
	)
	Aliases: [create.img]
	
	> create(
		 Inputs:
			Dimensions null
			IntegerType null
		 Outputs:
			ImgLabeling<Object, IntegerType> output1 -> imgLabeling
	)
	Aliases: [create.imgLabeling]
	
	> create(
		 Inputs:
			Dimensions null
			IntegerType null
			ImgFactory<IntegerType> null
		 Outputs:
			ImgLabeling<Object, IntegerType> output1 -> imgLabeling
	)
	Aliases: [create.imgLabeling]
	
	> create(
		 Inputs:
			double[][] null
			ComplexType null
		 Outputs:
			RandomAccessibleInterval<ComplexType> output1 -> kernelRAI
	)
	Aliases: [create.kernel]
	
	> create(
		 Inputs:
			double[] null
			Integer null
			ComplexType null
		 Outputs:
			RandomAccessibleInterval<ComplexType> output1 -> biGaussKernelRAI
	)
	Aliases: [create.kernel2ndDerivBiGauss]
	
	> create(
		 Inputs:
			double[] null
			Integer null
			ComplexType null
		 Outputs:
			RandomAccessibleInterval<ComplexType> output1 -> biGaussKernelRAI
	)
	Aliases: [create.kernelBiGauss]
	
	> create(
		 Inputs:
			Dimensions null
			Double null
			Double null
			Double null
			Double null
			Double null
			Double null
			Double null
			ComplexType+NativeType null
		 Outputs:
			Img<ComplexType+NativeType> output1 -> diffractionKernelRAI
	)
	Aliases: [create.kernelDiffraction]
	
	> create(
		 Inputs:
			double[] null
			double[] null
			ComplexType null
		 Outputs:
			RandomAccessibleInterval<ComplexType> output1 -> gaborKernelRAI
	)
	Aliases: [create.kernelGabor]
	
	> create(
		 Inputs:
			Double null
			double[] null
			ComplexType null
		 Outputs:
			RandomAccessibleInterval<ComplexType> output1 -> gaborKernelRAI
	)
	Aliases: [create.kernelGabor]
	
	> create(
		 Inputs:
			double[] null
			ComplexType null
		 Outputs:
			RandomAccessibleInterval<ComplexType> output1 -> gaussKernelRAI
	)
	Aliases: [create.kernelGauss]
	
	> create(
		 Inputs:
			Double null
			Integer null
			ComplexType null
		 Outputs:
			RandomAccessibleInterval<ComplexType> output1 -> gaussKernelRAI
	)
	Aliases: [create.kernelGauss]
	
	> create(
		 Inputs:
			double[] null
			ComplexType null
		 Outputs:
			RandomAccessibleInterval<ComplexType> output1 -> logKernelRAI
	)
	Aliases: [create.kernelLog]
	
	> create(
		 Inputs:
			Double null
			Integer null
			ComplexType null
		 Outputs:
			RandomAccessibleInterval<ComplexType> output1 -> logKernelRAI
	)
	Aliases: [create.kernelLog]
	
	> create(
		 Inputs:
			ComplexType null
		 Outputs:
			RandomAccessibleInterval<ComplexType> output1 -> sobelKernelRAI
	)
	Aliases: [create.kernelSobel]
	
	> create(
		 Inputs:
			Type null
		 Outputs:
			Type output1 -> type
	)
	Aliases: [create.type]
	
	> create(
		 Inputs:
		 Outputs:
			BitType output1 -> output
	)
	Aliases: [create.bit]
	
	> create(
		 Inputs:
		 Outputs:
			ByteType output1 -> output
	)
	Aliases: [create.byte]
	
	> create(
		 Inputs:
		 Outputs:
			ComplexFloatType output1 -> output
	)
	Aliases: [create.cfloat32]
	
	> create(
		 Inputs:
		 Outputs:
			ComplexDoubleType output1 -> output
	)
	Aliases: [create.cfloat64]
	
	> create(
		 Inputs:
		 Outputs:
			FloatType output1 -> output
	)
	Aliases: [create.float32]
	
	> create(
		 Inputs:
		 Outputs:
			DoubleType output1 -> output
	)
	Aliases: [create.float64]
	
	> create(
		 Inputs:
		 Outputs:
			IntType output1 -> output
	)
	Aliases: [create.int32]
	
	> create(
		 Inputs:
		 Outputs:
			LongType output1 -> output
	)
	Aliases: [create.int64]
	
	> create(
		 Inputs:
		 Outputs:
			ShortType output1 -> output
	)
...

I expected an output like this:

	> create.Img
	> create.ImgFactory
	> create.ImgLabeling
	> create.ImgPlus
	> create.kernel
	> create.kernelDiffraction
	> create.kernelGabor
...

There are a few other namespaces that do this, which I think is okay if there are no sub methods (i.e. namespace.method) but it didn't make sense to me in the create namespace case.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions