-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Single pulse extraction improvement #164
Merged
Merged
Changes from 91 commits
Commits
Show all changes
102 commits
Select commit
Hold shift + click to select a range
8b12345
initial commit: Calculate the Statistics of Pixel Arrays
jebuss 2b8bdf6
write residual timeline to data item
jebuss 879dcb2
implemented based on processor time row features. Deleted anything no…
jebuss 9147e21
renamed time row features to time series features
jebuss 4365c3e
changed lying documentation
jebuss d53d235
Merge remote-tracking branch 'origin/master' into singlePulseExtracti…
jebuss 7427bba
make applyAcCoupling have double[] return value
jebuss 8b4168e
add tests for ApplyAcCoupling
jebuss 3be48d9
Revert "make applyAcCoupling have double[] return value"
jebuss 9ad81c0
make it work with void function
jebuss e70b581
bugfix: apllyAcCoupling also at beginning of singlePeExtraction
jebuss 0b05075
bugfix: elementwise add to timeline in place
jebuss 48852bf
add .project
jebuss 543338e
Revert "bugfix: elementwise add to timeline in place"
jebuss 523d434
Revert "bugfix: apllyAcCoupling also at beginning of singlePeExtraction"
jebuss ef23565
Revert "make it work with void function"
jebuss bcde975
Revert "Revert "make applyAcCoupling have double[] return value""
jebuss 6f6bd15
Revert "make applyAcCoupling have double[] return value"
jebuss a1ed9c2
Revert "Revert "make it work with void function""
jebuss dbfd7e3
uncomment application of ac coupling since this is cousing artefacts
jebuss 0938a42
use primitive arrays instead of ArrayList
jebuss f27e424
use primitive arrays instead of ArrayList
jebuss 2e7ae12
use primitive arrays instead of ArrayList
jebuss 93c5ad2
uncomment fixed ac coupling application, since this is still producin…
jebuss 490e602
delete obsolete function
jebuss 199c16e
delete getter functions
jebuss 9ec89bb
initial commit: process to reconstruct TS from SPE
jebuss d74a78d
use multi dim arrays instead of array lists
jebuss fb25cf0
the negative template pulse for subtraction does not need to be initi…
5da7cfc
Instead of an subtraction of the mean, we now only subtract the minim…
9118ee8
need to test the global subtraction of minimum on a timeseries
c2d7414
rename to negative pulse, and move creation of negative pulse out of …
bb646f3
fix sub's'traction typo
eebbe99
introduce a local, sliding baseline estimator
311dfcf
acCoupling is obsolete
ce0e202
add functiom to convert from normalized singlePulse to millivolt
jebuss 8d591c1
convert reconstructed pulse from normalized to mV
jebuss 797e469
this was inteded to be 20 not 25. Even in the comment above it says 2…
1244313
Use a different method to compensate baseline floating. Now the mean …
bf453aa
the extraction oreder of the pulses changed. The amplitude (number co…
74fe6c8
removed obsolete subtraction function
079d0f8
convert puls amplitudes to milli Volt amplitudes to reassamble the re…
e6ea30f
use primitive int array for input instead of array list and renamed p…
jebuss 92603eb
delete unused imports
jebuss 775459a
Revert "add functiom to convert from normalized singlePulse to milliv…
jebuss 7a7fb5b
Revert "convert reconstructed pulse from normalized to mV"
jebuss bfdb89a
Merge branch 'singlePulseExtractionImprovement' of https://github.com…
e9dbe77
Rename call of processor from TimerowFeatures to TimeseriesFeatures
132482d
add fixme comment
jebuss 451e674
50 pulses is to few for the example data provided in fact-tools, bett…
4ee9d4c
Merge branch 'singlePulseExtractionImprovement' of https://github.com…
jebuss 2e4ea3e
Merge branch 'singlePulseExtractionImprovement' of https://github.com…
jebuss bcfa178
the plateau length is just 0-offsetslices.
7d0b7ac
hide the tedious for loops for the elementwise operations on the arra…
8bb76f5
a new API with no more static and global members
fa56dd9
single line is fine now
eeb77f5
remove the cumbersome amplitude conversion function (mV <-> p.e) of t…
5cd2981
move the Config class for the single pulse extractor into the SingleP…
9845a5c
less noise
a970510
use function names instead of comments to structure the constructor
3aeac06
New API with SinglePulseExtractor.Result class used as return value c…
c9bb80f
store and apply the reconstructed baseline of the single pulse extractor
a2b922c
reuse existing mean calculation
18a0a0c
movingAverage array only taken from data item if a valid movingAverag…
jebuss 1479527
rename all 'timeLine' to 'timeSeries', as 'timeSeries' is the more co…
4c6fc22
more consistent naming
55b5445
use propper camel case
eef8f86
delete unused imports
jebuss 788ad7d
delete redundant cast
jebuss c569091
delete getter
jebuss 41db6da
delete unused imports
jebuss 55385b6
delete redundant datatype definition in declaration of ArrayList
jebuss 6be43f7
move flatten to Utils
jebuss f9a7fee
refactor flatten function name
jebuss 68a84b7
delete unused imports
jebuss 8c19ef7
add autor
jebuss c01f130
move to java 8
jebuss ba98838
replace by array falltening from java 8
jebuss 0143c86
rename function
jebuss b8ef882
add unit test for empty array
jebuss 7c00b64
rename variable
jebuss 07458c8
add documentation
jebuss 1857b3c
drop java7 support
jebuss ff9bcdb
Merge pull request #160 from fact-project/NonStaticAPIforSinglePulseE…
c2443a7
example process for the a stad analysis with the single pe reconstruc…
jebuss a99c4d2
use java8 methods to walk recursively through examples/studies
jebuss f904dbd
example process for the a std analysis with the single pe reconstruction
jebuss ef80a06
minimal example for a process with the singlePeExttactor
jebuss 3612282
deleted unecessary stuff
jebuss 1c39808
Update pom.xml
373ebae
Update CHANGELOG.md
5f33ea6
delete unsed import
jebuss f381ee7
add me to creators
jebuss 2d134d9
make maxIterations not required
jebuss 47faa2a
add maxIterations default value
jebuss 3a67ef9
add maxIterations key to data item
jebuss ad63a81
delete unsed import
jebuss 9a66be7
Merge branch 'singlePulseExtractionImprovement' of https://github.com…
jebuss 7661b1b
Update viewer.xml
jebuss b00cc13
Update singlePeMinimalExample.xml
jebuss 3cf0c12
Update std_analysis_on_reconstructed_data.xml
jebuss cf6e30b
Update CHANGELOG.md
jebuss File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,6 +13,7 @@ docs.idx | |
|
||
#intellij stuff | ||
.idea/ | ||
.project | ||
|
||
out/ | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,6 @@ language: java | |
sudo: false | ||
script: mvn clean verify | ||
jdk: | ||
- openjdk7 | ||
- oraclejdk8 | ||
|
||
after_script: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
57 changes: 57 additions & 0 deletions
57
examples/studies/singlePeExtractor/singlePeMinimalExample.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
<container> | ||
|
||
<properties url="classpath:/default/settings.properties" /> | ||
|
||
<property name="infile" value="file:src/main/resources/testDataFile.fits.gz" /> | ||
<property name="drsfile" value="file:src/main/resources/testDrsFile.drs.fits.gz" /> | ||
|
||
<property name="integralGainFile" value="classpath:/default/gain_sorted_20131127.csv" /> | ||
<property name="pixelDelayFile" value="classpath:/default/delays_lightpulser_20150217.csv" /> | ||
|
||
<property name="output" value="file:testoutfile.json" /> | ||
|
||
<property name="auxFolder" value="file:src/main/resources/aux/" /> | ||
<service id="auxService" class="fact.auxservice.AuxFileService" auxFolder="${auxFolder}" /> | ||
|
||
<service id="calibService" class="fact.calibrationservice.ConstantCalibService" /> | ||
|
||
<!--In case you want to analyze .zfits files.--> | ||
<!-- <stream id="fact" class="fact.io.zfits.ZFitsStream" url="${infile}"/> --> | ||
|
||
<stream id="fact" class="fact.io.FitsStream" url="${infile}"/> | ||
|
||
<process id="2" input="fact"> | ||
<!-- prevEventAndSkip: --> | ||
<!-- PreviousEventInfo, Skip(no Data Trigger) --> | ||
<include url="classpath:/default/data/prevEventAndSkip.xml" /> | ||
<!-- Output: Data --> | ||
|
||
<!-- Calibration: --> | ||
<!-- DrsCalibration, PatchJumpRemoval, RemoveSpikes, | ||
DrsTimeCalibration, ArrayTimeCorrection, InterpolateBadPixel --> | ||
<include url="classpath:/default/data/calibration.xml" /> | ||
<!-- Output: DataCalibrated --> | ||
|
||
<!-- Single Pe Extraction --> | ||
<fact.extraction.SinglePulseExtraction | ||
dataKey="DataCalibrated" | ||
outputKey="PhotonArrivals" | ||
maxIterations="4000" | ||
/> | ||
|
||
<!-- Data Time Series Reconstruction from Single Pe Data --> | ||
<fact.utils.ConvertSinglePulses2Timeseries | ||
singlePulsesKey="PhotonArrivals" | ||
baseLineKey="PhotonArrivalsBaseLine" | ||
timeSeriesKey="DataReconstructed" | ||
/> | ||
|
||
<!--<fact.ShowViewer key="DataCalibrated" />--> | ||
|
||
<!--<fact.io.JSONWriter keys="${keysForOutput}"--> | ||
<!--url="${output}"--> | ||
<!--writeListOfItems="True"--> | ||
<!--pixelSetsAsInt="True"--> | ||
<!--/>--> | ||
</process> | ||
</container> |
84 changes: 84 additions & 0 deletions
84
examples/studies/singlePeExtractor/std_analysis_on_reconstructed_data.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
<container> | ||
|
||
<properties url="classpath:/default/settings.properties" /> | ||
|
||
<property name="infile" value="file:src/main/resources/testDataFile.fits.gz" /> | ||
<property name="drsfile" value="file:src/main/resources/testDrsFile.drs.fits.gz" /> | ||
|
||
<property name="integralGainFile" value="classpath:/default/gain_sorted_20131127.csv" /> | ||
<property name="pixelDelayFile" value="classpath:/default/delays_lightpulser_20150217.csv" /> | ||
|
||
<property name="output" value="file:testoutfile.json" /> | ||
|
||
<property name="auxFolder" value="file:src/main/resources/aux/" /> | ||
<service id="auxService" class="fact.auxservice.AuxFileService" auxFolder="${auxFolder}" /> | ||
|
||
<service id="calibService" class="fact.calibrationservice.ConstantCalibService" /> | ||
|
||
<!--In case you want to analyze .zfits files.--> | ||
<!-- <stream id="fact" class="fact.io.zfits.ZFitsStream" url="${infile}"/> --> | ||
|
||
<stream id="fact" class="fact.io.FitsStream" url="${infile}"/> | ||
|
||
<process id="2" input="fact"> | ||
<!-- prevEventAndSkip: --> | ||
<!-- PreviousEventInfo, Skip(no Data Trigger) --> | ||
<include url="classpath:/default/data/prevEventAndSkip.xml" /> | ||
<!-- Output: Data --> | ||
|
||
<!-- Calibration: --> | ||
<!-- DrsCalibration, PatchJumpRemoval, RemoveSpikes, | ||
DrsTimeCalibration, ArrayTimeCorrection, InterpolateBadPixel --> | ||
<include url="classpath:/default/data/calibration.xml" /> | ||
<!-- Output: DataCalibrated --> | ||
|
||
<!-- Single Pe Extraction --> | ||
<fact.extraction.SinglePulseExtraction | ||
dataKey="DataCalibrated" | ||
outputKey="PhotonArrivals" | ||
maxIterations="4000" | ||
/> | ||
|
||
<!-- Data Time Series Reconstruction from Single Pe Data --> | ||
<fact.utils.ConvertSinglePulses2Timeseries | ||
singlePulsesKey="PhotonArrivals" | ||
baseLineKey="PhotonArrivalsBaseLine" | ||
timeSeriesKey="DataCalibrated" | ||
/> | ||
|
||
|
||
<!-- Extraction --> | ||
<!-- BasicExtraction, RisingEdgeForPositions, RisingEdgePolynomFit, TimeOverThreshold, | ||
PhotonChargeTimeOverThreshold, HandleSaturation, CorrectPixelDelays--> | ||
<include url="classpath:/default/data/extraction.xml" /> | ||
<!-- Output: photoncharge, arrivalTime --> | ||
|
||
<!-- Cleaning --> | ||
<!-- SourcePosition(Cetatauri), CoreNeighborCleanTimeNeighbor--> | ||
<include url="classpath:/default/data/cleaning.xml" /> | ||
<!-- Output: shower --> | ||
|
||
<!-- Parameter calculation (only source independent) --> | ||
<!-- ArrayMean(photoncharge,arrivalTime), ArrayStatistics(photoncharge,arrivalTime,maxSlopes, | ||
arrivalTimePos,maxSlopesPos,maxAmplitudePosition,photonchargeSaturated,arrivalTimeTOT), | ||
Size, DistributionFromShower, M3Long, Length, Width, NumberOfIslands, TimeGraident, | ||
Concentration, ConcentrationCore, ConcentrationAtCenterOfGravity, Leakage, TimeSpread, | ||
ShowerSlope, Disp --> | ||
<include url="classpath:/default/data/parameterCalc.xml" /> | ||
<!-- Output: source independent parameters --> | ||
|
||
<!-- Parameter calculation (only source dependent) --> | ||
<!-- SourcePosition(${sourcename}), AntiSourcePosition(5), Alpha(for 6 Sources), | ||
Distance(for 6 Sources), CosDeltaAlpha(for 6 Sources), Theta(for 6 Sources) --> | ||
<include url="classpath:/default/data/sourceParameter.xml" /> | ||
<!-- Output: source dependent parameters --> | ||
|
||
<!--<fact.ShowViewer key="DataCalibrated" />--> | ||
|
||
<fact.io.JSONWriter keys="${keysForOutput}" | ||
url="${output}" | ||
writeListOfItems="True" | ||
pixelSetsAsInt="True" | ||
/> | ||
</process> | ||
</container> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No sure we need an extra function for this. The one line you wrote here is pretty nice and already right? Maybe it can be used directly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We decided to keep this for now.