lahammond / brainj Goto Github PK
View Code? Open in Web Editor NEWFiji pipeline for automated serial section reconstruction and mouse brain analysis.
License: MIT License
Fiji pipeline for automated serial section reconstruction and mouse brain analysis.
License: MIT License
Hello, I am rookie to image analysis field. I am trying to run Step 5 - atlas registration in BrainJ, but it seems doesn't work out, I am wondering if it's related with elastix installation. Can I use some help here? Thank you.
And I had errors in log like this:
Running elastix with parameter file 0: "C:/Users/jg4493/Downloads/BrainJ Atlases/ABA_CCF_25_2017//Registration_Parameters/MB49_Param_Affine.txt".
Current time: Thu Mar 17 12:03:44 2022.
Reading the elastix parameters from file ...
Installing all components.
InstallingComponents was successful.
ELASTIX version: 5.000
Command line options from ElastixBase:
-f C:/Users/jg4493/Downloads/50/3_Registered_Sections/DAPI_25.tif
-m C:/Users/jg4493/Downloads/BrainJ Atlases/ABA_CCF_25_2017/Template.tif
-fMask unspecified, so no fixed mask used
-mMask unspecified, so no moving mask used
-out C:\Users\jg4493\Downloads\50\5_Analysis_Output\Temp\Template_aligned
-p C:/Users/jg4493/Downloads/BrainJ Atlases/ABA_CCF_25_2017//Registration_Parameters/MB49_Param_Affine.txt
-p C:/Users/jg4493/Downloads/BrainJ Atlases/ABA_CCF_25_2017//Registration_Parameters/MB49_Param_BSpline.txt
-priority unspecified, so NORMAL process priority
-threads unspecified, so all available threads are used
Command line options from TransformBase:
-t0 unspecified, so no initial transform used
Reading images...
Reading images took 556 ms.
WARNING: the fixed pyramid schedule is not fully specified!
A default pyramid schedule is used.
WARNING: the moving pyramid schedule is not fully specified!
A default pyramid schedule is used.
WARNING: The parameter "AutomaticTransformInitializationMethod", requested at entry number 0, does not exist at all.
The default value "GeometricalCenter" is used instead.
Transform parameters are initialized as: [1, 0, 0, 0, 1, 0, 0, 0, 1, 112, 65.5, 251]
InitializeTransform took 0.00s
Scales are estimated automatically.
Scales for transform parameters are: [4600.25, 3006.5, 72.91666666666667, 4600.25, 3006.5, 72.91666666666667, 4600.25, 3006.5, 72.91666666666667, 1, 1, 1]
Initialization of all components (before registration) took: 5 ms.
Preparation of the image pyramids took: 3277 ms.
Resolution: 0
WARNING: The parameter "ShowExactMetricValue", requested at entry number 0, does not exist at all.
The default value "false" is used instead.
WARNING: The parameter "UseMultiThreadingForMetrics", requested at entry number 0, does not exist at all.
The default value "true" is used instead.
Setting the fixed masks took: 0 ms.
Setting the moving masks took: 0 ms.
WARNING: The parameter "NumberOfFixedHistogramBins", requested at entry number 0, does not exist at all.
The default value "32" is used instead.
WARNING: The parameter "NumberOfMovingHistogramBins", requested at entry number 0, does not exist at all.
The default value "32" is used instead.
WARNING: The parameter "FixedLimitRangeRatio", requested at entry number 0, does not exist at all.
The default value "0.01" is used instead.
WARNING: The parameter "MovingLimitRangeRatio", requested at entry number 0, does not exist at all.
The default value "0.01" is used instead.
WARNING: The parameter "FixedKernelBSplineOrder", requested at entry number 0, does not exist at all.
The default value "0" is used instead.
WARNING: The parameter "MovingKernelBSplineOrder", requested at entry number 0, does not exist at all.
The default value "3" is used instead.
WARNING: The parameter "UseFastAndLowMemoryVersion", requested at entry number 0, does not exist at all.
The default value "true" is used instead.
WARNING: The parameter "UseJacobianPreconditioning", requested at entry number 0, does not exist at all.
The default value "false" is used instead.
WARNING: The parameter "FiniteDifferenceDerivative", requested at entry number 0, does not exist at all.
The default value "false" is used instead.
WARNING: The parameter "SP_A", requested at entry number 0, does not exist at all.
The default value "20" is used instead.
WARNING: You have set MaximumNumberOfSamplingAttempts to 10.
This functionality is known to cause problems (stack overflow) for large values.
If elastix stops or segfaults for no obvious reason, reduce this value.
You may select the RandomSparseMask image sampler to fix mask-related problems.
WARNING: The parameter "SigmoidInitialTime", requested at entry number 0, does not exist at all.
The default value "0" is used instead.
WARNING: The parameter "MaxBandCovSize", requested at entry number 0, does not exist at all.
The default value "192" is used instead.
WARNING: The parameter "NumberOfBandStructureSamples", requested at entry number 0, does not exist at all.
The default value "10" is used instead.
WARNING: The parameter "UseAdaptiveStepSizes", requested at entry number 0, does not exist at all.
The default value "true" is used instead.
WARNING: The parameter "AutomaticParameterEstimation", requested at entry number 0, does not exist at all.
The default value "true" is used instead.
WARNING: The parameter "UseConstantStep", requested at entry number 0, does not exist at all.
The default value "false" is used instead.
WARNING: The parameter "MaximumStepLengthRatio", requested at entry number 0, does not exist at all.
The default value "1" is used instead.
WARNING: The parameter "MaximumStepLength", requested at entry number 0, does not exist at all.
The default value "1" is used instead.
WARNING: The parameter "NumberOfGradientMeasurements", requested at entry number 0, does not exist at all.
The default value "0" is used instead.
WARNING: The parameter "NumberOfJacobianMeasurements", requested at entry number 0, does not exist at all.
The default value "1000" is used instead.
WARNING: The parameter "NumberOfSamplesForExactGradient", requested at entry number 0, does not exist at all.
The default value "100000" is used instead.
WARNING: The parameter "SigmoidScaleFactor", requested at entry number 0, does not exist at all.
The default value "0.1" is used instead.
Elastix initialization of all components (for this resolution) took: 1 ms.
Computing the fixed image extrema took 1 ms.
Computing the moving image extrema took 63 ms.
Initialization of AdvancedMattesMutualInformation metric took: 3252 ms.
Starting automatic parameter estimation for AdaptiveStochasticGradientDescent ...
WARNING: The parameter "ASGDParameterEstimationMethod", requested at entry number 0, does not exist at all.
The default value "Original" is used instead.
Computing JacobianTerms ...
Computing the Jacobian terms took 0.001499s
NumberOfGradientMeasurements to estimate sigma_i: 3
Sampling gradients ...
Sampling the gradients took 0.297805s
Automatic parameter estimation took 0.30s
Hi there,
Thank you so much for developing this toolbox.
I am trying the use BrainJ to see the brain-wide projection.
But I encounter the problem of detecting slices from slide imaging. Is there a way to automatic detect and extract slices from slides?
Another issue is that the slide scanner we use does not automatically merge different channels into a tiff. If that's the case, should I merge them together, or does the overlay of different channels still work?
Looking forward to hearing from you!
In the current version, the background subtraction isn't actually working. I traced it back to the code and in line 105 of 2_Reformat_Sections, there's a lower case b in background instead of an uppercase so that value isn't actually being used by the code and no subtraction is occuring
When launching the registration step with only the registration ticked, the macro return the following error:
Is there something to update so I don't have this issue anymore, it seems to have problem opening the image
For my image I have my fluorescent dye on ch1 and my Nissl on ch2 and here is the setup file :
Parameter,Value
Directory:,C:\Users\gusseglio\Desktop\BrainJ Template\1.Examples
Reference section:,1
Peform Second Pass Reg?,1
Full resolution DAPI,1
Cell Resolution:,0
Cell Detection Type:,Machine Learning Segmentation with Ilastik
Cell Analysis 1:,2
Cell Analysis Cell SizeC1:,20
Maxima Int 1:,200
Cell Analysis 2:,0
Cell Analysis Cell SizeC2:,20
Maxima Int 2:,100
Cell Analysis 3:,0
Cell Analysis Cell SizeC3:,15
Maxima Int 3:,30
Cell Analysis BG Subtraction:,7
Cell Analysis US Mask:,0
Cell Analysis US Mask Weight:,0
Intensity Validation:,0
Projection Detection Type:,Machine Learning Segmentation with Ilastik
Projection Analysis 1:,1
Projection Analysis 2:,0
Projection Analysis 3:,0
Projection Min Intensity 1:,70
Projection Min Intensity 2:,70
Projection Min Intensity 3:,70
Projection ResolutionXY:,10
Projection Resolution Zsection:,25
Ilastik:,C:\Program Files\ilastik-1.3.3post3
Elastix:,C:\Program Files\Elastix5.0.0
Atlas Type:,25um template brain
Trim:,15
BrainJ Version:,97
Hi,
I'm having an issue with installation. After dragging BrainJ-1.0.1.jar into the plugins folder, and restarting Fiji, I get the following error:
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Module threw exception
at net.imagej.legacy.LegacyService.runLegacyCompatibleCommand(LegacyService.java:307)
at net.imagej.legacy.DefaultLegacyHooks.interceptRunPlugIn(DefaultLegacyHooks.java:166)
at ij.IJ.runPlugIn(IJ.java)
at ij.Executer.runCommand(Executer.java:150)
at ij.Executer.run(Executer.java:68)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Module threw exception
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at net.imagej.legacy.LegacyService.runLegacyCompatibleCommand(LegacyService.java:303)
... 5 more
Caused by: java.lang.RuntimeException: Module threw exception
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:63)
at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:225)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
... 1 more
Caused by: java.lang.NullPointerException
at org.scijava.ui.swing.widget.SwingNumberWidget.lambda$suitableFormat$0(SwingNumberWidget.java:344)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:479)
at java.util.stream.ReferencePipeline.max(ReferencePipeline.java:515)
at org.scijava.ui.swing.widget.SwingNumberWidget.suitableFormat(SwingNumberWidget.java:344)
at org.scijava.ui.swing.widget.SwingNumberWidget.set(SwingNumberWidget.java:127)
at org.scijava.ui.swing.widget.SwingNumberWidget.set(SwingNumberWidget.java:74)
at org.scijava.plugin.WrapperService.create(WrapperService.java:65)
at org.scijava.widget.AbstractInputHarvester.addInput(AbstractInputHarvester.java:110)
at org.scijava.widget.AbstractInputHarvester.buildPanel(AbstractInputHarvester.java:84)
at org.scijava.widget.InputHarvester.harvest(InputHarvester.java:67)
at org.scijava.ui.AbstractInputHarvesterPlugin.process(AbstractInputHarvesterPlugin.java:74)
at org.scijava.module.ModuleRunner.preProcess(ModuleRunner.java:102)
at org.scijava.module.ModuleRunner.run(ModuleRunner.java:152)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:124)
... 6 more
Hi! We're having some trouble quantifying auditory cortex neurons and their projections. BrainJ has been working great for the rostral parts of the brain, but the registration/alignment fails at caudal sections. Specifically, some sections appear to be rotated
following the step to reformat sections. I've tried messing with different values for the background intensity without any luck.
I attached the log from both the Reformat Sections and Registration and Atlas analysis step. Thanks!
hi, there some problems of the step of atlas registration .
the log file below:
itk::ExceptionObject (000000C44B15F380)
Location: "ElastixTemplate - Run()"
File: f:\x\src\elx\elastix\components\imagesamplers\randomcoordinate\elxRandomCoordinateSampler.hxx
Line: 113
Description: itk::ERROR: RandomCoordinateSampler(000002078096FE30): ERROR: in your parameter file you selected
SampleRegionSize[ 2 ] = 100 mm,
while the fixed image size at dim = 2 is 18 voxels or 18 mm.
Please select a smaller SampleRegionSize!
It is recommended to be not larger than 1/3 of the image size in mm.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.