m-weigand / ccd_tools Goto Github PK
View Code? Open in Web Editor NEWTime-lapse Cole-Cole decomposition routines
License: GNU General Public License v3.0
Time-lapse Cole-Cole decomposition routines
License: GNU General Public License v3.0
I think during the last restructuring of ccd_single, some (or all) plot functionality of ccd_time broke. This should be checked.
does it make sense to record some command line usage?
Currently the binder example produces garbled plots.
It would be nice to provide read-to-use jupyter examples, perhaps even using mybinder.
this prevents errors caused by outdated geccoinv versions
Hi!
I was successfully using your in my previous research based in python 3.6.
Recently I had to update to 3.7 since the main circuit simulator required this. When I tried to install your package via pip I get the following:
ERROR: Cannot install ccd-tools==0.8.10, ccd-tools==0.8.11, ccd-tools==0.8.12, ccd-tools==0.8.14, ccd-tools==0.8.15, ccd-tools==0.8.16, ccd-tools==0.8.17, ccd-tools==0.8.4, ccd-tools==0.8.5, ccd-tools==0.8.6, ccd-tools==0.8.7, ccd-tools==0.8.8 and ccd-tools==0.8.9 because these package versions have conflicting dependencies.
The conflict is caused by:
ccd-tools 0.8.17 depends on sip-models
ccd-tools 0.8.16 depends on sip-models
ccd-tools 0.8.15 depends on sip_models
ccd-tools 0.8.14 depends on sip_models
ccd-tools 0.8.12 depends on sip_models
ccd-tools 0.8.11 depends on sip_models
ccd-tools 0.8.10 depends on sip_models
ccd-tools 0.8.9 depends on sip_models
ccd-tools 0.8.8 depends on sip_models
ccd-tools 0.8.7 depends on sip_models
ccd-tools 0.8.6 depends on sip_models
ccd-tools 0.8.5 depends on sip_models
ccd-tools 0.8.4 depends on sip_models
To fix this you could try to:
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
Upon viewing your setup.py file I suspect that you last version works in 3.6 and not in 3.7.
Any chance of an update?
Cheers!
We need a few detailed examples on the homepage.
I'm using your tools in an EIS environment and your DRFT plotter is perfect. Sadly there seems to be an issue when using the latest version of Numpy (18.0) and Python 3.6.
Error:
File "C:\Anaconda3\envs\py36\lib\site-packages\numpy\core\function_base.py", line 117, in linspace
num = operator.index(num)
TypeError: 'numpy.float64' object cannot be interpreted as an integer
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Cloud\PyCode\EIS_2\run.py", line 153, in
ccd_obj.fit_data()
File "C:\Anaconda3\envs\py36\lib\site-packages\lib_dd\decomposition\ccd_single.py", line 42, in fit_data
results = list(map(decomp_single_sl.fit_one_spectrum, fit_datas))
File "C:\Anaconda3\envs\py36\lib\site-packages\lib_dd\decomposition\ccd_single_stateless.py", line 159, in fit_one_spectrum
ND = _prepare_ND_object(fit_data)
File "C:\Anaconda3\envs\py36\lib\site-packages\lib_dd\decomposition\ccd_single_stateless.py", line 96, in _prepare_ND_object
model = ccd_res.decomposition_resistivity(fit_data['inv_opts'])
File "C:\Anaconda3\envs\py36\lib\site-packages\lib_dd\models\ccd_res.py", line 31, in init
self.set_settings(settings)
File "C:\Anaconda3\envs\py36\lib\site-packages\lib_dd\models\ccd_res.py", line 50, in set_settings
settings
File "C:\Anaconda3\envs\py36\lib\site-packages\lib_dd\base_class.py", line 79, in determine_tau_range
factor_right=factor_right)
File "C:\Anaconda3\envs\py36\lib\site-packages\lib_dd\base_class.py", line 121, in get_tau_values_for_data
g_tau = np.logspace(np.log10(g_tau_fmin), np.log10(g_tau_fmax), N)
File "<array_function internals>", line 6, in logspace
File "C:\Anaconda3\envs\py36\lib\site-packages\numpy\core\function_base.py", line 272, in logspace
y = linspace(start, stop, num=num, endpoint=endpoint, axis=axis)
File "<array_function internals>", line 6, in linspace
File "C:\Anaconda3\envs\py36\lib\site-packages\numpy\core\function_base.py", line 121, in linspace
.format(type(num)))
TypeError: object of type <class 'numpy.float64'> cannot be safely interpreted as an integer.
For replication:
data
Out[2]:
array([111.5240459 , 111.27922201, 110.89255334, 110.28070184,
109.31029894, 107.76799022, 105.31651814, 101.44401546,
95.45213796, 86.61517417, 74.69325881, 60.64844596,
46.6560329 , 34.85849103, 26.157732 , 20.27772108,
16.48595453, 14.0900904 , 12.58484767, 11.63704805,
11.03784258, 10.65836886, -0.56018419, -0.87687646,
-1.36883975, -2.12754477, -3.28406441, -5.01405951,
-7.52322821, -10.9805576 , -15.34865668, -20.09620679,
-23.99015799, -25.48622686, -23.86026477, -19.89417354,
-15.13940556, -10.80141968, -7.38468767, -4.91328416,
-3.21486398, -2.08293414, -1.34115994, -0.85980969])
frequencies
Out[3]:
array([1.00000000e-02, 2.15443469e-02, 4.64158883e-02, 1.00000000e-01,
2.15443469e-01, 4.64158883e-01, 1.00000000e+00, 2.15443469e+00,
4.64158883e+00, 1.00000000e+01, 2.15443469e+01, 4.64158883e+01,
1.00000000e+02, 2.15443469e+02, 4.64158883e+02, 1.00000000e+03,
2.15443469e+03, 4.64158883e+03, 1.00000000e+04, 2.15443469e+04,
4.64158883e+04, 1.00000000e+05])
data = np.array(tmp)
frequencies = algi.bData['f_real']
config = cfg_single.cfg_single()
config['frequency_file'] = frequencies
config['data_file'] = data
config['fixed_lambda'] = 10
config['data_format'] = "rre_rim"
ccd_obj = ccd_single.ccd_single(config)
ccd_obj.fit_data()
last_it = ccd_obj.results[0].iterations[-1]
print(dir(last_it))
print('fit parameters', last_it.m)
print('stat_pars', last_it.stat_pars)
last_it.plot()
plt.figure()
ts = last_it.Data.obj.tau
dft = last_it.stat_pars['m_i'][0]
plt.plot(ts,dft)
Reverting to Numpy 1.17.4 solves the problems but this is probably not a good long term solution.
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.